Temario · Curso asincrónico
FastAPI + SQLModel
Construye APIs profesionales con Python siguiendo las guías oficiales de FastAPI y SQLModel. Ocho sesiones grabadas, una nueva cada lunes, y un proyecto de práctica en cada una.
- InicioLunes 14 de septiembre
- Ritmo1 sesión por semana
- Sesiones8 · 4 FastAPI + 4 SQLModel
- Inversión$250 MXN
-
Asincrónico
Cada lunes se publica una sesión grabada. La ves cuando quieras y avanzas a tu ritmo; todo queda disponible.
-
Guías oficiales
El orden y los ejemplos siguen los tutoriales de Sebastián Ramírez (tiangolo), el autor de ambas herramientas.
-
Un proyecto por sesión
Cada sesión termina en código que corre. En la sesión 8 todo se une en una API completa con base de datos.
-
Apoyo continuo
Grupo de WhatsApp para inscritos: dudas, revisión de código y acompañamiento durante todo el curso.
Bloque 1 · Sesiones 1 a 4
FastAPI
De la primera ruta a una API modular, con validación, autenticación y pruebas.
-
01 Lunes 14 de septiembre
Primeros pasos con FastAPI
- Instalación, la app y la primera ruta
- Path parameters y query parameters
- Tipos, conversión y validación automática
- Documentación interactiva: /docs, /redoc y OpenAPI
- Estructura mínima de un proyecto
Proyecto API de catálogo de cursos, solo lectura, con filtros por query.
@app.get("/cursos/{slug}")
-
02 Lunes 21 de septiembre
Datos de entrada y salida
- Request body con modelos Pydantic
- Validaciones con Query, Path y Body (Annotated)
- response_model: modelos de entrada y de salida
- Códigos de estado y manejo de errores con HTTPException
- Formularios y archivos
Proyecto CRUD de tareas en memoria con validación completa.
async def crear(tarea: TareaIn) -> TareaOut -
03 Lunes 28 de septiembre
Dependencias y seguridad
- Sistema de dependencias: Depends y sub-dependencias
- OAuth2 con password flow y tokens JWT
- Hash de contraseñas y usuario actual
- Proteger rutas y manejar sesiones expiradas
Proyecto Registro, login y rutas protegidas para la API de tareas.
user: Annotated[User, Depends(get_current_user)] -
04 Lunes 5 de octubre
Proyectos que crecen
- Bigger Applications: APIRouter, paquetes y prefijos
- Middleware y CORS
- Background tasks y archivos estáticos
- Pruebas con TestClient y pytest
Proyecto La API de tareas reorganizada en módulos, con pruebas automáticas.
app.include_router(tareas.router, prefix="/tareas")
Bloque 2 · Sesiones 5 a 8
SQLModel
Bases de datos con Python: modelos, consultas, relaciones y la integración final con FastAPI.
-
05 Lunes 12 de octubre
Modelos y tablas
- Qué es SQLModel: SQLAlchemy + Pydantic en una sola clase
- Modelos con table=True, engine y create_all
- Crear filas, sesiones e IDs automáticos
- select y where; índices para consultas rápidas
Proyecto La base de héroes del tutorial oficial, en SQLite.
class Hero(SQLModel, table=True)
-
06 Lunes 19 de octubre
Leer, actualizar y borrar
- Leer una fila: first, one y get
- limit y offset: paginación
- update y delete dentro de la sesión
- Estructura del código: modelos, engine y app en módulos
Proyecto Inventario con consultas, filtros y paginación.
session.exec(select(Hero).offset(20).limit(10)) -
07 Lunes 26 de octubre
Relaciones entre tablas
- Foreign keys y JOIN
- Relationship attributes y back_populates
- Uno a muchos y muchos a muchos con link model
- Cascade delete y ondelete
Proyecto Equipos y héroes; después, pedidos y productos.
teams: list[Team] = Relationship(back_populates="heroes")
-
08 Lunes 2 de noviembre
FastAPI + SQLModel: la API completa
- Modelos múltiples: Base, Create, Public y Update
- La sesión de base de datos como dependencia
- CRUD completo con paginación
- Pruebas con una base de datos de prueba
- Preparar el proyecto para desplegarlo
Proyecto final Tu API completa con base de datos, autenticación y pruebas, lista para producción.
SessionDep = Annotated[Session, Depends(get_session)]
Antes de empezar
- Bases de Python: funciones, clases y tipos.
- Python 3.10 o superior, un editor (recomendamos VS Code) y la terminal.
- No necesitas experiencia previa con FastAPI ni con SQL.
Al terminar tendrás
- Una API completa con base de datos, autenticación y pruebas, en tu propio repositorio.
- Ocho proyectos de práctica que puedes mostrar como portafolio.
- Las grabaciones disponibles para volver a verlas cuando lo necesites.
Empieza el lunes 14 de septiembre
Pago en línea con MercadoPago, transferencia o PayPal. Acceso al grupo de apoyo desde la primera sesión.