Erweiterungen#
Administration#
- SQLAlchemy Admin for Starlette/FastAPI
Flexible Admin-Schnittstelle für SQLAlchemy-Modelle
- Piccolo Admin
Einfache, aber leistungsstarke Admin-Oberfläche über Piccolo-Tabellen, mit der ihr eure Daten leicht hinzufügen, bearbeiten und filtern könnt
Authentifizierung#
- AuthX
Gebrauchsfertige und anpassbare Authentifizierungen und Oauth2-Management
- FastAPI Security
Authentifizierung und Autorisierung
- FastAPI simple security
Auf API-Schlüsseln basierendes Sicherheitspaket, das fokussiert ist auf die einfache Nutzung
- FastAPI Users
Fügt schnell ein anpassungsfähiges Registrierungs- und Authentifizierungssystem hinzu
ORMs#
- FastAPI-SQLAlchemy
Einfache Integration zwischen FastAPI, SQLAlchemy und Anwendung
- FastAPIwee
Einfache Möglichkeit, eine REST-API auf der Grundlage von PeeWee-Modellen zu erstellen
- GINO
Leichtgewichtiger asynchroner ORM, der auf SQLAlchemy Core für Python asyncio aufbaut und PostgreSQL mit asyncpg, und MySQL mit aiomysql unterstützt (→ Beispiel)
- ORM
async ORM, der auf SQLAlchemy Core, Databases und TypeSystem aufbaut
- ormar
Asynchroner Mini-ORM, mit dem ihr nur ein Set von Modellen pflegen und ggf. mit Alembic migrieren müsst (→ Beispiel); zudem wird er unterstützt von fastapi-users, fastapi-crudrouter und fastapi-pagination.
- Piccolo
Schneller, benutzerfreundlicher ORM und Query Builder, der Asyncio unterstützt (→ Beispiele)
- Prisma Client Python
Aufbauend auf dem TypeScript ORM Prisma mit Unterstützung von PostgreSQL, MySQL, SQLite, MongoDB und SQL Server (→ Beispiel)
- Tortoise ORM
Einfach zu bedienender Asyncio-ORM, inspiriert von Django (→ Beispiele); Aerich ist ein Datenbankmigrationswerkzeug für Tortoise ORM
- SQLModel
Bibliothek für die Interaktion von SQL-Datenbanken mit Python-Objekten
SQL Query Builders#
- FastAPI Filter
Querystring-Filter für die Api-Endpunkte und die Swagger-Benutzeroberfläche. Die unterstützten Backends sind SQLAlchemy und MongoEngine.
- asyncpgsa
Python-Wrapper um asyncpg für die Verwendung mit SQLAlchemy
- Databases
Einfache Asyncio-Unterstützung für die Datenbanktreiber asyncpg, aiopg, aiomysql, asyncmy und aiosqlite
ODMs#
- Beanie
Asynchroner Python-Objekt-Dokumenten-Mapper (ODM) für MongoDB, basierend auf Motor und Pydantic
- MongoEngine
Python Object-Document Mapper für die Arbeit mit MongoDB
- ODMantic
Asynchroner ODM (Object Document Mapper) für MongoDB basierend auf Python-Type-Hints und pydantic
Code-Generatoren#
- fastapi-code-generator
Code-Generator erstellt eine FastAPI-Anwendung aus einer OpenAPI-Datei, wobei datamodel-code-generator zum Generieren des pydantic-Modells verwendet wird
- FastAPI-based API Client Generator
mypy- und IDE-freundlicher API-Client aus einer OpenAPI-Spezifikation unter Verwendung des OpenAPI Generator
Dienstprogramme#
Caching#
- FastAPI Cache
Leichtgewichtiges Cache-System
- fastapi-cache
Caching von FastAPI-Antworten und Funktionsergebnissen, mit Backends, die redis, memcache und dynamodb unterstützen
E-Mail#
- Fastapi-mail
Leichtes Mailsystem zum Versenden von E-Mails und Anhängen, einzeln oder auch in großen Mengen
GraphQL#
- Strawberry GraphQL
Python GraphQL Bibliothek basierend auf Datenklassen
Logging#
- ASGI Correlation ID middleware
Middleware zum Laden oder Erzeugen von Korrelations-IDs für jede eingehende Anfrage
- starlette context
Middleware für Starlette, die euch ermöglicht, die Kontextdaten einer Anfrage zu speichern und darauf zuzugreifen
Prometheus#
- Prometheus FastAPI Instrumentator
Konfigurierbarer und modularer Prometheus-Instrumentator
- starlette_exporter
Prometheus-Exportprogramm für Starlette und FastAPI
- Starlette Prometheus
Prometheus-Integration für Starlette
Templating#
- fastapi-jinja
Integration der Jinja-Template-Sprache
- fastapi-chameleon
Integration der Template-Sprache Chameleon
Paginierung#
- FastAPI Pagination
Einfach zu verwendende Paginierung für FastAPI mit Integration u.a. in sqlalchemy, gino, databases und ormar
Websockets#
- fastapi-socketio
Einfache Integration von socket.io in in eure FastAPI-Anwendung
- FastAPI Websocket Pub/Sub
Schneller und dauerhafter Pub/Sub-Kanal über Websockets
- FASTAPI Websocket RPC
Schneller und dauerhafter bidirektionaler JSON RPC Kanal über Websockets
Andere Tools#
- Pydantic-SQLAlchemy
Erzeugen von Pydantic-Modellen aus SQLAlchemy-Modellen
- Fastapi Camelcase
Bereitstellung einer Klasse von Request- und Response-Bodies für FastAPI
- fastapi_profiler
FastAPI-Middleware basierend auf pyinstrument zur Leistungsüberprüfung
- fastapi-versioning
API-Versionierung für FastAPI-Webanwendungen
- Jupter Notebook REST API
Jupyter-Notebooks als REST-API-Endpunkt ausführen
- manage-fastapi
Projektgenerator und -manager für FastAPI
- msgpack-asgi
Automatisches Aushandeln von MessagePack-Inhalten in ASGI-Anwendungen
- fastapi-plugins
Produktionsreife Plugins für das FastAPI-Framework, u.a. für das Caching mit memcached oder Redis, Scheduler, Konfiguration und Logging
- fastapi-serviceutils
Optimiertes Logging, Exception Handling und Konfigurieren