~/academy/api $ cat README.md

APIs con Python y FastAPI

Crea APIs rápidas, validadas, probadas y listas para Docker.

// acerca del curso

HTTP, rutas, Pydantic, SQLAlchemy, autenticación, pruebas con pytest y despliegue en contenedor.

// lo que aprenderás

FastAPIPydanticSQLAlchemypytestSeguridad de APIs

// temario · 7 lecciones

  1. 01
    Qué es una API: HTTP, métodos, códigos y JSONEntiendes qué es una API web y cómo se comunican cliente y servidor con HTTP: la anatomía de una petición y una respuesta, los métodos, los códigos de estado y el formato JSON. Practicas con curl antes de escribir tu propia API.
    13 min audio
  2. 02
    Tu primera API con FastAPIInstalas FastAPI en un entorno virtual, levantas tu primera API con el servidor de desarrollo, defines rutas con parámetros, respondes errores con HTTPException y exploras la documentación interactiva que FastAPI genera sola en /docs.
    12 min audio
  3. 03
    Parámetros, validación y modelos con PydanticRecibes datos de forma segura: parámetros de ruta y de consulta con restricciones, cuerpos JSON validados con modelos de Pydantic v2, modelos distintos para crear, actualizar y responder, y validadores propios. Completas un CRUD de productos con los códigos de estado correctos.
    12 min audio
  4. 04
    Base de datos con SQLAlchemy: de SQLite a PostgreSQLConectas tu API a una base de datos real con SQLAlchemy 2: defines tablas como clases con Mapped y mapped_column, abres sesiones por petición con dependencias de FastAPI, haces consultas con select() y manejas transacciones. Empiezas con SQLite y cambias a PostgreSQL con una variable de entorno.
    12 min audio
  5. 05
    Autenticación básica y seguridadProteges tu API: guardas contraseñas con hash Argon2, emites tokens JWT con expiración, proteges rutas con dependencias y roles, configuras CORS correctamente y mantienes los secretos fuera del código con variables de entorno.
    12 min audio
  6. 06
    Pruebas con pytest y el cliente de FastAPIEscribes pruebas automáticas para tu API con pytest y TestClient: verificas códigos de estado, cuerpos y efectos en la base, aíslas cada prueba con una base SQLite en memoria mediante dependency_overrides, parametrizas casos inválidos, pruebas rutas protegidas y lees los fallos de pytest.
    12 min audio
  7. 07
    Empaquetar en Docker y documentar tu APILlevas tu API a un contenedor: escribes un Dockerfile eficiente y seguro, lo construyes y ejecutas con variables de entorno, levantas API y PostgreSQL juntos con Docker Compose y completas la documentación OpenAPI y el README para que otros puedan usarla.
    13 min audio