awesome-fastapi
by mjhea0
A curated list of awesome things related to FastAPI
AI summary
API toolkit
A curated collection of tools and resources for building FastAPI applications
- stars
- 8.8K
- forks
- 673
- watching
- 171
- awesome lists
- 4
- entries
- 185
What's in the list
185 links in 34 sections, with live GitHub stats.activeno commit in 2y
Third-Party Extensions / Admin
FastAPI Admin
Functional admin panel that provides a user interface for performing CRUD operations on your data. Currently only works with the Tortoise ORM
FastAPI Amis Admin
A high-performance, efficient and easily extensible FastAPI admin framework
Piccolo Admin
A powerful and modern admin GUI, using the Piccolo ORM
SQLAlchemy Admin
Admin Panel for FastAPI/Starlette that works with SQLAlchemy models
Starlette Admin
Admin framework for FastAPI/Starlette, supporting SQLAlchemy, SQLModel, MongoDB, and ODMantic
Third-Party Extensions / Auth
AuthX
Customizable Authentications and Oauth2 management for FastAPI
FastAPI Auth
Pluggable auth that supports the OAuth2 Password Flow with JWT access and refresh tokens
FastAPI Azure Auth
Azure AD authentication for your APIs with single and multi tenant support
FastAPI Cloud Auth
Simple integration between FastAPI and cloud authentication services (AWS Cognito, Auth0, Firebase Authentication)
FastAPI Login
Account management and authentication (based on )
FastAPI JWT Auth
JWT auth (based on )
FastAPI Permissions
Row-level permissions
FastAPI Security
Implements authentication and authorization as dependencies in FastAPI
FastAPI Simple Security
Out-of-the-box API key security manageable through path operations
FastAPI Users
Account management, authentication, authorization
Third-Party Extensions / Databases
Edgy ORM
Complex databases made simple
FastAPI SQLAlchemy
Simple integration between FastAPI and
Fastapi-SQLA
SQLAlchemy extension for FastAPI with support for pagination, asyncio, and pytest
FastAPIwee
A simple way to create REST API based on models
GINO
A lightweight asynchronous ORM built on top of SQLAlchemy core for Python asyncio
Third-Party Extensions / Databases / GINO
Third-Party Extensions / Databases
Third-Party Extensions / Databases / ormar
- FastAPI Example
Using FastAPI with ormar
Third-Party Extensions / Databases
Piccolo
An async ORM and query builder, supporting Postgres and SQLite, with batteries (migrations, security, etc)
Third-Party Extensions / Databases / Piccolo
FastAPI Examples
Using FastAPI with Piccolo
Third-Party Extensions / Databases
Prisma Client Python
An auto-generated, fully type safe ORM powered by Pydantic and tailored specifically for your schema - supports SQLite, PostgreSQL, MySQL, MongoDB, MariaDB and more
Third-Party Extensions / Databases / Prisma Client Python
Third-Party Extensions / Databases
- Tortoise ORM
An easy-to-use asyncio ORM (Object Relational Mapper) inspired by Django
Third-Party Extensions / Databases / Tortoise ORM
- FastAPI Example
An example of the Tortoise-ORM FastAPI integration
Aerich
Tortoise ORM migrations tools
Third-Party Extensions / Databases
Saffier ORM
The only Python ORM you will ever need
- SQLModel
SQLModel (which is powered by Pydantic and SQLAlchemy) is a library for interacting with SQL databases from Python code, with Python objects
asyncpgsa
A wrapper around for use with
Databases
Async SQL query builder that works on top of the expression language
Beanie
Asynchronous Python ODM for MongoDB, based on and , 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
PynamoDB
A pythonic interface to Amazon's DynamoDB
Pydantic-SQLAlchemy
Convert SQLAlchemy models to models
- FastAPI-CamelCase
CamelCase JSON support for FastAPI utilizing
Third-Party Extensions / Databases / FastAPI-CamelCase
- CamelCase Models with FastAPI and Pydantic
Accompanying blog post from the author of the extension
Third-Party Extensions / Developer Tools
FastAPI Code Generator
Create a FastAPI app from an OpenAPI file, enabling schema-driven development
FastAPI Client Generator
Generate a mypy- and IDE-friendly API client from an OpenAPI spec
FastAPI Cruddy Framework
A companion library to FastAPI designed to bring the development productivity of Ruby on Rails, Ember.js or Sails.js to the FastAPI ecosystem
FastAPI MVC
Developer productivity tool for making high-quality FastAPI production-ready APIs
FastAPI Profiler
A FastAPI Middleware of joerick/pyinstrument to check your service performance
FastAPI Versioning
API versioning
Jupyter Notebook REST API
Run your Jupyter notebooks as RESTful API endpoints
Manage FastAPI
CLI tool for generating and managing FastAPI projects
msgpack-asgi
Automatic content negotiation
Third-Party Extensions / Email
FastAPI Mail
Lightweight mail system for sending emails and attachments (individual and bulk)
Third-Party Extensions / Utils
ASGI Correlation ID
Request ID logging middleware
FastAPI Cache
A simple lightweight cache system
FastAPI Cache
A tool to cache FastAPI response and function results, with support for Redis, Memcached, DynamoDB, and in-memory backends
FastAPI Chameleon
Adds integration of the Chameleon template language to FastAPI
FastAPI CloudEvents
integration for 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 Events
Asynchronous event dispatching/handling library for FastAPI and Starlette
FastAPI FeatureFlags
Simple implementation of feature flags for FastAPI
FastAPI Jinja
Adds integration of the Jinja template language to FastAPI
FastAPI Lazy
Lazy package to start your project using FastAPI
FastAPI Limiter
A request rate limiter for FastAPI
FastAPI MQTT
An extension for the MQTT protocol
FastAPI Opentracing
Opentracing middleware and database tracing support for FastAPI
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
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 )
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
Strawberry GraphQL
Python GraphQL library based on dataclasses
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
- Discord
Chat with other FastAPI users
Resources / 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
Resources / Podcasts
- Build The Next Generation Of Python Web Applications With FastAPI
In this episode of , the creator of FastAPI, , shares his motivations for building FastAPI and how it works under the hood
- FastAPI on PythonBytes
Nice overview of the project
Resources / Articles
- Why we switched from Flask to FastAPI for production machine learning
In-depth look at why you may want to move from Flask to FastAPI
Resources / Tutorials
- Async SQLAlchemy with FastAPI
Learn how to use SQLAlchemy asynchronously
- Build and Secure an API in Python with FastAPI
Secure and maintain an API based on FastAPI and SQLAlchemy
- Deploy a Dockerized FastAPI App to Google Cloud Platform
A short guide to deploying a Dockerized Python app to Google Cloud Platform using Cloud Run and a SQL instance
- Deploying Iris Classifications with FastAPI and Docker
Dockerizing a FastAPI application
- Developing and Testing an Asynchronous API with FastAPI and Pytest
Develop and test an asynchronous API with FastAPI, Postgres, Pytest, and Docker using Test-Driven Development
- FastAPI for Flask Users
Learn FastAPI with a side-by-side code comparison to Flask
- Getting started with GraphQL in Python with FastAPI and Ariadne
Generate a FullStack playground using FastAPI, GraphQL and Ariadne
- Implementing FastAPI Services – Abstraction and Separation of Concerns
FastAPI application and service structure for a more maintainable codebase
- Introducing FARM Stack - FastAPI, React, and MongoDB
Getting started with a complete FastAPI web application stack
- Multitenancy with FastAPI, SQLAlchemy and PostgreSQL
Learn how to make FastAPI applications multi-tenant ready
- Porting Flask to FastAPI for ML Model Serving
Comparison of Flask vs FastAPI
- Real-time data streaming using FastAPI and WebSockets
Learn how to stream data from FastAPI directly into a real-time chart
- Running FastAPI applications in production
Use Gunicorn with systemd for production deployments
- Serving Machine Learning Models with FastAPI in Python
Use FastAPI to quickly and easily deploy and serve machine learning models in Python as a RESTful API
- Streaming video with FastAPI
Learn how to serve video streams
- Using Hypothesis and Schemathesis to Test FastAPI
Apply property-based testing to FastAPI
Resources / Talks
- PyConBY 2020: Serve ML models easily with FastAPI
From the talk by Sebastian Ramirez you will learn how to easily build a production-ready web (JSON) API for your ML models with FastAPI, including best practices by default
- PyCon UK 2019: FastAPI from the ground up
This talk shows how to build a simple REST API for a database from the ground up using FastAPI
Resources / Videos
- Building a Stock Screener with FastAPI
A you build a web-based stock screener with FastAPI, you'll be introduced to many of FastAPI's features, including Pydantic models, dependency injection, background tasks, and SQLAlchemy integration
- Building Web APIs Using FastAPI
Use FastAPI to build a web application programming interface (RESTful API)
- FastAPI - A Web Framework for Python
See how to do numeric validations with FastAPI
- FastAPI vs. Django vs. Flask
Which framework is best for Python in 2020? Which uses async/await the best? Which is the fastest?
- Serving Machine Learning Models As API with FastAPI
Build a machine learning API with FastAPI
Resources / Courses
- Test-Driven Development with FastAPI and Docker
Learn how to build, test, and deploy a text summarization microservice with Python, FastAPI, and Docker
- Modern APIs with FastAPI and Python
A course designed to get you creating new APIs running in the cloud with FastAPI quickly
- Full Web Apps with FastAPI Course
You'll learn to build full web apps with FastAPI, equivalent to what you can do with Flask or Django
- The Definitive Guide to Celery and FastAPI
Learn how to add Celery to a FastAPI application to provide asynchronous task processing
Resources / Best Practices
FastAPI Best Practices
Collection of best practices in a GitHub repo
Hosting / PaaS
Hosting / IaaS
Hosting / Serverless
- Mangum
Adapter for running ASGI applications with AWS Lambda and API Gateway
- Vercel
(formerly Zeit) ( )
- AWS Lambda
( )
Projects / Boilerplate
Full Stack FastAPI and PostgreSQL - Base Project Generator
Full Stack FastAPI Template , which includes FastAPI, React, SQLModel, PostgreSQL, Docker, GitHub Actions, automatic HTTPS, and more (developed by the creator of FastAPI, )
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
openapi-python-client
Generate modern FastAPI Python clients (via FastAPI) from OpenAPI
Pywork
generator to scaffold a FastAPI app
fastapi-gino-arq-uvicorn
Template 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
FastAPI template
Flexible, lightweight FastAPI project generator. It includes support for SQLAlchemy, multiple databases, CI/CD, Docker, and Kubernetes
FastAPI on Google Cloud Run
Boilerplate for API building with FastAPI, SQLModel, and Google Cloud Run
FastAPI with Firestore
Boilerplate for API building with FastAPI and Google Cloud Firestore
fastapi-alembic-sqlmodel-async
This is a project template which uses FastAPI, Alembic, and async SQLModel as ORM
fastapi-starter-project
A project template which uses FastAPI, SQLModel, Alembic, Pytest, Docker, GitHub Actions CI
Full Stack FastAPI and MongoDB - Base Project Generator
Full stack, modern web application generator, which includes FastAPI, MongoDB, Docker, Celery, React frontend, automatic HTTPS and more
Projects / Docker Images
inboard
Docker images to power your FastAPI apps and help you ship faster
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
uvicorn-gunicorn-poetry
This Docker image provides a platform to run FastAPI using Gunicorn with Uvicorn workers. It provides Poetry for managing dependencies and setting up a virtual environment in the container
uvicorn-poetry
This Docker image provides a platform to run FastAPI with Uvicorn on Kubernetes container orchestration system. It provides Poetry for managing dependencies and setting up a virtual environment in the container
Projects / Open Source Projects
Astrobase
Simple, fast, and secure deployments anywhere
Awesome FastAPI Projects
Organized list of projects that use FastAPI
Bitcart
Platform for merchants, users and developers which offers easy setup and use
Bali
Simplify Cloud Native Microservices development base on FastAPI and gRPC
Bunnybook
A tiny social network built with FastAPI, React+RxJs, Neo4j, PostgreSQL, and Redis
Dispatch
Manage security incidents
Projects / Open Source Projects / FastAPI CRUD Example:
Projects / Open Source Projects
FastAPI with Observability
Observe FastAPI app with three pillars of observability: Traces (Tempo), Metrics (Prometheus), Logs (Loki) on Grafana through OpenTelemetry and OpenMetrics
DogeAPI
API with high performance to create a simple blog and CRUD with OAuth2PasswordBearer
FastAPI Websocket Broadcast
Websocket 'broadcast' demo
FastAPI with Celery, RabbitMQ, and Redis
Minimal example utilizing FastAPI and Celery with RabbitMQ for task queue, Redis for Celery backend, and Flower for monitoring the Celery tasks
JeffQL
Simple authentication and login API using GraphQL and JWT
JSON-RPC Server
JSON-RPC server based on FastAPI
Mailer
Dead-simple mailer micro-service for static websites
Markdown-Videos
API for generating thumbnails to embed into your markdown content
Nemo
Be productive with Nemo
redis-streams-fastapi-chat
A simple Redis Streams backed chat app using Websockets, Asyncio and FastAPI/Starlette
Sprites as a service
Generate your personal 8-bit avatars using Cellular Automata
Slackers
Slack webhooks API
TermPair
View and control terminals from your browser with end-to-end encryption
Universities
API service for obtaining information about +9600 universities worldwide
Nothing in this list matches your filter.
Featured in 4 awesome lists
Each link jumps to the spot where the list mentions awesome-fastapi.
More related projects
tiangolo/uwsgi-nginx-flask-docker3K
ferdinakusumah/excel2api8
orgexyz/llfn94
acertainbluecat/discord2vrc16
langchain-ai/langserve2K
d10s0vsky-oss/stack-lifecycle-deployment238
reprezen/genflow10
danielgtaylor/huma2.4K
tezromach/python-package-template1.1K
superlinear-ai/poetry-cookiecutter256
materials-consortia/optimade-python-tools72
jeandormehl/openapi-gen6
darklynx/swagger-api-collection14