Impresionante API rápida |
Una lista seleccionada de cosas increíbles relacionadas con FastAPI.
FastAPI es un marco web Python moderno, de alto rendimiento y con baterías incluidas, perfecto para crear API RESTful.
Contenido
- Extensiones de terceros
- Administración
- autenticación
- Bases de datos
- Herramientas para desarrolladores
- Correo electrónico
- Utilidades
- Recursos
- Recursos oficiales
- Recursos externos
- Pódcasts
- Artículos
- Tutoriales
- Negociaciones
- Vídeos
- Cursos
- Mejores prácticas
- Alojamiento
- Proyectos
- repetitivo
- Imágenes de Docker
- Proyectos de código abierto
- Patrocinadores
Extensiones de terceros
Administración
- FastAPI Admin: panel de administración funcional que proporciona una interfaz de usuario para realizar operaciones CRUD en sus datos. Actualmente solo funciona con Tortoise ORM.
- FastAPI Amis Admin: un marco de administración FastAPI de alto rendimiento, eficiente y fácilmente extensible.
- Piccolo Admin: una GUI de administración potente y moderna que utiliza Piccolo ORM.
- Administrador de SQLAlchemy: panel de administración para FastAPI/Starlette que funciona con modelos de SQLAlchemy.
- Starlette Admin: marco de administración para FastAPI/Starlette, compatible con SQLAlchemy, SQLModel, MongoDB y ODMantic.
autenticación
- AuthX: autenticaciones personalizables y gestión de Oauth2 para FastAPI.
- Autenticación FastAPI: autenticación conectable que admite el flujo de contraseñas OAuth2 con acceso JWT y tokens de actualización.
- FastAPI Azure Auth: autenticación de Azure AD para sus API con soporte para uno o varios inquilinos.
- FastAPI Cloud Auth: integración sencilla entre FastAPI y los servicios de autenticación en la nube (AWS Cognito, Auth0, Firebase Authentication).
- Inicio de sesión FastAPI: gestión y autenticación de cuentas (basado en Flask-Login).
- FastAPI JWT Auth: autenticación JWT (basada en Flask-JWT-Extended).
- Permisos FastAPI: permisos a nivel de fila.
- Seguridad FastAPI: implementa autenticación y autorización como dependencias en FastAPI.
- FastAPI Simple Security: seguridad de clave API lista para usar que se puede administrar a través de operaciones de ruta.
- Usuarios de FastAPI: gestión de cuentas, autenticación, autorización.
Bases de datos
ORM
- Edgy ORM: bases de datos complejas simplificadas.
- FastAPI SQLAlchemy: integración sencilla entre FastAPI y SQLAlchemy.
- Fastapi-SQLA: extensión SQLAlchemy para FastAPI con soporte para paginación, asyncio y pytest.
- FastAPIwee: una forma sencilla de crear API REST basada en modelos de PeeWee.
- GINO: un ORM asincrónico liviano construido sobre el núcleo SQLAlchemy para Python asyncio.
- ORM: un ORM asíncrono.
- ormar: Ormar es un ORM asíncrono que utiliza validación Pydantic y se puede usar directamente en solicitudes y respuestas FastAPI, por lo que solo le queda un conjunto de modelos que mantener. Migraciones de alambique incluidas.
- Ejemplo de FastAPI: uso de FastAPI con ormar.
- Piccolo: un generador de consultas y ORM asíncrono, compatible con Postgres y SQLite, con baterías (migraciones, seguridad, etc.).
- Ejemplos de FastAPI: uso de FastAPI con Piccolo.
- Prisma Client Python: un ORM totalmente seguro y generado automáticamente, impulsado por Pydantic y diseñado específicamente para su esquema, admite SQLite, PostgreSQL, MySQL, MongoDB, MariaDB y más.
- Tortoise ORM: un ORM asyncio (Object Relational Mapper) fácil de usar inspirado en Django.
- Ejemplo de FastAPI: un ejemplo de la integración Tortoise-ORM FastAPI.
- Tutorial: Configuración de Tortoise ORM con FastAPI
- Aerich: herramientas de migraciones ORM de Tortoise.
- Saffier ORM: el único ORM de Python que necesitará.
- SQLModel: SQLModel (que funciona con Pydantic y SQLAlchemy) es una biblioteca para interactuar con bases de datos SQL desde código Python, con objetos Python.
Constructores de consultas
- asyncpgsa: un contenedor de asyncpg para usar con SQLAlchemy Core.
- Bases de datos: generador de consultas SQL asíncronas que funciona sobre el lenguaje de expresión SQLAlchemy Core.
ODM
- Beanie: ODM de Python asíncrono para MongoDB, basado en Motor y Pydantic, que admite migraciones de datos y esquemas listos para usar.
- MongoEngine: un mapeador de documentos y objetos (piense en ORM, pero para bases de datos de documentos) para trabajar con MongoDB desde Python.
- Motor: controlador Python asíncrono para MongoDB.
- ODMantic: AsyncIO MongoDB ODM integrado con Pydantic.
- PynamoDB: una interfaz pitónica para DynamoDB de Amazon.
Otras herramientas
- Pydantic-SQLAlchemy: convierte modelos SQLAlchemy en modelos Pydantic.
- FastAPI-CamelCase: compatibilidad con CamelCase JSON para FastAPI utilizando Pydantic.
- Modelos CamelCase con FastAPI y Pydantic: publicación de blog adjunta del autor de la extensión.
Herramientas para desarrolladores
- Generador de código FastAPI: cree una aplicación FastAPI a partir de un archivo OpenAPI, lo que permite el desarrollo basado en esquemas.
- Generador de clientes FastAPI: genere un cliente API compatible con mypy e IDE a partir de una especificación OpenAPI.
- FastAPI Cruddy Framework: una biblioteca complementaria de FastAPI diseñada para llevar la productividad de desarrollo de Ruby on Rails, Ember.js o Sails.js al ecosistema FastAPI.
- FastAPI MVC: herramienta de productividad para desarrolladores para crear API FastAPI listas para producción de alta calidad.
- FastAPI Profiler: un middleware FastAPI de joerick/pyinstrument para comprobar el rendimiento de su servicio.
- Control de versiones FastAPI: control de versiones de API.
- API REST de Jupyter Notebook: ejecute sus cuadernos de Jupyter como puntos finales de API RESTful.
- Manage FastAPI: herramienta CLI para generar y gestionar proyectos FastAPI.
- msgpack-asgi: negociación automática de contenido de MessagePack.
Correo electrónico
- FastAPI Mail: sistema de correo liviano para enviar correos electrónicos y archivos adjuntos (individuales y masivos).
Utilidades
- ID de correlación ASGI: middleware de registro de ID de solicitud.
- FastAPI Cache: un sistema de caché sencillo y ligero.
- FastAPI Cache: una herramienta para almacenar en caché la respuesta FastAPI y los resultados de las funciones, con soporte para Redis, Memcached, DynamoDB y backends en memoria.
- FastAPI Chameleon: agrega integración del lenguaje de plantilla Chameleon a FastAPI.
- FastAPI CloudEvents: integración de CloudEvents para FastAPI.
- FastAPI Contrib: conjunto de utilidades de opinión: paginación, middleware de autenticación, permisos, controladores de excepciones personalizados, compatibilidad con MongoDB y middleware Opentracing.
- FastAPI CRUDRouter: un enrutador FastAPI que crea y documenta automáticamente rutas CRUD para sus modelos.
- Eventos FastAPI: biblioteca de envío/manejo de eventos asincrónicos para FastAPI y Starlette.
- FastAPI FeatureFlags: implementación sencilla de indicadores de funciones para FastAPI.
- FastAPI Jinja: agrega integración del lenguaje de plantilla Jinja a FastAPI.
- FastAPI Lazy: paquete Lazy para iniciar su proyecto usando FastAPI.
- Limitador FastAPI: un limitador de tasa de solicitudes para FastAPI.
- FastAPI MQTT: una extensión para el protocolo MQTT.
- FastAPI Opentracing: middleware Opentracing y soporte de seguimiento de bases de datos para FastAPI.
- Paginación FastAPI: paginación para FastAPI.
- Complementos FastAPI: complementos de Redis y Scheduler.
- FastAPI ServiceUtils: generador para crear servicios API.
- FastAPI SocketIO: fácil integración para FastAPI y SocketIO.
- Utilidades FastAPI: utilidades reutilizables: vistas basadas en clases, enrutador de inferencia de respuesta, tareas periódicas, middleware de temporización, sesión SQLAlchemy, simplificación de especificaciones OpenAPI.
- FastAPI Websocket Pub/Sub: el patrón clásico de pub/sub, fácilmente accesible y escalable a través de la web y de la nube en tiempo real.
- FastAPI Websocket RPC: RPC (JSON RPC bidireccional) sobre Websockets fácil, robusto y listo para producción.
- Instrumentación OpenTelemetry FastAPI: la biblioteca proporciona instrumentación automática y manual de marcos web FastAPI, instrumentando solicitudes http atendidas por aplicaciones que utilizan el marco.
- Prerender Python Starlette: middleware Starlette para Prerender.
- Instrumentador Prometheus FastAPI: un instrumentador Prometheus modular y configurable para su aplicación FastAPI.
- SlowApi: limitador de velocidad (basado en Flask-Limiter).
- Contexto Starlette: le permite almacenar y acceder a los datos de la solicitud en cualquier lugar de su proyecto, lo que resulta útil para iniciar sesión.
- Starlette Exporter: una integración más de Prometheus para FastAPI y Starlette.
- Starlette OpenTracing: compatibilidad con Opentracing para Starlette y FastAPI.
- Starlette Prometheus: integración de Prometheus para FastAPI y Starlette.
- Strawberry GraphQL: biblioteca Python GraphQL basada en clases de datos.
Recursos
Recursos oficiales
- Documentación - Documentación completa.
- Tutorial: tutorial oficial que muestra cómo utilizar FastAPI con la mayoría de sus funciones, paso a paso.
- Código fuente: alojado en GitHub.
- Discord: chatea con otros usuarios de FastAPI.
Recursos externos
- TestDriven.io FastAPI: varios artículos específicos de FastAPI que se centran en desarrollar y probar API RESTful listas para producción, ofrecer modelos de aprendizaje automático y más.
Pódcasts
- Cree la próxima generación de aplicaciones web Python con FastAPI: en este episodio de Podcast Init, el creador de FastAPI, Sebastián Ramirez, comparte sus motivaciones para crear FastAPI y cómo funciona internamente.
- FastAPI en PythonBytes: buena descripción general del proyecto.
Artículos
- FastAPI me ha arruinado Flask para siempre
- Por qué cambiamos de Flask a FastAPI para el aprendizaje automático de producción: análisis en profundidad de por qué es posible que desee pasar de Flask a FastAPI.
Tutoriales
- SQLAlchemy asíncrono con FastAPI: aprenda a utilizar SQLAlchemy de forma asincrónica.
- Cree y proteja una API en Python con FastAPI: proteja y mantenga una API basada en FastAPI y SQLAlchemy.
- Implementar una aplicación Dockerizada FastAPI en Google Cloud Platform: una breve guía para implementar una aplicación Dockerizada Python en Google Cloud Platform usando Cloud Run y una instancia de SQL.
- Implemente modelos de aprendizaje automático con Keras, FastAPI, Redis y Docker
- Implementación de clasificaciones de Iris con FastAPI y Docker: Dockerización de una aplicación FastAPI.
- Desarrollo y prueba de una API asincrónica con FastAPI y Pytest: desarrolle y pruebe una API asincrónica con FastAPI, Postgres, Pytest y Docker mediante el desarrollo basado en pruebas.
- FastAPI para usuarios de Flask: aprenda FastAPI con una comparación de código en paralelo con Flask.
- Comenzando con GraphQL en Python con FastAPI y Ariadne: genere un área de juegos FullStack usando FastAPI, GraphQL y Ariadne.
- Implementación de servicios FastAPI: abstracción y separación de preocupaciones: estructura de servicios y aplicaciones FastAPI para una base de código más fácil de mantener.
- Presentamos FARM Stack: FastAPI, React y MongoDB: introducción a una pila completa de aplicaciones web FastAPI.
- Multitenencia con FastAPI, SQLAlchemy y PostgreSQL: aprenda cómo preparar las aplicaciones FastAPI para múltiples inquilinos.
- Migración de Flask a FastAPI para el servicio de modelos de aprendizaje automático: comparación de Flask y FastAPI.
- Transmisión de datos en tiempo real mediante FastAPI y WebSockets: aprenda cómo transmitir datos desde FastAPI directamente a un gráfico en tiempo real.
- Ejecución de aplicaciones FastAPI en producción: utilice Gunicorn con systemd para implementaciones de producción.
- Servicio de modelos de aprendizaje automático con FastAPI en Python: utilice FastAPI para implementar y servir modelos de aprendizaje automático en Python como una API RESTful de forma rápida y sencilla.
- Transmisión de video con FastAPI: aprenda cómo ofrecer transmisiones de video.
- Uso de hipótesis y esquemas para probar FastAPI: aplique pruebas basadas en propiedades a FastAPI.
Negociaciones
- PyConBY 2020: sirva modelos de ML fácilmente con FastAPI: en la charla de Sebastián Ramírez aprenderá cómo crear fácilmente una API web (JSON) lista para producción para sus modelos de ML con FastAPI, incluidas las mejores prácticas de forma predeterminada.
- PyCon UK 2019: FastAPI desde cero: esta charla muestra cómo crear una API REST simple para una base de datos desde cero usando FastAPI.
Vídeos
- Creación de un evaluador de acciones con FastAPI: al crear un evaluador de acciones basado en web con FastAPI, se le presentarán muchas de las características de FastAPI, incluidos los modelos Pydantic, la inyección de dependencia, las tareas en segundo plano y la integración de SQLAlchemy.
- Creación de API web mediante FastAPI: utilice FastAPI para crear una interfaz de programación de aplicaciones web (API RESTful).
- FastAPI: un marco web para Python: vea cómo realizar validaciones numéricas con FastAPI.
- FastAPI frente a Django frente a Flask: ¿qué marco es mejor para Python en 2020? ¿Cuál usa async/await mejor? ¿Cuál es el más rápido?
- Sirviendo modelos de aprendizaje automático como API con FastAPI: cree una API de aprendizaje automático con FastAPI.
Cursos
- Desarrollo basado en pruebas con FastAPI y Docker: aprenda a crear, probar e implementar un microservicio de resumen de texto con Python, FastAPI y Docker.
- API modernas con FastAPI y Python: un curso diseñado para que puedas crear rápidamente nuevas API que se ejecutan en la nube con FastAPI.
- Curso de aplicaciones web completas con FastAPI: aprenderá a crear aplicaciones web completas con FastAPI, equivalente a lo que puede hacer con Flask o Django.
- La guía definitiva para Celery y FastAPI: aprenda cómo agregar Celery a una aplicación FastAPI para proporcionar procesamiento de tareas asincrónico.
Mejores prácticas
- Mejores prácticas de FastAPI: colección de mejores prácticas en un repositorio de GitHub.
Alojamiento
PaaS
(Plataformas como servicio)
- AWS Elástico Beanstalk
- Detalles (ejemplo)
- Fly (tutorial, implementación desde un repositorio de Git)
- Motor de aplicaciones de Google
- Heroku (tutorial paso a paso, modelo ML en el tutorial de Heroku)
- Servicio de aplicaciones de Microsoft Azure
IaaS
(Infraestructura como servicio)
- AWS EC2
- Motor de cómputo de Google
- Océano digital
- Linodo
Sin servidor
Marcos:
- Cáliz
- Mangum: adaptador para ejecutar aplicaciones ASGI con AWS Lambda y API Gateway.
- Vercel - (anteriormente Zeit) (ejemplo).
Calcular:
- AWS Lambda (ejemplo)
- Funciones de la nube de Google
- Funciones de Azure
- Ejecutar Google Cloud (ejemplo)
Proyectos
repetitivo
- Full Stack FastAPI y PostgreSQL - Generador de Proyectos Base - Plantilla Full Stack FastAPI, que incluye FastAPI, React, SQLModel, PostgreSQL, Docker, GitHub Actions, HTTPS automático y más (desarrollado por el creador de FastAPI, Sebastián Ramírez).
- FastAPI y Tortoise ORM: plantilla potente pero sencilla para API web con FastAPI (como marco web) y Tortoise-ORM (para trabajar a través de una base de datos sin dolores de cabeza).
- FastAPI Model Server Skeleton: aplicación Skeleton para ofrecer modelos de aprendizaje automático listos para producción.
- cookiecutter-spacy-fastapi: implementaciones rápidas de modelos spaCy con FastAPI.
- cookiecutter-fastapi: plantilla de Cookiecutter para proyectos FastAPI que utilizan: Machine Learning, Poetry, Azure Pipelines y pytest.
- openapi-python-client: genera clientes FastAPI Python modernos (a través de FastAPI) desde OpenAPI.
- Pywork: generador Yeoman para crear una aplicación FastAPI.
- fastapi-gino-arq-uvicorn: plantilla para una API REST asíncrona de alto rendimiento, en Python. FastAPI + GINO + Arq + Uvicorn (con Redis y PostgreSQL).
- Plantilla FastAPI y React: modelo estándar de cookiecutter de pila completa que utiliza FastAPI, TypeScript, Docker, PostgreSQL y React.
- FastAPI Nano: plantilla FastAPI simple con arquitectura de patrón de fábrica.
- Plantilla FastAPI: generador de proyectos FastAPI ligero y flexible. Incluye soporte para SQLAlchemy, múltiples bases de datos, CI/CD, Docker y Kubernetes.
- FastAPI en Google Cloud Run: modelo estándar para la creación de API con FastAPI, SQLModel y Google Cloud Run.
- FastAPI con Firestore: modelo estándar para la creación de API con FastAPI y Google Cloud Firestore.
- fastapi-alembic-sqlmodel-async: esta es una plantilla de proyecto que utiliza FastAPI, Alembic y SQLModel asíncrono como ORM.
- fastapi-starter-project: una plantilla de proyecto que utiliza FastAPI, SQLModel, Alembic, Pytest, Docker, GitHub Actions CI.
- Full Stack FastAPI y MongoDB: generador de proyectos base: generador de aplicaciones web moderno y de pila completa, que incluye FastAPI, MongoDB, Docker, Celery, interfaz React, HTTPS automático y más.
Imágenes de Docker
- interno: imágenes de Docker para potenciar sus aplicaciones FastAPI y ayudarlo a realizar envíos más rápido.
- uvicorn-gunicorn-fastapi-docker: imagen de Docker con Uvicorn administrada por Gunicorn para aplicaciones web FastAPI de alto rendimiento en Python 3.7 y 3.6 con ajuste automático de rendimiento.
- uvicorn-gunicorn-poetry: esta imagen de Docker proporciona una plataforma para ejecutar FastAPI usando Gunicorn con trabajadores de Uvicorn. Proporciona poesía para gestionar dependencias y configurar un entorno virtual en el contenedor.
- uvicorn-poetry: esta imagen de Docker proporciona una plataforma para ejecutar FastAPI con Uvicorn en el sistema de orquestación de contenedores Kubernetes. Proporciona poesía para gestionar dependencias y configurar un entorno virtual en el contenedor.
Proyectos de código abierto
- Astrobase: implementaciones simples, rápidas y seguras en cualquier lugar.
- Impresionantes proyectos FastAPI: lista organizada de proyectos que utilizan FastAPI.
- Bitcart: plataforma para comerciantes, usuarios y desarrolladores que ofrece una fácil configuración y uso.
- Bali: simplifique la base de desarrollo de microservicios nativos de la nube en FastAPI y gRPC.
- Bunnybook: una pequeña red social creada con FastAPI, React+RxJs, Neo4j, PostgreSQL y Redis.
- Coronavirus-tg-api: API para rastrear el brote global de coronavirus (COVID-19, SARS-CoV-2).
- Despacho - Gestionar incidentes de seguridad.
- Ejemplo CRUD de FastAPI:
- sabor asíncrono
- Sabor de sincronización
- FastAPI con observabilidad: observe la aplicación FastAPI con tres pilares de observabilidad: trazas (Tempo), métricas (Prometheus), registros (Loki) en Grafana a través de OpenTelemetry y OpenMetrics.
- DogeAPI: API de alto rendimiento para crear un blog sencillo y CRUD con OAuth2PasswordBearer.
- FastAPI Websocket Broadcast: demostración de 'transmisión' de Websocket.
- FastAPI con Celery, RabbitMQ y Redis: ejemplo mínimo que utiliza FastAPI y Celery con RabbitMQ para la cola de tareas, Redis para el backend de Celery y Flower para monitorear las tareas de Celery.
- JeffQL: API de inicio de sesión y autenticación simple utilizando GraphQL y JWT.
- Servidor JSON-RPC: servidor JSON-RPC basado en FastAPI.
- Mailer: microservicio de envío de correo muy sencillo para sitios web estáticos.
- Markdown-Videos: API para generar miniaturas para incrustarlas en su contenido de Markdown.
- Nemo: sé productivo con Nemo.
- OPAL (Capa de administración de políticas abiertas): actualizaciones de autorización en tiempo real además de Open-Policy; construido con FastAPI, Typer y FastAPI WebSocket pub/sub.
- Aplicación de ejemplo de RealWorld - mongo
- Aplicación de ejemplo de RealWorld - postgres
- redis-streams-fastapi-chat: una sencilla aplicación de chat respaldada por Redis Streams que utiliza Websockets, Asyncio y FastAPI/Starlette.
- Sprites como servicio: genera tus avatares personales de 8 bits utilizando Cellular Automata.
- Slackers: API de webhooks de Slack.
- TermPair: vea y controle terminales desde su navegador con cifrado de extremo a extremo.
- Universidades - Servicio API para obtener información sobre +9600 universidades en todo el mundo.
Patrocinadores
Apoye este proyecto de código abierto consultando a nuestros patrocinadores: