Skip to content

Latest commit

 

History

History
602 lines (473 loc) · 27.1 KB

README.md

File metadata and controls

602 lines (473 loc) · 27.1 KB

best-of-fastapi

🏆  A ranked list of awesome projects. Updated weekly.

This curated list contains 39 awesome open-source projects with a total of 87K stars grouped into 11 categories. All projects are ranked by a project-quality score, which is calculated based on various metrics automatically collected from GitHub and different package managers. If you like to add or update projects, feel free to open an issue, submit a pull request, or directly edit the projects.yaml. Contributions are very welcome!

🧙‍♂️ Discover other best-of lists or create your own.

Contents

Explanation

  • 🥇🥈🥉  Combined project-quality score
  • ⭐️  Star count from GitHub
  • 🐣  New project (less than 6 months old)
  • 💤  Inactive project (12 months no activity)
  • 💀  Dead project (60 months no activity)
  • 📈📉  Project is trending up or down
  • ➕  Project was recently added
  • ❗️  Warning (e.g. missing/risky license)
  • 👨‍💻  Contributors count from GitHub
  • 🔀  Fork count from GitHub
  • 📋  Issue count from GitHub
  • ⏱️  Last update timestamp on package manager
  • 📥  Download count from package manager
  • 📦  Number of dependent projects

Admin Interface

Back to top

sqladmin (🥇31 · ⭐ 1.9K) - SQLAlchemy Admin for FastAPI and Starlette. BSD-3
  • GitHub (👨‍💻 63 · 🔀 190 · 📦 1.2K · 📋 240 - 17% open · ⏱️ 04.11.2024):

     git clone https://github.com/aminalaee/sqladmin
    
  • PyPi (📥 120K / month):

     pip install sqladmin
    
fastapi-admin (🥉25 · ⭐ 2.9K) - A fast admin dashboard based on FastAPI and TortoiseORM with.. Apache-2
  • GitHub (👨‍💻 16 · 🔀 370 · 📦 400 · 📋 120 - 41% open · ⏱️ 05.09.2024):

     git clone https://github.com/fastapi-admin/fastapi-admin
    
  • PyPi (📥 7.7K / month):

     pip install fastapi-admin
    
piccolo-admin (🥉21 · ⭐ 320) - A powerful web admin for your database. MIT
  • GitHub (👨‍💻 18 · 🔀 38 · 📋 170 - 23% open · ⏱️ 16.10.2024):

     git clone https://github.com/piccolo-orm/piccolo_admin
    
  • PyPi (📥 9.8K / month):

     pip install piccolo-admin
    

CRUD

Back to top

FastCRUD (🥇21 · ⭐ 690) - FastCRUD is a Python package for FastAPI, offering robust async CRUD.. MIT
  • GitHub (👨‍💻 13 · 🔀 59 · 📦 110 · 📋 76 - 34% open · ⏱️ 21.10.2024):

     git clone https://github.com/igorbenav/fastcrud
    

Database - ODMs

Back to top

mongoengine (🥇40 · ⭐ 4.2K) - A Python Object-Document-Mapper for working with MongoDB. MIT
  • GitHub (👨‍💻 400 · 🔀 1.2K · 📦 26K · 📋 1.7K - 17% open · ⏱️ 09.10.2024):

     git clone https://github.com/MongoEngine/mongoengine
    
  • PyPi (📥 1.5M / month):

     pip install mongoengine
    
motor (🥈35 · ⭐ 2.4K) - Motor - the async Python driver for MongoDB and Tornado or asyncio. Apache-2
  • GitHub (👨‍💻 54 · 🔀 200 · 📥 33 · 📦 100K · ⏱️ 12.11.2024):

     git clone https://github.com/mongodb/motor
    
  • PyPi (📥 2.8M / month):

     pip install motor
    
pymongo (🥉33 · ⭐ 4.2K) - PyMongo - the Official MongoDB Python driver. Apache-2
  • GitHub (👨‍💻 220 · 🔀 1.1K · 📥 500 · ⏱️ 12.11.2024):

     git clone https://github.com/mongodb/mongo-python-driver
    
  • PyPi (📥 35M / month):

     pip install pymongo
    
beanie (🥉31 · ⭐ 2.1K · 📉) - Asynchronous Python ODM for MongoDB. Apache-2
  • GitHub (👨‍💻 96 · 🔀 220 · 📦 3K · 📋 430 - 18% open · ⏱️ 28.10.2024):

     git clone https://github.com/roman-right/beanie
    
  • PyPi (📥 250K / month):

     pip install beanie
    
