Bienvenido al repositorio de prácticas para el desarrollo con FastAPI en Python. Este documento proporciona información útil, ejemplos y recomendaciones para trabajar de manera efectiva con FastAPI.
FastAPI es un moderno y rápido framework web para construir APIs con Python 3.7+ basado en estándares y tipado de datos. Ofrece un rendimiento excepcional y una interfaz de desarrollo fácil de usar.
Para comenzar, instala FastAPI y el servidor ASGI (por ejemplo, Uvicorn) utilizando pip:
pip install fastapi uvicorn
Puedes ejecutar tu aplicación FastAPI utilizando Uvicorn con el siguiente comando:
uvicorn main:app --reload
Asegúrate de reemplazar main con el nombre de tu archivo principal y app con la instancia de tu aplicación FastAPI.
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"mensaje": "¡Hola, FastAPI!"}
@app.get("/items/{item_id}")
def read_item(item_id: int, query_param: str = None):
return {"item_id": item_id, "query_param": query_param}
FastAPI utiliza la validación de tipos para los datos de entrada y salida automáticamente.
from pydantic import BaseModel
class Item(BaseModel):
name: str
description: str = None
price: float
tax: float = None
@app.post("/items/")
def create_item(item: Item):
return item
Utiliza el sistema de dependencias y la inyección de dependencias de FastAPI para gestionar componentes de manera eficiente. Aprovecha las capacidades de la documentación interactiva generada automáticamente en http://localhost:8000/docs. Explora la integración sencilla con bibliotecas como SQLAlchemy, Tortoise-ORM, y OAuth2 para una funcionalidad extendida.
Instala las siguientes librerias para utilizar este repo:
fastapi
python-jose
passlib
bcrypt
pymongo
python-multipart
En este repo utilizare el curso de MoureDev en el que aprenderemos a utilizar Python para backend e implementaremos un API REST con autenticación, base de datos y desplegaremos el proyecto en un servidor real.
Clase en vídeo: https://youtu.be/_y9qQZXE24A?t=27335
Repositorio del Curso de MoureDev
Código: Directorio "Backend" en el proyecto
- Introducción
- Lección 01 - ¿Qué es un backend?
- Lección 02 - API y FastAPI
- Lección 03 - Type Hints
- Lección 04 - Configuración FastAPI
- Lección 05 - Hola mundo
- Lección 06 - Operación GET
- Lección 07 - Peticiones HTTP
- Lección 08 - Creación API
- Lección 09 - Path y Query
- Lección 10 - Operaciones POST, PUT y DELETE
- Lección 11 - HTTP status codes
- Lección 12 - Routers
- Lección 13 - Recursos estáticos
- Lección 14 - Autorización OAuth2
- Lección 15 - OAuth2 JWT
- Lección 16 - MongoDB
- Lección 17 - MongoDB Atlas
- Lección 18 - Despliegue en Deta *
- Próximos pasos
*ACTUALIZACIÓN Sobre la lección 18: Deta ha actualizado ligeramente su servicio de despliegue de aplicaciones con FastAPI. Tienes toda la documentación aquí. También han creado una guía de migración.
- Web oficial de Python
- Tutorial oficial de Python en Español
- Repo 30 días de Python
- Juego Codédex para aprender Python
- Visual Studio Code: El editor que estoy usando
- FastAPI: El framework para crear nuestra API Backend
- MongoDB: La base de datos que utiliza nuestro backend
- Deta: Para desplegar nuestra API en la nube
Siéntete libre de contribuir a este repositorio con ejemplos, prácticas y mejoras. ¡Tu colaboración es bienvenida!
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles. Este README proporciona una breve introducción a FastAPI, instrucciones de instalación, ejemplos de código y recomendaciones para el desarrollo. Puedes personalizar y expandir este documento según las necesidades específicas de tu proyecto. ¡Espero que sea útil!