GuíaBásico

Guía del Toolchain Moderno de Python

El toolchain de un proyecto Python —qué intérprete lo corre, dónde viven las dependencias, quién revisa el estilo y los tipos, quién construye y publica el paquete— se decide una sola vez y se paga todos los días. Esta guía te lleva a operar ese toolchain con las herramientas que la industria adoptó en 2026: `uv` para intérpretes, entornos y dependencias con lockfile reproducible; Ruff como linter y formateador único que reemplaza a flake8, isort, pyupgrade y black; un verificador de tipos (mypy, pyright o ty) integrado a `pyproject.toml`; automatización con hooks de pre-commit y GitHub Actions; y empaquetado y publicación en PyPI con trusted publishing. El diferencial no es la lista de comandos, sino el criterio: cada herramienta se presenta con su argumento a favor y su objeción más seria, incluyendo cuándo NO conviene adoptarla y cómo evaluar la salud de gobernanza de un proyecto open source antes de apostarle tu stack. Todo el recorrido construye un solo proyecto —`pkgpeek`, una CLI que consulta PyPI— que termina publicado desde CI con nueve entregables verificables y un documento de decisiones que defiende cada elección.

48
lecciones
6
módulos
Inglés · Español
disponible en
certificado
Gratis
acceso
NIEVA

Resultados

Lo que vas a poder hacer

  • Instalar y fijar cualquier versión de Python con `uv python install`, sin pyenv ni conda, y crear un proyecto con `pyproject.toml` reproducible en otra máquina
  • Manejar el ciclo completo de dependencias con `uv`: agregar y quitar paquetes, agrupar dev/prod, resolver conflictos, y reproducir un entorno idéntico con `uv sync --frozen` o `--locked`
  • Configurar Ruff como linter y formateador único, justificar el conjunto de reglas elegido y migrar un repositorio de black + flake8 + isort sin cambiar el comportamiento del código
  • Anotar código con sintaxis moderna (`list[str]`, `str | None`, `Protocol`, `TypedDict`) y llevar un módulo real a modo estricto con mypy, pyright o ty
  • Distinguir con precisión verificación estática de validación en runtime, y saber por qué un servicio que recibe datos externos necesita ambas
  • Automatizar el toolchain con hooks de pre-commit rápidos y un workflow de GitHub Actions que corre lint, tipos y pruebas en varias versiones de Python
  • Actualizar dependencias con una política definida, auditar la cadena de suministro y construir imágenes Docker reproducibles desde el lockfile
  • Construir y publicar un paquete en PyPI con `uv build` y `uv publish`, versionado semántico y publicación automatizada por CI con OIDC (sin tokens de larga vida)
  • Distribuir una herramienta de línea de comandos instalable con `uvx`, usando entry points en `[project.scripts]`
  • Leer la salud de gobernanza de una herramienta antes de adoptarla (licencia, bus factor, cadencia de releases) y defender con criterio propio cuándo NO conviene usar este stack

Antes de empezar

Qué necesitas traer

Es para ti si...

  • Desarrolladores Python de nivel intermedio que ya escriben funciones, clases y módulos propios, y quieren pasar de "uso pip porque me lo dijeron" a defender cada herramienta de su stack
  • Equipos que heredan proyectos con `requirements.txt`, `setup.py`, poetry o conda y necesitan un criterio claro para decidir si migrar a `uv` y Ruff
  • Devs cansados de discutir estilo de código en cada pull request y que quieren automatizar esa capa para enfocar la revisión en lo que importa
  • Personas preparando entrevistas técnicas donde se pregunta por reproducibilidad de entornos, tipado gradual o cómo evaluar la salud de una dependencia
  • Cualquiera que nunca publicó un paquete propio en PyPI y quiere hacerlo con CI, versionado y publicación segura de punta a punta

Requisitos y materiales

  • Python a nivel intermedio: escribir funciones, clases y módulos propios, entender imports y haber instalado paquetes con pip alguna vez
  • Manejo básico de terminal (navegar, ejecutar comandos, variables de entorno) y de git (clonar, commitear, abrir un pull request)
  • Una cuenta de GitHub
  • No se requiere experiencia previa con poetry, conda, pyenv, Docker ni haber publicado nunca un paquete: todo se explica desde cero

Contenido

El temario, módulo por módulo

Abre cualquiera para ver sus lecciones.

Dudas frecuentes

Lo que suele preguntarse

Empieza cuando quieras

Reseñas

Lo que dicen los estudiantes

Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.

Aún no hay reseñas aprobadas.

¡Sé el primero en compartir tu experiencia!