Astral es la empresa detrás de uv, el gestor de paquetes Python que cubrimos esta semana. Pero uv no es su único proyecto: antes que uv llegó Ruff, un linter y formatter de Python escrito en Rust que en 2026 se ha convertido en el estándar de facto en proyectos nuevos. Y más reciente aún es ty, el type checker que completa el trío de herramientas de desarrollo Python más rápidas del mercado.
Ruff: el linter que sustituyó a Flake8, isort y más
Ruff reimplementa en Rust más de 900 reglas que antes requerían varias herramientas: Flake8, isort, pyupgrade, flake8-bugbear, flake8-comprehensions y una docena más. El resultado es una herramienta única que analiza un proyecto Python entero en milisegundos.
En benchmarks con el repositorio de CPython, Ruff completa el análisis completo en unos 300ms. Flake8 en el mismo repositorio tarda varios minutos. Para proyectos más pequeños la diferencia es de segundos frente a milisegundos, pero en CI con miles de ejecuciones al día el ahorro acumulado es significativo.
La configuración es compatible con Flake8: si tienes un setup.cfg o un .flake8, Ruff lo lee directamente. La migración desde Flake8 + isort a Ruff suele ser reemplazar el comando en el CI y borrar las otras dependencias.
# antes flake8 . isort --check . # después ruff check . ruff format --check .
Ruff como formatter
Desde la versión 0.1, Ruff también incluye un formatter compatible con Black. Si tu proyecto usaba Black para formateo, ruff format produce resultados idénticos pero mucho más rápido. No tienes que mantener Black como dependencia separada.
La compatibilidad con Black es alta pero no perfecta: hay casos extremos donde el output difiere levemente. El equipo de Ruff mantiene un documento de diferencias conocidas. Para la mayoría de proyectos la migración es transparente.
ty: el type checker que quiere sustituir a mypy y Pyright
ty es el proyecto más reciente de Astral, actualmente en beta. Es un type checker de Python escrito en Rust diseñado como alternativa a mypy y Pyright. Su propuesta: mensajes de error más claros, modo strict por defecto y una velocidad que hace posible el análisis incremental en tiempo real dentro del editor.
mypy y Pyright funcionan bien pero tienen sus problemas: mypy es lento en proyectos grandes, Pyright es más rápido pero está acoplado al ecosistema de VS Code (aunque existe como binario standalone). ty apunta a ser más rápido que ambos y más independiente del editor.
En beta no cubre el 100% de los casos de mypy, pero ya hay equipos migrando en proyectos reales. El roadmap apunta a estabilidad completa antes de final de 2026.
El ecosistema Astral completo
Con uv + Ruff + ty tienes cubierto el toolchain completo de un proyecto Python moderno desde un único proveedor:
Herramienta | Reemplaza | Estado |
uv | pip, pyenv, poetry, virtualenv, pipx | Estable (0.11.x) |
Ruff | Flake8, isort, Black, pyupgrade | Estable (0.x) |
ty | mypy, Pyright | Beta |
Astral anunció en 2026 que se une a OpenAI como parte del equipo de Codex. Las implicaciones a largo plazo están por ver, pero a corto plazo el desarrollo de las tres herramientas continúa activamente.
Para proyectos que ya usen uv (cubierto en el artículo sobre uv como gestor de paquetes Python), añadir Ruff es un paso natural: misma filosofía, misma empresa, cero configuración para empezar.
Imagen: Pexels / Pixabay
