Guía práctica para probar Pyrefly en tu propio código, medir tiempos en frío y en caliente y juzgar la calidad de los diagnósticos antes de migrar.
Google ha anunciado que sustituye su veterano verificador de tipos Pytype por Pyrefly, una herramienta de código abierto que nació en Meta. Según el blog de código abierto de Google, los motivos son más velocidad, más precisión y menos coste de infraestructura.
Ahora bien, los números de un monorepo ajeno no son los tuyos. En esta guía proponemos un método sencillo para comparar Pyrefly con lo que uses hoy en tu propio árbol de código, sin fiarnos de benchmarks de terceros.

Por qué merece la pena probarlo
Pytype analizaba el bytecode compilado en lugar de los árboles sintácticos del código fuente. Eso, explica Google, hacía cada vez más costoso seguir las novedades de los PEP de tipado, porque el bytecode cambia entre versiones de Python.
Pyrefly, escrito en Rust, según Google es unas diez veces más rápido que Pytype, reduce hasta un 98 % la latencia de las reconstrucciones incrementales y recorta más de un 80 % el coste máximo de cómputo. Además supera aproximadamente el 97 % de las pruebas de la suite de conformidad del tipado de Python. Son cifras internas de Google: tómalas como hipótesis que verificar, no como garantía.
Lo que necesitas
- Un proyecto Python con anotaciones de tipos, aunque sean parciales.
- Un entorno virtual aislado para no tocar las dependencias del proyecto.
- El verificador que usas ahora (mypy, Pyright o Pytype) para comparar en igualdad de condiciones.
- Una rama de pruebas y un cronómetro, por ejemplo el comando
timede tu shell.
El código y la documentación están en el repositorio oficial. Consulta allí la instalación y las opciones vigentes, porque las órdenes concretas pueden variar entre versiones.
Pasos para la comparación
- Crea una rama de pruebas y un entorno virtual limpio.
- Instala Pyrefly siguiendo la documentación oficial y comprueba que arranca.
- Ejecuta tu verificador actual con la caché vacía y anota el tiempo en frío.
- Repite la ejecución sin cambios para medir el tiempo en caliente.
- Haz lo mismo con Pyrefly, en frío y en caliente, sobre exactamente el mismo árbol.
- Modifica un solo archivo y mide la comprobación incremental con cada herramienta.
- Revisa los diagnósticos: cuántos son errores reales, cuántos ruido y qué tan claro es el origen del fallo.
# Esquema orientativo; adapta las órdenes a tu herramienta y versión
rm -rf .mypy_cache
time <tu-verificador-actual> # en frío
time <tu-verificador-actual> # en calienteQué esperar y qué vigilar
No esperes que todas las herramientas coincidan en los mismos errores: cada una interpreta algunos casos límite de forma distinta, así que una migración puede destapar avisos nuevos o hacer desaparecer otros. En los comentarios de la noticia hubo debate con Ty y con mypy; un lector señalaba que mypy sigue siendo muy competitivo en la comprobación incremental, y otro, que Ty aún no estaba tan maduro como Pyrefly.

Cuando tengas los resultados, decide con criterios que importen a tu equipo: tiempo de espera al editar, coste en integración continua y claridad de los mensajes. No hay un atajo universal; para un proyecto pequeño la diferencia puede no compensar el cambio.
Fuente original: infoq.com
Artículo generado mediante AI.larebelion



Comentarios
Publicar un comentario