Astral, el desarrollador de herramientas de alto rendimiento para Python que incluye uv (gestor de paquetes), Ruff (linter/formateador) y ty (comprobador de tipos), ha anunciado una integración experimental entre uv y ty. El objetivo de esta integración es crear una cadena de herramientas más cohesiva donde las herramientas compartan una comprensión unificada del entorno y las dependencias de un proyecto. Aunque cada herramienta sigue siendo utilizable de forma independiente e interoperable con el ecosistema más amplio, la integración combinada pretende desbloquear capacidades que ninguna de las dos herramientas puede proporcionar por sí sola.

Un gráfico que representa la integración de las herramientas de Python uv y ty.
La nueva integración de Astral une el gestor de paquetes uv y el comprobador de tipos ty en una cadena de herramientas unificada.astral.sh

Esta imagen representa el anuncio principal de la integración experimental entre las herramientas uv y ty de Astral.

La integración aborda específicamente los desafíos con los scripts PEP 723, que permiten que los scripts de Python declaren dependencias y requisitos de versión a través de metadatos en línea. Anteriormente, aunque uv podía usar estos metadatos para preparar entornos, ty carecía de una forma nativa de descubrir automáticamente estos scripts y verificarlos frente a sus requisitos específicos. Con la nueva integración, ty ahora puede usar uv para preparar los entornos necesarios para estos scripts. Esto permite una comprobación de tipos precisa, navegación de código y autocompletado en el editor (como información al pasar el cursor y 'Ir a la definición') incluso cuando un script tiene requisitos diferentes a los del proyecto circundante. En editores como VS Code, ty ahora puede invocar automáticamente a uv en segundo plano para configurar estos entornos.

Además, la actualización introduce una interfaz de diagnóstico unificada a través del comando 'uv check'. Ejecutar 'uv check' preparará automáticamente el entorno del proyecto, instalará las dependencias requeridas y ejecutará ty para realizar la comprobación de tipos. Este comando también admite configuraciones de espacio de trabajo, permitiendo a los usuarios verificar paquetes individuales o todos los paquetes en un espacio de trabajo utilizando una sintaxis consistente. Para los scripts PEP 723, se puede usar 'uv check --script' para validar un script utilizando sus propios requisitos declarados. Si bien la integración es actualmente experimental y requiere versiones específicas de uv (0.12.3+) y ty (0.0.76+), Astral planea expandir estas capacidades para incluir el análisis de linting a través de Ruff y nuevas comprobaciones que combinen el conocimiento de dependencias de uv con el análisis de código de ty para detectar problemas como dependencias no utilizadas.