FastAPI
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.1223 de marzo de 2025 | |
Enlaces | ||
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.
Componentes
[editar]Pydantic
[editar]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
[editar]Starlette es un conjunto de herramientas/marco ASGI liviano que admite la funcionalidad asincrónica en Python. [5]
Uvicorn
[editar]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]
Integración OpenAPI
[editar]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]
Ejemplo
[editar]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!"
Referencias
[editar]- ↑ «fastapi repo». GitHub. 5 de diciembre de 2018.
- ↑ «FastAPI». fastapi.tiangolo.com. Consultado el 10 de abril de 2024.
- ↑ Lubanovic, Bill (6 de noviembre de 2019). Introducing Python: Modern Computing in Simple Packages (2nd edición). O'Reilly Media, Inc. pp. 397, 418. ISBN 9781492051367.
- ↑ «Why use Pydantic - Pydantic». docs.pydantic.dev. Consultado el 21 de septiembre de 2023.
- ↑ «Starlette». www.starlette.io. Consultado el 21 de septiembre de 2023.
- ↑ «ASGI Documentation — ASGI 3.0 documentation». asgi.readthedocs.io. Consultado el 5 de febrero de 2025.
- ↑ «Restarting 'uvicorn' Workers with the 'SIGHUP' Signal». bugfactory.io. Consultado el 17 de junio de 2024.
- ↑ «Document a FastAPI App with OpenAPI». Linode Guides & Tutorials (en inglés). 6 de agosto de 2021. Consultado el 5 de febrero de 2025.