FastAPI es un framework web de alto rendimiento para crear API de servicios basados en HTTP en Python 3.8+. [2] Utiliza Pydantic y sugerencias de tipo para validar, serializar y deserializar datos. FastAPI también genera automáticamente documentación OpenAPI para las API creadas con él.[3] Se lanzó por primera vez en 2018.
FastAPI | ||
---|---|---|
Información general | ||
Tipo de programa | framework | |
Autor | Sebastián Ramírez Montaño | |
Lanzamiento inicial | 05 de diciembre de 2018[1] | |
Licencia | Licencia MIT | |
Información técnica | ||
Programado en | Python | |
Versiones | ||
Última versión estable | 0.115.722 de enero de 2025 | |
Enlaces | ||
Sitio web oficial
Repositorio de código
| ||
Pydantic es una biblioteca de validación de datos para Python. Al escribir código en un IDE, Pydantic proporciona sugerencias de tipo para la validación y serialización del esquema a través de anotaciones de tipo.[4]
Starlette es un conjunto de herramientas/marco ASGI liviano que admite la funcionalidad asincrónica en Python. [5]
Uvicorn es un servidor web/servidor de aplicaciones de bajo nivel mínimo para marcos asincrónicos, que sigue la especificación ASGI.[6] Técnicamente, implementa un modelo multiproceso con un proceso principal, que es responsable de administrar un grupo de procesos de trabajo y distribuirles las solicitudes HTTP entrantes. El número de procesos de trabajo está preconfigurado, pero también se puede ajustar hacia arriba o hacia abajo en tiempo de ejecución. [7]
FastAPI genera automáticamente documentación OpenAPI para sus API. Esta documentación incluye Swagger UI y ReDoc, que proporcionan documentación API interactiva que puede utilizar para explorar y probar sus puntos finales en tiempo real. Esto es particularmente útil para desarrollar, probar y compartir API con otros desarrolladores o usuarios. [8]
El siguiente código muestra una aplicación web simple que muestra "¡Hola mundo!", cuando se visita:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return "Hello World!"