Fire up your models with the flame 🔥
Fire up your models with the flame 🔥
Flama is a python library which establishes a standard framework for development and deployment of APIs with special focus on machine learning (ML). The main aim of the framework is to make ridiculously simple the deployment of ML APIs, simplifying (when possible) the entire process to a single line of code.
The library builds on Starlette, and provides an easy-to-learn philosophy to speed up the building of highly performant GraphQL, REST and ML APIs. Besides, it comprises an ideal solution for the development of asynchronous and production-ready services, offering automatic deployment for ML models.
Some remarkable characteristics:
Component
s.
Flama ASGI objects like Request
, Response
, Session
and so on are defined as Component
s ready to be injected in
your endpoints.Component
s as the base of the plugin ecosystem, allowing you to create custom or use those already defined in your
endpoints, injected as parameters.docs
, and provides a Swagger UI and ReDoc endpoints.limit-offset
and page numbering
,
to name a few.Flama is fully compatible with all supported versions of Python. We recommend you to use the latest version available.
For a detailed explanation on how to install flama visit: https://flama.dev/docs/getting-started/installation.
Visit https://flama.dev/docs/getting-started/quickstart to get started with Flama.
Visit https://flama.dev/docs/ to view the full documentation.
from flama import Flama
app = Flama(
title="Hello-🔥",
version="1.0",
description="My first API",
)
@app.route("/")
def home():
"""
tags:
- Salute
summary:
Returns a warming message
description:
This is a more detailed description of the method itself.
Here we can give all the details required and they will appear
automatically in the auto-generated docs.
responses:
200:
description: Warming hello message!
"""
return {"message": "Hello 🔥"}
This example will build and run a Hello 🔥
API. To run it:
flama run examples.hello_flama:app
This project is absolutely open to contributions so if you have a nice idea, please read our contributing docs before submitting a pull request.