odmantic (🥉23 · ⭐ 1.1K) - Sync and Async ODM (Object Document Mapper) for MongoDB based on python.. ISC
  • GitHub (👨‍💻 19 · 🔀 91 · 📦 3.4K · 📋 170 - 47% open · ⏱️ 26.04.2024):

     git clone https://github.com/art049/odmantic
    
  • PyPi (📥 30K / month):

     pip install odmantic
    

Database - ORMs

Back to top

sqlalchemy (🥇45 · ⭐ 9.7K) - The Database Toolkit for Python. MIT
  • GitHub (👨‍💻 740 · 🔀 1.4K · 📥 51K · 📦 910K · 📋 7.9K - 2% open · ⏱️ 13.11.2024):

     git clone https://github.com/sqlalchemy/sqlalchemy
    
  • PyPi (📥 150M / month):

     pip install sqlalchemy
    
tortoise-orm (🥈35 · ⭐ 4.7K) - Familiar asyncio ORM for python, built with relations in mind. Apache-2
  • GitHub (👨‍💻 150 · 🔀 390 · 📥 16 · 📦 8.7K · 📋 1.1K - 46% open · ⏱️ 14.11.2024):

     git clone https://github.com/tortoise/tortoise-orm
    
  • PyPi (📥 300K / month):

     pip install tortoise-orm
    
piccolo (🥈30 · ⭐ 1.4K) - A fast, user friendly ORM and query builder which supports asyncio. MIT
  • GitHub (👨‍💻 46 · 🔀 90 · 📦 410 · 📋 430 - 28% open · ⏱️ 07.11.2024):

     git clone https://github.com/piccolo-orm/piccolo
    
  • PyPi (📥 120K / month):

     pip install piccolo
    
ormar (🥉29 · ⭐ 1.7K · 📈) - python async orm with fastapi in mind and pydantic validation. MIT
  • GitHub (👨‍💻 38 · 🔀 87 · 📦 1K · 📋 270 - 27% open · ⏱️ 02.10.2024):

     git clone https://github.com/collerek/ormar
    
  • PyPi (📥 110K / month):

     pip install ormar
    
prisma (🥉25 · ⭐ 1.9K · 📉) - Prisma Client Python is an auto-generated and fully type-safe.. Apache-2
  • GitHub (👨‍💻 31 · 🔀 80 · 📋 400 - 48% open · ⏱️ 06.09.2024):

     git clone https://github.com/RobertCraigie/prisma-client-py
    
  • PyPi (📥 1.2M / month):

     pip install prisma
    
gino (🥉24 · ⭐ 2.7K · 💤) - GINO Is Not ORM - a Python asyncio ORM on SQLAlchemy core. ❗Unlicensed
  • GitHub (👨‍💻 45 · 🔀 150 · 📦 2.5K · 📋 310 - 14% open · ⏱️ 12.02.2022):

     git clone https://github.com/python-gino/gino
    
  • PyPi (📥 27K / month):

     pip install gino
    
orm (🥉22 · ⭐ 1.8K · 💤) - An async ORM. BSD-3
  • GitHub (👨‍💻 18 · 🔀 95 · 📦 540 · 📋 81 - 20% open · ⏱️ 30.08.2022):

     git clone https://github.com/encode/orm
    
  • PyPi (📥 4.4K / month):

     pip install orm
    

Database - ORM Integrations

Back to top

sqlmodel (🥇37 · ⭐ 15K · 📈) - SQL databases in Python, designed for simplicity, compatibility, and.. MIT
  • GitHub (👨‍💻 81 · 🔀 620 · 📦 17K · 📋 340 - 52% open · ⏱️ 08.11.2024):

     git clone https://github.com/tiangolo/sqlmodel
    
  • PyPi (📥 2.4M / month):

     pip install sqlmodel
    
fastapi-sqlalchemy (🥉18 · ⭐ 620) - Adds simple SQLAlchemy support to FastAPI. MIT
  • GitHub (👨‍💻 7 · 🔀 38 · 📦 3 · 📋 23 - 43% open · ⏱️ 09.04.2024):

     git clone https://github.com/mfreeborn/fastapi-sqlalchemy
    
  • PyPi (📥 74K / month):

     pip install fastapi-sqlalchemy
    

GraphQL API

Back to top

graphene (🥇38 · ⭐ 8.1K · 📈) - GraphQL framework for Python. MIT
  • GitHub (👨‍💻 210 · 🔀 810 · 📦 24K · 📋 1K - 8% open · ⏱️ 09.11.2024):

     git clone https://github.com/graphql-python/graphene
    
  • PyPi (📥 13M / month):

     pip install graphene
    
ariadne (🥈31 · ⭐ 2.2K) - Python library for implementing GraphQL servers using schema-first.. BSD-3
  • GitHub (👨‍💻 77 · 🔀 180 · 📦 1.7K · 📋 320 - 10% open · ⏱️ 02.08.2024):

     git clone https://github.com/mirumee/ariadne
    
  • PyPi (📥 530K / month):

     pip install ariadne
    
strawberry (🥉27 · ⭐ 4K) - A GraphQL library for Python that leverages type annotations. MIT
  • GitHub (👨‍💻 260 · 🔀 520 · 📥 590 · 📋 1K - 37% open · ⏱️ 12.11.2024):

     git clone https://github.com/strawberry-graphql/strawberry
    
  • PyPi (📥 720 / month):

     pip install strawberry
    
tartiflette (🥉20 · ⭐ 860 · 💤) - GraphQL Engine built with Python 3.6+ / asyncio. MIT
  • GitHub (👨‍💻 27 · 🔀 37 · 📋 140 - 8% open · ⏱️ 20.01.2022):

     git clone https://github.com/tartiflette/tartiflette
    
  • PyPi (📥 4.2K / month):

     pip install tartiflette
    

RESTful API - Authentication

Back to top

fastapi-users (🥇33 · ⭐ 4.7K) - Ready-to-use and customizable users management for FastAPI. MIT
  • GitHub (👨‍💻 69 · 🔀 380 · 📥 300 · 📦 4.2K · 📋 280 - 3% open · ⏱️ 13.11.2024):

     git clone https://github.com/fastapi-users/fastapi-users
    
  • PyPi (📥 140K / month):

     pip install fastapi-users
    
authx (🥈25 · ⭐ 820) - Ready-to-use and customizable Authentications and Oauth2 management for.. MIT
  • GitHub (👨‍💻 17 · 🔀 49 · 📦 36 · 📋 54 - 9% open · ⏱️ 12.11.2024):

     git clone https://github.com/yezz123/AuthX
    
  • PyPi (📥 11K / month):

     pip install authx
    
fastapi-azure-auth (🥈25 · ⭐ 470) - Easy and secure implementation of Azure Entra ID.. MIT
  • GitHub (👨‍💻 28 · 🔀 67 · 📦 92 · 📋 100 - 1% open · ⏱️ 03.11.2024):

     git clone https://github.com/Intility/fastapi-azure-auth
    
  • PyPi (📥 140K / month):

     pip install fastapi-azure-auth
    
fastapi-login (🥈24 · ⭐ 640) - FastAPI-Login tries to provide similar functionality as.. MIT
  • GitHub (👨‍💻 14 · 🔀 57 · 📥 8 · 📦 990 · ⏱️ 18.09.2024):

     git clone https://github.com/MushroomMaula/fastapi_login
    
  • PyPi (📥 50K / month):

     pip install fastapi-login
    
fastapi-cloudauth (🥉19 · ⭐ 340 · 💤) - Simple integration between FastAPI and cloud.. MIT
  • GitHub (👨‍💻 6 · 🔀 35 · 📦 90 · 📋 48 - 62% open · ⏱️ 12.05.2022):

     git clone https://github.com/tokusumi/fastapi-cloudauth
    
  • PyPi (📥 36K / month):

     pip install fastapi-cloudauth
    
fastapi-jwt-auth (🥉18 · ⭐ 660 · 💤) - FastAPI extension that provides JWT Auth support.. MIT
  • GitHub (👨‍💻 3 · 🔀 120 · 📋 83 - 56% open · ⏱️ 11.11.2020):

     git clone https://github.com/IndominusByte/fastapi-jwt-auth
    
  • PyPi (📥 83K / month):

     pip install fastapi-jwt-auth
    
fastapi-security (🥉16 · ⭐ 140 · 💤) - Implements authentication and authorization as.. MIT
  • GitHub (👨‍💻 3 · 🔀 7 · 📥 69 · 📦 80 · 📋 4 - 25% open · ⏱️ 15.05.2022):

     git clone https://github.com/jacobsvante/fastapi-security
    
  • PyPi (📥 11K / month):

     pip install fastapi-security
    
fastapi-simple-security (🥉14 · ⭐ 330 · 💤) - Drop-in API-key based security for FastAPI. MIT
  • GitHub (👨‍💻 7 · 🔀 32 · 📋 11 - 9% open · ⏱️ 18.07.2023):

     git clone https://github.com/mrtolkien/fastapi_simple_security
    
  • PyPi (📥 1.2K / month):

     pip install fastapi-simple-security
    
fastapi-auth (🥉7 · ⭐ 140 · 💤) - Auth for use with FastAPI. MIT
  • GitHub (🔀 8 · 📋 2 - 50% open · ⏱️ 18.12.2019):

     git clone https://github.com/dmontagu/fastapi-auth
    
  • PyPi (📥 270 / month):

     pip install fastapi-auth
    

RESTful API - Rate Limiting

Back to top

SlowApi (🥇26 · ⭐ 1.2K) - A rate limiter for Starlette and FastAPI. MIT
  • GitHub (👨‍💻 26 · 🔀 79 · 📦 3.2K · 📋 94 - 34% open · ⏱️ 27.06.2024):

     git clone https://github.com/laurentS/slowapi
    
  • PyPi (📥 630K / month):

     pip install slowapi
    
fastapi-limiter (🥉22 · ⭐ 510) - A request rate limiter for fastapi. Apache-2
  • GitHub (👨‍💻 12 · 🔀 52 · 📦 1.8K · 📋 42 - 66% open · ⏱️ 05.01.2024):

     git clone https://github.com/long2ice/fastapi-limiter
    
  • PyPi (📥 88K / month):

     pip install fastapi-limiter
    

RESTful API - Pagination

Back to top

fastapi-pagination (🥇33 · ⭐ 1.2K) - FastAPI pagination. MIT
  • GitHub (👨‍💻 48 · 🔀 140 · 📦 3K · 📋 230 - 4% open · ⏱️ 13.11.2024):

     git clone https://github.com/uriyyo/fastapi-pagination
    
  • PyPi (📥 800K / month):

     pip install fastapi-pagination
    

RESTful API - Observability

Back to top

opentelemetry-instrumentation-fastapi (🥇35 · ⭐ 740) - OpenTelemetry instrumentation for Python modules. Apache-2
  • GitHub (👨‍💻 310 · 🔀 600 · 📦 2.3K · 📋 1.2K - 35% open · ⏱️ 14.11.2024):

     git clone https://github.com/open-telemetry/opentelemetry-python-contrib
    
  • PyPi (📥 6.5M / month):

     pip install opentelemetry-instrumentation-fastapi
    
prometheus-fastapi-instrumentator (🥉26 · ⭐ 970) - Instrument your FastAPI with Prometheus metrics. ISC
  • GitHub (👨‍💻 28 · 🔀 81 · 📦 2.8K · 📋 98 - 37% open · ⏱️ 13.03.2024):

     git clone https://github.com/trallnag/prometheus-fastapi-instrumentator
    
  • PyPi (📥 1.7M / month):

     pip install prometheus-fastapi-instrumentator
    
fastapi-opentracing (🥉9 · ⭐ 24 · 💤) - fastapi opentracing middleware works on k8s. MIT
  • GitHub (👨‍💻 5 · 🔀 7 · 📋 6 - 83% open · ⏱️ 19.01.2022):

     git clone https://github.com/wesdu/fastapi-opentracing
    
  • PyPi (📥 430 / month):

     pip install fastapi-opentracing
    

RESTful API - Templating

Back to top

fastapi-chameleon (🥇13 · ⭐ 140 · 📈) - Adds integration of the Chameleon template language.. MIT
  • GitHub (👨‍💻 8 · 🔀 27 · 📋 14 - 7% open · ⏱️ 10.11.2024):

     git clone https://github.com/mikeckennedy/fastapi-chameleon
    
  • PyPi (📥 760 / month):

     pip install fastapi-chameleon
    
fastapi-jinja (🥉9 · ⭐ 69 · 💤) - Adds integration of the Jinja template language to FastAPI. MIT
  • GitHub (👨‍💻 5 · 🔀 11 · ⏱️ 29.03.2021):

     git clone https://github.com/AGeekInside/fastapi-jinja
    
  • PyPi (📥 350 / month):

     pip install fastapi-jinja
    

Related Resources

  • Best-of lists: Discover other best-of lists with awesome open-source projects on all kinds of topics.

Contribution

Contributions are encouraged and always welcome! If you like to add or update projects, choose one of the following ways:

  • Open an issue by selecting one of the provided categories from the issue page and fill in the requested information.
  • Modify the projects.yaml with your additions or changes, and submit a pull request. This can also be done directly via the Github UI.

If you like to contribute to or share suggestions regarding the project metadata collection or markdown generation, please refer to the best-of-generator repository. If you like to create your own best-of list, we recommend to follow this guide.

For more information on how to add or update projects, please read the contribution guidelines. By participating in this project, you agree to abide by its Code of Conduct.

License

CC0