Repolode
tonybaloney

tonybaloney/wily

Herramienta de línea de comandos que recorre el historial de git y sigue la evolución de la complejidad y las métricas del código Python.

Estrellas
1,336
Forks
73
Issues abiertos
43
Último commit
hace 10 días

¿Qué es?

Wily es una aplicación de línea de comandos para medir código Python a lo largo del tiempo. Usa git para recorrer cada revisión de una rama y ejecutar métricas de complejidad y análisis de código en los archivos de cada commit; los resultados se guardan en una caché local dentro del directorio .wily/.

Con esa caché, puedes consultar cuánto ha cambiado entre revisiones una métrica como la complejidad ciclomática, el índice de mantenibilidad, las medidas de Halstead o las líneas de código; ordenar los archivos por una métrica, o abrir un gráfico de la tendencia en un navegador. El comando diff compara los archivos actuales con una referencia de git elegida, por lo que puede usarse como hook de pre-commit o como comprobación de CI.

Las métricas se agrupan en operadores (cyclomatic, cognitive, maintainability, halstead y raw), configurables mediante un archivo wily.cfg. De forma predeterminada, también se analizan los notebooks de Jupyter, con la opción de generar informes por celda.

Funciones clave

  • 01Crea una caché de métricas recorriendo los commits de una rama en git.
  • 02Genera informes sobre las diferencias de métricas entre revisiones con wily report.
  • 03Ordena los archivos de un directorio según una métrica elegida.
  • 04Muestra gráficos de las tendencias de las métricas en un navegador con wily graph.
  • 05Compara el código actual con cualquier referencia de git mediante wily diff.
  • 06Analiza código Python en notebooks .ipynb, con la opción de hacerlo por celda.

Casos de uso

  • Seguir la evolución de la complejidad de una base de código Python a lo largo de su historial de commits.
  • Hacer que falle una comprobación de CI o de pre-commit cuando un cambio aumenta la complejidad respecto a una revisión anterior.
  • Encontrar los archivos más complejos de un proyecto para priorizar su refactorización.
  • Supervisar las tendencias de calidad del código en proyectos de ciencia de datos basados en notebooks de Jupyter.

Inicio rápido

  1. 1

    Instala wily desde PyPI con pip

    pip install wily
  2. 2

    Crea la caché de wily para la carpeta de código fuente dentro de un repositorio git

    wily build src/
  3. 3

    Informa de los cambios en la complejidad de los archivos analizados

    wily report src/

Antes de usarlo

  • Solo analiza código Python.
  • Requiere un repositorio git para hacer un seguimiento del historial, y la copia de trabajo debe estar limpia para crear la caché.

En colecciones

Temas

Preguntas frecuentes

¿Qué es wily?
Herramienta de línea de comandos que recorre el historial de git y sigue la evolución de la complejidad y las métricas del código Python. Wily es una aplicación de línea de comandos para medir código Python a lo largo del tiempo. Usa git para recorrer cada revisión de una rama y ejecutar métricas de complejidad y análisis de código en los archivos de cada commit; los resultados se guardan en una caché local dentro del directorio .wily/.
¿wily es gratuito? ¿Qué licencia tiene?
wily es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿wily sigue mantenido?
Mantenimiento activo. El último commit de wily fue el 28 oct 2026.
¿Para qué puedo usar wily?
Seguir la evolución de la complejidad de una base de código Python a lo largo de su historial de commits. Hacer que falle una comprobación de CI o de pre-commit cuando un cambio aumenta la complejidad respecto a una revisión anterior. Encontrar los archivos más complejos de un proyecto para priorizar su refactorización. Supervisar las tendencias de calidad del código en proyectos de ciencia de datos basados en notebooks de Jupyter.
¿Cómo se instala wily?
Instala wily desde PyPI con pip: pip install wily Crea la caché de wily para la carpeta de código fuente dentro de un repositorio git: wily build src/ Informa de los cambios en la complejidad de los archivos analizados: wily report src/
¿Dónde consigo wily?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tonybaloney/wily

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados