Awesome FastAPI |
A curated list of awesome things related to FastAPI.
FastAPI is a modern,
high-performance, batteries-included Python web framework that’s perfect
for building RESTful APIs.
Contents
Third-Party Extensions
Admin
-
FastAPI Admin
- Functional admin panel that provides a user interface for performing
CRUD operations on your data.
Auth
Databases
ORMs
-
FastAPI SQLAlchemy
- Simple integration between FastAPI and
SQLAlchemy.
-
FastAPIwee - A
simple way to create REST API based on
PeeWee models.
-
GINO - A lightweight
asynchronous ORM built on top of SQLAlchemy core for Python asyncio.
- ORM - An async ORM.
-
ormar - Ormar is an
async ORM that uses Pydantic validation and can be used directly in
FastAPI requests and responses so you are left with only one set of
models to maintain. Alembic migrations included.
-
Piccolo - An async
ORM and query builder, supporting Postgres and SQLite, with batteries
(migrations, security, etc).
-
Tortoise ORM
- An easy-to-use asyncio ORM (Object Relational Mapper) inspired by
Django.
-
SQLModel - SQLModel (which
is powered by Pydantic and SQLAlchemy) is a library for interacting with
SQL databases from Python code, with Python objects.
Query Builders
ODMs
-
Beanie -
Asynchronous Python ODM for MongoDB, based on
Motor and
Pydantic, which
supports data and schema migrations out of the box.
-
MongoEngine - A Document-Object
Mapper (think ORM, but for document databases) for working with MongoDB
from Python.
-
Motor - Asynchronous Python
driver for MongoDB.
-
ODMantic - AsyncIO
MongoDB ODM integrated with
Pydantic.
Email
-
FastAPI Mail -
Lightweight mail system for sending emails and attachments (individual
and bulk).
Utils
-
FastAPI Cache
- A simple lightweight cache system.
-
FastAPI Chameleon
- Adds integration of the Chameleon template language to FastAPI.
-
FastAPI Contrib
- Opinionated set of utilities: pagination, auth middleware,
permissions, custom exception handlers, MongoDB support, and Opentracing
middleware.
-
FastAPI CRUDRouter
- A FastAPI router that automatically creates and documents CRUD routes
for your models.
-
FastAPI Jinja
- Adds integration of the Jinja template language to FastAPI.
-
FastAPI Limiter
- A request rate limiter for FastAPI.
-
FastAPI MQTT - An
extension for the MQTT protocol.
-
FastAPI Pagination
- Pagination for FastAPI.
-
FastAPI Plugins
- Redis and Scheduler plugins.
-
FastAPI ServiceUtils
- Generator for creating API services.
-
FastAPI SocketIO
- Easy integration for FastAPI and SocketIO.
-
FastAPI Utilities
- Reusable utilities: class-based views, response inferring router,
periodic tasks, timing middleware, SQLAlchemy session, OpenAPI spec
simplification.
-
FastAPI Websocket Pub/Sub
- The classic pub/sub pattern made easily accessible and scalable over
the web and across your cloud in realtime.
-
FastAPI Websocket RPC
- RPC (bidirectional JSON RPC) over Websockets made easy, robust, and
production ready.
-
OpenTelemetry FastAPI Instrumentation
- Library provides automatic and manual instrumentation of FastAPI web
frameworks, instrumenting http requests served by applications utilizing
the framework.
-
Prerender Python Starlette
- Starlette middleware for Prerender.
-
Prometheus FastAPI Instrumentator
- A configurable and modular Prometheus Instrumentator for your FastAPI
application.
-
SlowApi - Rate limiter
(based on
Flask-Limiter).
-
Starlette Context
- Allows you to store and access the request data anywhere in your
project, useful for logging.
-
Starlette Exporter
- One more prometheus integration for FastAPI and Starlette.
-
Starlette OpenTracing
- Opentracing support for Starlette and FastAPI.
-
Starlette Prometheus
- Prometheus integration for FastAPI and Starlette.
Resources
Official Resources
-
Documentation -
Comprehensive documentation.
-
Tutorial - Official
tutorial showing you how to use FastAPI with most of its features, step
by step.
-
Source Code - Hosted
on GitHub.
-
Gitter Chat - Chat with
other FastAPI users.
External Resources
-
TestDriven.io FastAPI
- Multiple FastAPI-specific articles that focus on developing and
testing production-ready RESTful APIs, serving up machine learning
models, and more.
Podcasts
Articles
Tutorials
Talks
Videos
Courses
Hosting
PaaS
(Platforms-as-a-Service)
IaaS
(Infrastructure-as-a-Service)
Serverless
Frameworks:
Compute:
Projects
Boilerplate
-
Full Stack FastAPI and PostgreSQL - Base Project Generator
- Full stack, modern web application generator, which includes FastAPI,
PostgreSQL, Docker, Celery, Vue frontend, automatic HTTPS and more
(developed by the creator of FastAPI,
Sebastián Ramírez).
-
FastAPI and Tortoise ORM
- Powerful but simple template for web APIs w/ FastAPI (as web
framework) and Tortoise-ORM (for working via database without headache).
-
FastAPI Model Server Skeleton
- Skeleton app to serve machine learning models production-ready.
-
cookiecutter-spacy-fastapi
- Quick deployments of spaCy models with FastAPI.
-
cookiecutter-fastapi
- Cookiecutter template for FastAPI projects using: Machine Learning,
Poetry, Azure Pipelines and pytest.
-
openapi-python-client
- Generate modern FastAPI Python clients (via FastAPI) from OpenAPI.
-
Pywork -
Yeoman generator to scaffold a FastAPI
app.
-
uvicorn-gunicorn-fastapi-docker
- Docker image with Uvicorn managed by Gunicorn for high-performance
FastAPI web applications in Python 3.7 and 3.6 with performance
auto-tuning.
-
fastapi-gino-arq-uvicorn
- Tempate for a high-performance async REST API, in Python. FastAPI +
GINO + Arq + Uvicorn (w/ Redis and PostgreSQL).
-
FastAPI and React Template
- Full stack cookiecutter boilerplate using FastAPI, TypeScript, Docker,
PostgreSQL, and React.
-
FastAPI Nano -
Simple FastAPI template with factory pattern architecture.
-
inboard - Docker
images to power your FastAPI apps and help you ship faster.
Open Source Projects
Please support this open source project by checking out our sponsors: