FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,非常适合构建 RESTful API.
说明
- FastAPI Admin - 功能管理面板,提供用于对数据执行 CRUD 操作的用户界面。目前仅适用于 Tortoise ORM。
- Piccolo Admin - 一个强大而现代的管理 GUI,使用 Piccolo ORM。
- SQLAlchemy Admin - 适用于 SQLAlchemy 模型的 FastAPI/Starlette 管理面板。
- AuthX - 用于FastAPI的可定制的认证和Oauth2管理。
- FastAPI Auth - 支持OAuth2密码、JWT访问和刷新令牌的可插拔式的认证。
- FastAPI Azure Auth - 为你的API提供Azure AD认证,支持单租户和多租户。
- FastAPI Cloud Auth - FastAPI和云认证服务 (AWS Cognito, Auth0, Firebase Authentication) 之间的简单集成。.
- FastAPI Login - 账号管理和认证 (基于 Flask-Login).
- FastAPI JWT Auth - JWT 认证 (基于 Flask-JWT-Extended).
- FastAPI Permissions - Row-level 权限控制.
- FastAPI Security - 结合FastAPI的依赖项,实施认证和授权。
- FastAPI Simple Security - 通过路径操作,来管理开箱即用的API密钥安全。
- FastAPI Users - 账户管理、认证、授权。
- FastAPI SQLAlchemy - FastAPI 和 SQLAlchemy 之间的简单集成。
- Fastapi-SQLA - SQL Alchemy 扩展用于快速 API,支持分页、异步和 pytest。
- FastAPIwee - 基于 PeeWee 模型创建 REST API 的简单方法
- GINO - 一个基于Python异步,建立在 SQLAlchemy 核心之上轻量级异步 ORM。
- ORM - 一个异步 ORM.
- ormar - Ormar 是一个异步 ORM,可以直接用于FastAPI请求和响应,因此你只需要维护一套模型,包含 Alembic 迁移
- FastAPI Example - 在ormar使用FastAPI框架.
- Piccolo - 一个异步ORM和查询生成器,支持Postgres和SQLite,带有功能 (迁移、安全等).
- FastAPI Examples - 在Piccolo 使用FastAPI框架.
- Prisma Client Python - 一个由Pydantic提供的自动生成的、全部类型安全的ORM,并为你的模式专门定制 - 支持SQLite、PostgreSQL、MySQL、MongoDB、MariaDB等。
- FastAPI Example - FastAPI 示例
- Tortoise ORM - 一个易于使用的异步 ORM(对象关系映射器),灵感来自Django
- FastAPI Example - 一个 Tortoise-ORM FastAPI 集成的例子.
- Tutorial: Setting up Tortoise ORM with FastAPI
- Aerich - Tortoise ORM 迁移工具.
- SQLModel - (由Pydantic和SQLAlchemy驱动)是一个用于与Python代码交互的SQL数据库的库,具有Python对象。
- asyncpgsa - 一个用于 SQLAlchemy Core 的 asyncpg的包装器。
- Databases - 异步sql查询构建器,基于 SQLAlchemy Core 表达式语言。
- Beanie - 用于MongoDB的异步Python ODM,基于 Motor 和 Pydantic, 支持数据和模式迁移。
- MongoEngine - 一个用于Python的MongoDB文档对象映射器(类似于ORM,但用于文档数据库)。
- Motor - 异步MongoDB的Python驱动程序。
- ODMantic - AsyncIO MongoDB ODM 集成 Pydantic
- Pydantic-SQLAlchemy - 将SQLAlchemy模型转换为 Pydantic 模型。
- FastAPI-CamelCase - 利用 Pydantic 的CamelCase JSON支持。
- CamelCase Models with FastAPI and Pydantic - Accompanying blog post from the author of the extension. 随之而来的作者扩展的博客文章。
- FastAPI Code Generator - 从OpenAPI文件创建FastAPI应用程序,从而实现模式驱动的开发。
- FastAPI Client Generator - 基于OpenAPI规范生成一个mypy和IDE友好的API客户端。
- FastAPI MVC - 开发人员生产力工具,用于制作高质量的FastAPI生产就绪API。
- FastAPI Profiler - 一个基于joerick/pyinstrument,检查你的服务性能的FastAPI中间件。
- FastAPI Versioning - API 的版本控制.
- Jupyter Notebook REST API - 运行你的Jupyter笔记本作为RESTful API端点。
- Manage FastAPI - CLI 工具,用于生成和管理 FastAPI 项目。
- msgpack-asgi - 自动 MessagePack 内容协商。
- FastAPI Mail - 轻量级邮件系统,用于发送电子邮件和附件(单个和批量)。
- ASGI Correlation ID - 请求ID日志中间件。
- FastAPI Cache - 一个简单的轻量级缓存系统。
- FastAPI Cache - 一个用于缓存FastAPI响应和函数结果的工具,支持Redis,Memcached,DynamoDB和内存后端。
- FastAPI Chameleon - 增加了Chameleon模板语言到FastAPI的集成。
- FastAPI Contrib - 一组有观点的实用程序:分页,身份验证中间件,权限,自定义异常处理程序,MongoDB支持和Opentracing中间件。
- FastAPI CRUDRouter - 一个自动创建和记录CRUD路由的FastAPI路由器,用于你的模型。
- FastAPI Events - 用于FastAPI和Starlette的异步事件调度/处理库。
- FastAPI FeatureFlags - 简单的FastAPI功能标志的实现。
- FastAPI Jinja - 增加了Jinja模板语言到FastAPI的集成。
- FastAPI Lazy - 一个懒惰的包,用于使用FastAPI启动你的项目。
- FastAPI Limiter - 一个用于限制FastAPI请求的工具。
- FastAPI MQTT - 一个 MQTT 协议的扩展。
- FastAPI Opentracing - Opentracing 中间件和数据库跟踪支持FastAPI。
- FastAPI Pagination - FastAPI 分页。
- FastAPI Plugins - Redis 和 Scheduler 插件。
- FastAPI ServiceUtils - 用于创建API服务的生成器。
- FastAPI SocketIO - FastAPI 和 SocketIO 的简单集成。
- FastAPI Utilities - 重用的实用程序:基于类的视图,响应推断路由器,定期任务,计时中间件,SQLAlchemy会话,OpenAPI规范简化。
- FastAPI Websocket Pub/Sub - Websocket pub/sub 模式,使其在云中的任何地方都可以轻松访问和扩展。
- FastAPI Websocket RPC - 通过 Websockets 的 RPC(双向 JSON RPC)变得简单、健壮和生产就绪。
- OpenTelemetry FastAPI Instrumentation - OpenTelemetry 是一个开放的自动跟踪工具包,用于监视应用程序的性能和可用性。
- Prerender Python Starlette - 一个用于预渲染爬虫的中间件。
- Prometheus FastAPI Instrumentator - 一个可配置和模块化的 Prometheus Instrumentator 用于你的 FastAPI 应用程序。
- SlowApi - 限速器(基于 Flask-Limiter)。
- Starlette Context - 允许你在项目的任何地方存储和访问请求数据,对于日志记录很有用。
- Starlette Exporter - 一个用于 FastAPI 和 Starlette 的 Prometheus 集成。
- Starlette OpenTracing - 对于 Starlette 和 FastAPI 的 Opentracing 支持。
- Starlette Prometheus - FastAPI 和 Starlette 的 Prometheus 集成。
- Strawberry GraphQL - 一个基于dataclasses的 Python GraphQL 库。
- Documentation - FastAPI 官方链接。
- Tutorial - FastAPI 官方教程,逐步展示了如何使用 FastAPI 的大部分功能。
- Source Code - FastAPI 的源代码。
- Discord - 与其他 FastAPI 用户聊天。
- TestDriven.io FastAPI - 多篇专注于开发和测试生产就绪的 RESTful API、提供机器学习模型等的 FastAPI 特定文章。
- Build The Next Generation Of Python Web Applications With FastAPI - 这个播客的第 259 集 Podcast Init, FastAPI 的创建者 Sebastián Ramirez 分享了他创建 FastAPI 的动机以及它的工作原理。
- FastAPI on PythonBytes - 不错的项目概述。
- FastAPI has Ruined Flask Forever for Me
- Why we switched from Flask to FastAPI for production machine learning - 深入了解为什么你可能想从 Flask 迁移到 FastAPI。
- Async SQLAlchemy with FastAPI - 学习如何异步使用 SQLAlchemy。
- Build and Secure an API in Python with FastAPI - 保护和维护基于 FastAPI 和 SQLAlchemy 的 API。
- Deploy a Dockerized FastAPI App to Google Cloud Platform - 一个简短的指南,用于使用 Cloud Run 和 SQL 实例将 Docker 化的 Python 应用部署到 Google Cloud Platform。
- Deploy Machine Learning Models with Keras, FastAPI, Redis and Docker
- Deploying Iris Classifications with FastAPI and Docker - 将 FastAPI 应用程序 Docker 化。
- Developing and Testing an Asynchronous API with FastAPI and Pytest - 使用 TDD 开发和测试使用 FastAPI、Postgres、Pytest 和 Docker 的异步 API。
- FastAPI for Flask Users - 通过与 Flask 的并排代码比较学习 FastAPI。
- FastAPI Microservice Patterns - 一个包含微服务模式示例实现的博客系列。
- Local Development Environment - 简而言之,Skaffold、docker、kubectl 和 minikube。
- Service discovery in Container Orchestration Platforms - 解释了在 Kubernetes 中启用 FastAPI 服务通信。
- Asynchronous Communication - 通过消息使服务松耦合。
- Application Monitoring - 使用 Prometheus 和 Grafana 监控应用程序指标。
- Serverless Deployment - 关于 FastAPI 与 Kubernetes 原生 FaaS 平台兼容性的当前状态。
- Getting started with GraphQL in Python with FastAPI and Ariadne - 使用 FastAPI、GraphQL 和 Ariadne 生成一个 FullStack 沙盒。
- How to monitor your FastAPI service - 解释了如何使用 OpenTelemetry 和 Datadog/Jaeger 实现应用程序性能监控(APM)。
- Implementing FastAPI Services – Abstraction and Separation of Concerns - FastAPI 应用程序和服务结构,以实现更易维护的代码库。
- Introducing FARM Stack - FastAPI, React, and MongoDB - 一个完整的 FastAPI Web 应用程序栈的入门指南。
- Multitenancy with FastAPI, SQLAlchemy and PostgreSQL - 学习如何使 FastAPI 应用程序具有多租户功能。
- Porting Flask to FastAPI for ML Model Serving - 一个 Flask 和 FastAPI 模型服务的对比。
- Real-time data streaming using FastAPI and WebSockets - 学习如何将数据从 FastAPI 直接流式传输到实时图表中。
- Running FastAPI applications in production - 使用 Gunicorn 和 systemd 进行生产部署。
- Serving Machine Learning Models with FastAPI in Python - 使用 FastAPI 快速轻松地部署和提供 Python 中的机器学习模型作为 RESTful API。
- Streaming video with FastAPI - 学习如何提供视频流。
- Using Hypothesis and Schemathesis to Test FastAPI - 使用属性基础测试来测试 FastAPI。
- PyConBY 2020: Serve ML models easily with FastAPI - 来自 Sebastian Ramirez 的演讲,你将了解如何使用 FastAPI 轻松构建用于机器学习模型的生产就绪 Web(JSON)API,包括默认的最佳实践。
- PyCon UK 2019: FastAPI from the ground up - 这个演讲展示了如何使用 FastAPI 从头开始构建一个简单的 REST API 用于数据库。
- Building a Stock Screener with FastAPI - 你将使用 FastAPI 构建一个基于 Web 的股票筛选器,你将介绍 FastAPI 的许多功能,包括 Pydantic 模型、依赖注入、后台任务和 SQLAlchemy 集成。
- Building Web APIs Using FastAPI - 使用 FastAPI 构建 Web 应用程序编程接口(RESTful API)。
- FastAPI - A Web Framework for Python - 查看如何使用 FastAPI 进行数字验证。
- FastAPI vs. Django vs. Flask - 2020 年 Python 中哪个框架最好?哪个最好地使用 async/await?哪个最快?
- Serving Machine Learning Models As API with FastAPI - 使用 FastAPI 构建机器学习 API。
- Test-Driven Development with FastAPI and Docker - 学习如何使用 Python、FastAPI 和 Docker 构建、测试和部署文本摘要微服务。
- Modern APIs with FastAPI and Python - 一个旨在帮助你快速创建新的 FastAPI API 并在云中运行的课程。
- Full Web Apps with FastAPI Course - 你将学习如何使用 FastAPI 构建完整的 Web 应用程序,等同于使用 Flask 或 Django 所能做的事情。
- The Definitive Guide to Celery and FastAPI - 学习如何将 Celery 添加到 FastAPI 应用程序中,以提供异步任务处理。
- FastAPI Best Practices - 一个 GitHub 仓库中的最佳实践集合。
(Platforms-as-a-Service)
- Heroku (Step-by-step tutorial, ML model on Heroku tutorial)
- AWS Elastic Beanstalk
- Google App Engine
- Microsoft Azure App Service
- Deta (example)
(Infrastructure-as-a-Service)
框架:
计算:
- Full Stack FastAPI and PostgreSQL - Base Project Generator - 全栈,现代 Web 应用程序生成器,包括 FastAPI、PostgreSQL、Docker、Celery、Vue 前端、自动 HTTPS 等 (由 FastAPI 的开发者创建 , Sebastián Ramírez)。
- FastAPI and Tortoise ORM - 强大但简单的 FastAPI(作为 Web 框架)和 Tortoise-ORM(用于通过数据库进行工作而无需头痛)的 Web API 模板。
- FastAPI Model Server Skeleton - 用于将机器学习模型部署到生产环境的骨架应用程序。
- cookiecutter-spacy-fastapi - 使用FastAPI部署spaCy模型。
- cookiecutter-fastapi - 用于使用:机器学习、Poetry、Azure Pipelines 和 pytest 的 FastAPI 项目的 Cookiecutter 模板。
- openapi-python-client - 从 OpenAPI 生成现代 FastAPI Python 客户端(通过 FastAPI)。
- Pywork - Yeoman - 生成器来构建 FastAPI 应用程序。
- fastapi-gino-arq-uvicorn - 高性能异步 REST API 的模板,使用 Python。FastAPI + GINO + Arq + Uvicorn (w/ Redis and PostgreSQL)。
- FastAPI and React Template - 全栈 cookiecutter 模板,使用 FastAPI、TypeScript、Docker、PostgreSQL 和 React。
- FastAPI Nano - 简单的 FastAPI 模板,具有工厂模式架构。
- FastAPI template - 灵活的、轻量级的 FastAPI 项目生成器。它包括对 SQLAlchemy、多数据库、CI/CD、Docker 和 Kubernetes 的支持。
- FastAPI on Google Cloud Run - 用于使用 FastAPI、SQLModel 和 Google Cloud Run 构建 API 的模板。
- FastAPI with Firestore - 用于使用 FastAPI 和 Google Cloud Firestore 构建 API 的模板。
- fastapi-alembic-sqlmodel-async - 这是一个使用 FastAPI、Alembic 和异步 SQLModel 作为 ORM 的项目模板。
- fastapi-starter-project - 一个使用 FastAPI、SQLModel、Alembic、Pytest、Docker、GitHub Actions CI 的项目模板。
- inboard - 用于为您的 FastAPI 应用程序提供动力并帮助您更快地交付的 Docker 镜像。
- uvicorn-gunicorn-fastapi-docker - 用于高性能 FastAPI Web 应用程序的 Docker 镜像,使用 Python 3.7 和 3.6,具有自动调整性能的 Uvicorn 和 Gunicorn。
- uvicorn-gunicorn-poetry - 这个 Docker 镜像提供了一个平台,用于使用 Gunicorn 和 Uvicorn 工作人员运行 FastAPI。它提供了 Poetry 来管理依赖项和在容器中设置虚拟环境。
- uvicorn-poetry - 这个 Docker 镜像提供了一个平台,用于使用 Uvicorn 在 Kubernetes 容器编排系统上运行 FastAPI。它提供了 Poetry 来管理依赖项和在容器中设置虚拟环境。
- Astrobase - 一个简单、快速、安全的部署工具,可以在任何地方使用。
- Awesome FastAPI Projects - 有组织的项目列表,使用 FastAPI。
- Bitcart - 为商家、用户和开发人员提供的平台,提供简单的设置和使用。
- Bali - 一个基于 FastAPI 和 gRPC 的简化云原生微服务开发的框架。
- Bunnybook - 一个使用 FastAPI、React+RxJs、Neo4j、PostgreSQL 和 Redis 构建的微型社交网络。
- Coronavirus-tg-api - 用于跟踪全球冠状病毒(COVID-19、SARS-CoV-2)爆发的 API。
- Dispatch - Manage security incidents. - 用于管理安全事件的工具。
- FastAPI CRUD Example:
- DogeAPI - 使用 OAuth2PasswordBearer 创建简单博客和 CRUD 的高性能 API。
- FastAPI Websocket Broadcast - Websocket 广播演示。
- FastAPI with Celery, RabbitMQ, and Redis - 使用 FastAPI 和 Celery,RabbitMQ 作为任务队列,Redis 作为 Celery 后端和 Flower 作为监视 Celery 任务的最小示例。
- JeffQL - 使用 GraphQL 和 JWT 创建简单的身份验证和登录 API。
- JSON-RPC Server - 基于 FastAPI 的 JSON-RPC 服务器。
- Mailer - 用于静态网站的简单邮件微服务。
- Nemo - Nemo 提高效率。
- OPAL (Open Policy Administration Layer) - 基于开放策略的实时授权更新;使用 FastAPI、Typer 和 FastAPI WebSocket pub/sub 构建。
- RealWorld Example App - mongo
- RealWorld Example App - postgres
- redis-streams-fastapi-chat - 一个使用 Websockets、Asyncio 和 FastAPI/Starlette 的简单 Redis Streams 支持的聊天应用程序。
- Sprites as a service - 使用细胞自动机生成个人 8 位头像。
- Slackers - Slack webhooks API.
- TermPair - 从浏览器查看和控制终端,具有端到端加密。
- Universities - 获取全球 +9600 所大学的信息的 API 服务。
说明:基于 Awesome-fastapi项目翻译而来,感谢原作者的贡献。