Super FastAPI |
Une liste organisée de choses géniales liées à FastAPI.
FastAPI est un framework Web Python moderne, hautes performances et doté de batteries, parfait pour créer des API RESTful.
Contenu
- Extensions tierces
- Administrateur
- Authentification
- Bases de données
- Outils de développement
- E-mail
- Utilitaires
- Ressources
- Ressources officielles
- Ressources externes
- Baladodiffusions
- Articles
- Tutoriels
- Pourparlers
- Vidéos
- Cours
- Meilleures pratiques
- Hébergement
- Projets
- Passe-partout
- Images Docker
- Projets open source
- Commanditaires
Extensions tierces
Administrateur
- FastAPI Admin - Panneau d'administration fonctionnel qui fournit une interface utilisateur pour effectuer des opérations CRUD sur vos données. Fonctionne actuellement uniquement avec le Tortoise ORM.
- FastAPI Amis Admin - Un framework d'administration FastAPI hautes performances, efficace et facilement extensible.
- Piccolo Admin - Une interface graphique d'administration puissante et moderne, utilisant l'ORM Piccolo.
- SQLAlchemy Admin - Panneau d'administration pour FastAPI/Starlette qui fonctionne avec les modèles SQLAlchemy.
- Starlette Admin - Framework d'administration pour FastAPI/Starlette, prenant en charge SQLAlchemy, SQLModel, MongoDB et ODMantic.
Authentification
- AuthX - Authentifications personnalisables et gestion Oauth2 pour FastAPI.
- FastAPI Auth - Auth enfichable qui prend en charge le flux de mots de passe OAuth2 avec les jetons d'accès et d'actualisation JWT.
- FastAPI Azure Auth - Authentification Azure AD pour vos API avec prise en charge mono et multi-locataire.
- FastAPI Cloud Auth - Intégration simple entre FastAPI et les services d'authentification cloud (AWS Cognito, Auth0, Firebase Authentication).
- Connexion FastAPI - Gestion de compte et authentification (basée sur Flask-Login).
- FastAPI JWT Auth - Auth JWT (basé sur Flask-JWT-Extended).
- Autorisations FastAPI - Autorisations au niveau des lignes.
- Sécurité FastAPI - Implémente l'authentification et l'autorisation en tant que dépendances dans FastAPI.
- FastAPI Simple Security - Sécurité des clés API prêtes à l'emploi gérable via des opérations de chemin.
- Utilisateurs FastAPI - Gestion de compte, authentification, autorisation.
Bases de données
ORM
- Edgy ORM – Des bases de données complexes simplifiées.
- FastAPI SQLAlchemy - Intégration simple entre FastAPI et SQLAlchemy.
- Fastapi-SQLA - Extension SQLAlchemy pour FastAPI avec prise en charge de la pagination, asyncio et pytest.
- FastAPIwee - Un moyen simple de créer une API REST basée sur des modèles PeeWee.
- GINO - Un ORM asynchrone léger construit sur le noyau SQLAlchemy pour Python asyncio.
- ORM - Un ORM asynchrone.
- ormar - Ormar est un ORM asynchrone qui utilise la validation Pydantic et peut être utilisé directement dans les requêtes et réponses FastAPI, vous n'avez donc qu'un seul ensemble de modèles à gérer. Migrations d'alambic incluses.
- Exemple FastAPI - Utilisation de FastAPI avec ormar.
- Piccolo - Un ORM asynchrone et un générateur de requêtes, prenant en charge Postgres et SQLite, avec des batteries (migrations, sécurité, etc.).
- Exemples FastAPI - Utilisation de FastAPI avec Piccolo.
- Prisma Client Python - Un ORM généré automatiquement, entièrement sécurisé, alimenté par Pydantic et adapté spécifiquement à votre schéma - prend en charge SQLite, PostgreSQL, MySQL, MongoDB, MariaDB et plus encore.
- Tortoise ORM - Un ORM asyncio (Object Relational Mapper) facile à utiliser inspiré de Django.
- Exemple FastAPI - Un exemple de l'intégration Tortoise-ORM FastAPI.
- Tutoriel : Configuration de Tortoise ORM avec FastAPI
- Aerich - Outils de migration Tortoise ORM.
- Saffier ORM – Le seul ORM Python dont vous aurez besoin.
- SQLModel - SQLModel (qui est alimenté par Pydantic et SQLAlchemy) est une bibliothèque permettant d'interagir avec des bases de données SQL à partir de code Python, avec des objets Python.
Générateurs de requêtes
- asyncpgsa - Un wrapper autour d'asyncpg à utiliser avec SQLAlchemy Core.
- Bases de données - Générateur de requêtes SQL asynchrone qui fonctionne sur le langage d'expression SQLAlchemy Core.
ODM
- Beanie - ODM Python asynchrone pour MongoDB, basé sur Motor et Pydantic, qui prend en charge les migrations de données et de schémas prêtes à l'emploi.
- MongoEngine - Un mappeur document-objet (pensez ORM, mais pour les bases de données de documents) pour travailler avec MongoDB à partir de Python.
- Motor - Pilote Python asynchrone pour MongoDB.
- ODMantic - AsyncIO MongoDB ODM intégré à Pydantic.
- PynamoDB - Une interface pythonique pour DynamoDB d'Amazon.
Autres outils
- Pydantic-SQLAlchemy - Convertissez les modèles SQLAlchemy en modèles Pydantic.
- FastAPI-CamelCase - Prise en charge CamelCase JSON pour FastAPI utilisant Pydantic.
- Modèles CamelCase avec FastAPI et Pydantic - Article de blog d'accompagnement de l'auteur de l'extension.
Outils de développement
- Générateur de code FastAPI - Créez une application FastAPI à partir d'un fichier OpenAPI, permettant un développement basé sur un schéma.
- Générateur de client FastAPI - Générez un client API compatible avec mypy et IDE à partir d'une spécification OpenAPI.
- FastAPI Cruddy Framework - Une bibliothèque complémentaire à FastAPI conçue pour apporter la productivité de développement de Ruby on Rails, Ember.js ou Sails.js à l'écosystème FastAPI.
- FastAPI MVC - Outil de productivité des développeurs permettant de créer des API FastAPI de haute qualité prêtes pour la production.
- FastAPI Profiler - Un middleware FastAPI de joerick/pyinstrument pour vérifier les performances de votre service.
- Gestion des versions FastAPI - Gestion des versions API.
- API REST Jupyter Notebook - Exécutez vos notebooks Jupyter en tant que points de terminaison de l'API RESTful.
- Manage FastAPI - Outil CLI pour générer et gérer des projets FastAPI.
- msgpack-asgi - Négociation automatique du contenu du MessagePack.
E-mail
- FastAPI Mail - Système de messagerie léger pour l'envoi d'e-mails et de pièces jointes (individuelles et groupées).
Utilitaires
- ID de corrélation ASGI - Intergiciel de journalisation des ID de demande.
- FastAPI Cache - Un système de cache simple et léger.
- FastAPI Cache - Un outil pour mettre en cache les réponses et les résultats des fonctions FastAPI, avec prise en charge de Redis, Memcached, DynamoDB et des backends en mémoire.
- FastAPI Chameleon - Ajoute l'intégration du langage de modèle Chameleon à FastAPI.
- FastAPI CloudEvents - Intégration CloudEvents pour FastAPI.
- FastAPI Contrib - Ensemble d'utilitaires avisés : pagination, middleware d'authentification, autorisations, gestionnaires d'exceptions personnalisés, prise en charge de MongoDB et middleware Opentracing.
- FastAPI CRUDRouter - Un routeur FastAPI qui crée et documente automatiquement les routes CRUD pour vos modèles.
- Événements FastAPI - Bibliothèque de répartition/gestion d'événements asynchrones pour FastAPI et Starlette.
- FastAPI FeatureFlags - Implémentation simple d'indicateurs de fonctionnalités pour FastAPI.
- FastAPI Jinja - Ajoute l'intégration du langage de modèle Jinja à FastAPI.
- FastAPI Lazy - Package Lazy pour démarrer votre projet à l'aide de FastAPI.
- FastAPI Limiter - Un limiteur de taux de requêtes pour FastAPI.
- FastAPI MQTT - Une extension pour le protocole MQTT.
- FastAPI Opentracing - Prise en charge du middleware Opentracing et du traçage de base de données pour FastAPI.
- Pagination FastAPI - Pagination pour FastAPI.
- Plugins FastAPI - Plugins Redis et Scheduler.
- FastAPI ServiceUtils - Générateur pour créer des services API.
- FastAPI SocketIO - Intégration facile pour FastAPI et SocketIO.
- Utilitaires FastAPI - Utilitaires réutilisables : vues basées sur les classes, routeur d'inférence de réponse, tâches périodiques, middleware de synchronisation, session SQLAlchemy, simplification des spécifications OpenAPI.
- FastAPI Websocket Pub/Sub : le modèle pub/sub classique rendu facilement accessible et évolutif sur le Web et sur votre cloud en temps réel.
- FastAPI Websocket RPC - RPC (RPC JSON bidirectionnel) sur Websockets rendu simple, robuste et prêt pour la production.
- OpenTelemetry FastAPI Instrumentation - La bibliothèque fournit une instrumentation automatique et manuelle des frameworks Web FastAPI, instrumentant les requêtes http servies par les applications utilisant le framework.
- Prerender Python Starlette - Middleware Starlette pour Prerender.
- Prometheus FastAPI Instrumentator - Un instrument Prometheus configurable et modulaire pour votre application FastAPI.
- SlowApi - Limiteur de débit (basé sur Flask-Limiter).
- Starlette Context - Vous permet de stocker et d'accéder aux données de la demande n'importe où dans votre projet, utile pour la journalisation.
- Starlette Exporter - Une intégration prometheus supplémentaire pour FastAPI et Starlette.
- Starlette OpenTracing - Prise en charge d'Opentracing pour Starlette et FastAPI.
- Starlette Prometheus - Intégration Prometheus pour FastAPI et Starlette.
- Strawberry GraphQL - Bibliothèque Python GraphQL basée sur des classes de données.
Ressources
Ressources officielles
- Documentation - Documentation complète.
- Tutoriel - Tutoriel officiel vous montrant comment utiliser FastAPI avec la plupart de ses fonctionnalités, étape par étape.
- Code source - Hébergé sur GitHub.
- Discord - Discutez avec d'autres utilisateurs de FastAPI.
Ressources externes
- TestDriven.io FastAPI – Plusieurs articles spécifiques à FastAPI qui se concentrent sur le développement et le test d'API RESTful prêtes pour la production, la fourniture de modèles d'apprentissage automatique, et bien plus encore.
Baladodiffusions
- Créez la nouvelle génération d'applications Web Python avec FastAPI - Dans cet épisode de Podcast Init, le créateur de FastAPI, Sebastián Ramirez, partage ses motivations pour créer FastAPI et son fonctionnement sous le capot.
- FastAPI sur PythonBytes - Bel aperçu du projet.
Articles
- FastAPI a ruiné Flask pour toujours pour moi
- Pourquoi nous sommes passés de Flask à FastAPI pour l'apprentissage automatique en production - Examinez en profondeur pourquoi vous souhaiterez peut-être passer de Flask à FastAPI.
Tutoriels
- Async SQLAlchemy avec FastAPI - Découvrez comment utiliser SQLAlchemy de manière asynchrone.
- Créez et sécurisez une API en Python avec FastAPI - Sécurisez et maintenez une API basée sur FastAPI et SQLAlchemy.
- Déployer une application FastAPI Dockerisée sur Google Cloud Platform : un petit guide pour déployer une application Python Dockerisée sur Google Cloud Platform à l'aide de Cloud Run et d'une instance SQL.
- Déployez des modèles d'apprentissage automatique avec Keras, FastAPI, Redis et Docker
- Déploiement des classifications Iris avec FastAPI et Docker - Dockerisation d'une application FastAPI.
- Développement et test d'une API asynchrone avec FastAPI et Pytest - Développez et testez une API asynchrone avec FastAPI, Postgres, Pytest et Docker à l'aide du développement piloté par les tests.
- FastAPI pour les utilisateurs de Flask - Apprenez FastAPI avec une comparaison de code côte à côte avec Flask.
- Premiers pas avec GraphQL en Python avec FastAPI et Ariadne - Générez un terrain de jeu FullStack à l'aide de FastAPI, GraphQL et Ariadne.
- Implémentation des services FastAPI – Abstraction et séparation des préoccupations – Application et structure de service FastAPI pour une base de code plus maintenable.
- Présentation de FARM Stack - FastAPI, React et MongoDB - Premiers pas avec une pile complète d'applications Web FastAPI.
- Multilocation avec FastAPI, SQLAlchemy et PostgreSQL - Découvrez comment rendre les applications FastAPI prêtes pour le multi-tenant.
- Portage de Flask vers FastAPI pour le service de modèles ML - Comparaison de Flask et FastAPI.
- Streaming de données en temps réel à l'aide de FastAPI et WebSockets : découvrez comment diffuser des données de FastAPI directement dans un graphique en temps réel.
- Exécution d'applications FastAPI en production - Utilisez Gunicorn avec systemd pour les déploiements en production.
- Servir des modèles d'apprentissage automatique avec FastAPI en Python - Utilisez FastAPI pour déployer et servir rapidement et facilement des modèles d'apprentissage automatique en Python en tant qu'API RESTful.
- Streaming vidéo avec FastAPI - Découvrez comment diffuser des flux vidéo.
- Utilisation d'hypothèses et de schémas pour tester FastAPI - Appliquez des tests basés sur les propriétés à FastAPI.
Pourparlers
- PyConBY 2020 : servez facilement des modèles ML avec FastAPI - Dans l'exposé de Sebastian Ramirez, vous apprendrez comment créer facilement une API Web (JSON) prête pour la production pour vos modèles ML avec FastAPI, y compris les meilleures pratiques par défaut.
- PyCon UK 2019 : FastAPI à partir de zéro - Cette présentation montre comment créer une API REST simple pour une base de données à partir de zéro à l'aide de FastAPI.
Vidéos
- Création d'un filtreur d'actions avec FastAPI - Lorsque vous créez un filtreur d'actions basé sur le Web avec FastAPI, vous découvrirez de nombreuses fonctionnalités de FastAPI, notamment les modèles Pydantic, l'injection de dépendances, les tâches en arrière-plan et l'intégration de SQLAlchemy.
- Création d'API Web à l'aide de FastAPI - Utilisez FastAPI pour créer une interface de programmation d'applications Web (API RESTful).
- FastAPI - Un framework Web pour Python - Découvrez comment effectuer des validations numériques avec FastAPI.
- FastAPI vs Django vs Flask – Quel framework est le meilleur pour Python en 2020 ? Qui utilise async/wait le mieux ? Quel est le plus rapide ?
- Servir des modèles d'apprentissage automatique en tant qu'API avec FastAPI - Créez une API d'apprentissage automatique avec FastAPI.
Cours
- Développement piloté par les tests avec FastAPI et Docker - Découvrez comment créer, tester et déployer un microservice de synthèse de texte avec Python, FastAPI et Docker.
- API modernes avec FastAPI et Python - Un cours conçu pour vous permettre de créer rapidement de nouvelles API exécutées dans le cloud avec FastAPI.
- Cours Applications Web complètes avec FastAPI - Vous apprendrez à créer des applications Web complètes avec FastAPI, équivalentes à ce que vous pouvez faire avec Flask ou Django.
- Le guide définitif de Celery et FastAPI - Découvrez comment ajouter Celery à une application FastAPI pour fournir un traitement de tâches asynchrone.
Meilleures pratiques
- FastAPI Best Practices - Collection de bonnes pratiques dans un dépôt GitHub.
Hébergement
PaaS
(Plateformes en tant que service)
- AWS Elastic Beanstalk
- Données (exemple)
- Fly (tutoriel, Déployer à partir d'un dépôt Git)
- Moteur d'application Google
- Heroku (Tutoriel étape par étape, modèle ML sur le didacticiel Heroku)
- Service d'application Microsoft Azure
IaaS
(Infrastructure en tant que service)
- AWS EC2
- Moteur de calcul Google
- Océan numérique
- Linode
Sans serveur
Cadres :
- Calice
- Mangum - Adaptateur pour exécuter des applications ASGI avec AWS Lambda et API Gateway.
- Vercel - (anciennement Zeit) (exemple).
Calculer:
- AWS Lambda (exemple)
- Fonctions Google Cloud
- Fonctions Azure
- Google Cloud Run (exemple)
Projets
Passe-partout
- Full Stack FastAPI et PostgreSQL - Base Project Generator - Full Stack FastAPI Template , qui comprend FastAPI, React, SQLModel, PostgreSQL, Docker, GitHub Actions, HTTPS automatique, etc. (développé par le créateur de FastAPI, Sebastián Ramírez).
- FastAPI et Tortoise ORM - Modèle puissant mais simple pour les API Web avec FastAPI (comme framework Web) et Tortoise-ORM (pour travailler via une base de données sans maux de tête).
- FastAPI Model Server Skeleton - Application Skeleton pour servir des modèles d'apprentissage automatique prêts pour la production.
- cookiecutter-spacy-fastapi - Déploiements rapides de modèles spaCy avec FastAPI.
- cookiecutter-fastapi - Modèle Cookiecutter pour les projets FastAPI utilisant : Machine Learning, Poetry, Azure Pipelines et pytest.
- openapi-python-client - Générez des clients Python FastAPI modernes (via FastAPI) à partir d'OpenAPI.
- Pywork - Générateur Yeoman pour échafauder une application FastAPI.
- fastapi-gino-arq-uvicorn - Modèle pour une API REST asynchrone hautes performances, en Python. FastAPI + GINO + Arq + Uvicorn (avec Redis et PostgreSQL).
- Modèle FastAPI et React - Modèle standard de coupe-biscuits à pile complète utilisant FastAPI, TypeScript, Docker, PostgreSQL et React.
- FastAPI Nano - Modèle FastAPI simple avec architecture de modèle d'usine.
- Modèle FastAPI - Générateur de projet FastAPI flexible et léger. Il inclut la prise en charge de SQLAlchemy, de plusieurs bases de données, CI/CD, Docker et Kubernetes.
- FastAPI sur Google Cloud Run – Boilerplate pour la création d'API avec FastAPI, SQLModel et Google Cloud Run.
- FastAPI avec Firestore – Boilerplate pour la création d'API avec FastAPI et Google Cloud Firestore.
- fastapi-alembic-sqlmodel-async - Il s'agit d'un modèle de projet qui utilise FastAPI, Alembic et async SQLModel comme ORM.
- fastapi-starter-project - Un modèle de projet qui utilise FastAPI, SQLModel, Alembic, Pytest, Docker, GitHub Actions CI.
- Full Stack FastAPI et MongoDB - Base Project Generator - Générateur d'applications Web moderne et complet, qui comprend FastAPI, MongoDB, Docker, Celery, l'interface React, HTTPS automatique et plus encore.
Images Docker
- inboard - Images Docker pour alimenter vos applications FastAPI et vous aider à expédier plus rapidement.
- uvicorn-gunicorn-fastapi-docker - Image Docker avec Uvicorn gérée par Gunicorn pour les applications Web FastAPI hautes performances en Python 3.7 et 3.6 avec réglage automatique des performances.
- uvicorn-gunicorn-poetry - Cette image Docker fournit une plate-forme pour exécuter FastAPI à l'aide de Gunicorn avec les travailleurs Uvicorn. Il fournit Poetry pour gérer les dépendances et mettre en place un environnement virtuel dans le conteneur.
- uvicorn-poetry - Cette image Docker fournit une plate-forme pour exécuter FastAPI avec Uvicorn sur le système d'orchestration de conteneurs Kubernetes. Il fournit Poetry pour gérer les dépendances et mettre en place un environnement virtuel dans le conteneur.
Projets open source
- Astrobase - Déploiements simples, rapides et sécurisés partout.
- Projets Awesome FastAPI - Liste organisée de projets qui utilisent FastAPI.
- Bitcart - Plateforme pour les commerçants, les utilisateurs et les développeurs qui offre une configuration et une utilisation faciles.
- Bali - Simplifiez la base de développement de microservices Cloud Native sur FastAPI et gRPC.
- Bunnybook - Un petit réseau social construit avec FastAPI, React+RxJs, Neo4j, PostgreSQL et Redis.
- Coronavirus-tg-api - API pour suivre l'épidémie mondiale de coronavirus (COVID-19, SARS-CoV-2).
- Dispatch - Gérer les incidents de sécurité.
- Exemple de CRUD FastAPI :
- Saveur asynchrone
- Saveur de synchronisation
- FastAPI avec observabilité - Observez l'application FastAPI avec trois piliers d'observabilité : traces (Tempo), métriques (Prometheus), journaux (Loki) sur Grafana via OpenTelemetry et OpenMetrics.
- DogeAPI - API hautes performances pour créer un blog simple et CRUD avec OAuth2PasswordBearer.
- FastAPI Websocket Broadcast - Démo de « diffusion » de Websocket.
- FastAPI avec Celery, RabbitMQ et Redis - Exemple minimal utilisant FastAPI et Celery avec RabbitMQ pour la file d'attente des tâches, Redis pour le backend Celery et Flower pour surveiller les tâches Celery.
- JeffQL - API simple d'authentification et de connexion utilisant GraphQL et JWT.
- Serveur JSON-RPC - Serveur JSON-RPC basé sur FastAPI.
- Mailer - Micro-service de messagerie extrêmement simple pour les sites Web statiques.
- Markdown-Videos - API pour générer des vignettes à intégrer dans votre contenu markdown.
- Nemo - Soyez productif avec Nemo.
- OPAL (Open Policy Administration Layer) - Mises à jour des autorisations en temps réel au-dessus d'Open-Policy ; construit avec FastAPI, Typer et FastAPI WebSocket pub/sub.
- Exemple d'application RealWorld - mongo
- Exemple d'application RealWorld - postgres
- redis-streams-fastapi-chat - Une simple application de chat basée sur Redis Streams utilisant Websockets, Asyncio et FastAPI/Starlette.
- Sprites en tant que service - Générez vos avatars personnels 8 bits à l'aide de Cellular Automata.
- Slackers - API des webhooks Slack.
- TermPair - Affichez et contrôlez les terminaux depuis votre navigateur avec un cryptage de bout en bout.
- Universités - Service API pour obtenir des informations sur +9600 universités dans le monde.
Commanditaires
Veuillez soutenir ce projet open source en consultant nos sponsors :