Skip to content

mjhea0/awesome-fastapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome FastAPI | Awesome

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. 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.

Auth

Databases

ORMs

  • Edgy ORM - Complex databases made simple.
  • FastAPI SQLAlchemy - Simple integration between FastAPI and SQLAlchemy.
  • Fastapi-SQLA - SQLAlchemy extension for FastAPI with support for pagination, asyncio, and pytest.
  • 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).
  • 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.
  • Tortoise ORM - An easy-to-use asyncio ORM (Object Relational Mapper) inspired by Django.
  • 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.

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.
  • PynamoDB - A pythonic interface to Amazon's DynamoDB.

Other Tools

Developer Tools

Email

  • FastAPI Mail - Lightweight mail system for sending emails and attachments (individual and bulk).

Utils

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.

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

Best Practices

Hosting

PaaS

(Platforms-as-a-Service)

IaaS

(Infrastructure-as-a-Service)

Serverless

Frameworks:

Compute:

Projects

Boilerplate

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 - Docker image with Gunicorn using Uvicorn workers for running Python web applications. Uses Poetry for managing dependencies and setting up a virtual environment. Supports AMD64 and ARM64 CPU architectures.
  • uvicorn-poetry - Docker image with Uvicorn ASGI server for running Python web applications on Kubernetes. Uses Poetry for managing dependencies and setting up a virtual environment. Supports AMD64 and ARM64 CPU architectures.

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.
  • Coronavirus-tg-api - API for tracking the global coronavirus (COVID-19, SARS-CoV-2) outbreak.
  • Dispatch - Manage security incidents.
  • FastAPI CRUD Example:
  • 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.
  • OPAL (Open Policy Administration Layer) - Real-time authorization updates on top of Open-Policy; built with FastAPI, Typer, and FastAPI WebSocket pub/sub.
  • Polar - A funding and monetization platform for developers, built with FastAPI, SQLAlchemy, Alembic, and Arq.
  • RealWorld Example App - mongo
  • RealWorld Example App - postgres
  • 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.

Sponsors

Please support this open source project by checking out our sponsors:

About

A curated list of awesome things related to FastAPI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published