Repolode
jendrikseipp

jendrikseipp/vulture

Herramienta de análisis estático que detecta funciones, clases, variables e imports sin usar, así como código inalcanzable en proyectos Python.

Estrellas
4,875
Forks
209
Issues abiertos
76
Último commit
hace 25 días

¿Qué es?

Vulture analiza archivos y directorios Python para encontrar código definido pero nunca utilizado, como funciones, clases, atributos, variables e imports sin usar, y ramas inalcanzables. Se basa en el análisis estático del árbol de sintaxis abstracta, por lo que no ejecuta el código. Cada resultado recibe un nivel de confianza de entre el 60 % y el 100 %, y la opción --min-confidence filtra las estimaciones menos seguras para informar solo de código muerto confirmado.

Como Python es dinámico, Vulture puede pasar por alto código muerto y marcar código que solo se invoca de forma implícita. Para gestionar los falsos positivos, admite archivos de whitelist que simulan el uso, reglas de exclusión basadas en glob para nombres, decoradores y rutas, y configuración mediante pyproject.toml. Los resultados se pueden ordenar por tamaño para priorizar la limpieza.

Vulture se puede ejecutar como CLI, invocar como módulo de Python, usar de forma programática mediante su API o añadir como hook de pre-commit. Su formato de salida coincide con el de pyflakes.

Funciones clave

  • 01Detecta funciones, clases, métodos, atributos, variables e imports sin usar
  • 02Encuentra código inalcanzable después de return, raise, break y continue
  • 03Asigna niveles de confianza y filtra resultados con --min-confidence
  • 04Admite archivos de whitelist para suprimir falsos positivos
  • 05Se configura mediante pyproject.toml y se puede usar como API de Python

Casos de uso

  • Limpiar una base de código Python grande que haya acumulado código muerto
  • Encontrar código sin pruebas ejecutando Vulture tanto en una biblioteca como en su suite de pruebas
  • Ejecutar comprobaciones de código muerto automáticamente en pre-commit o CI

Inicio rápido

  1. 1

    Instala Vulture desde PyPI

    pip install vulture
  2. 2

    Ejecuta Vulture en tu script de Python o en el directorio del paquete

    vulture myscript.py mypackage/

Antes de usarlo

  • Debido a la naturaleza dinámica de Python, puede pasar por alto código sin usar y marcar como no usado código que se llama de forma implícita.
  • Los valores de confianza inferiores al 100 % son estimaciones muy aproximadas.

Temas

Preguntas frecuentes

¿Qué es vulture?
Herramienta de análisis estático que detecta funciones, clases, variables e imports sin usar, así como código inalcanzable en proyectos Python. Vulture analiza archivos y directorios Python para encontrar código definido pero nunca utilizado, como funciones, clases, atributos, variables e imports sin usar, y ramas inalcanzables. Se basa en el análisis estático del árbol de sintaxis abstracta, por lo que no ejecuta el código. Cada resultado recibe un nivel de confianza de entre el 60 % y el 100 %, y la opción --min-confidence filtra las estimaciones menos seguras para informar solo de código muerto confirmado.
¿vulture es gratuito? ¿Qué licencia tiene?
vulture es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿vulture sigue mantenido?
Mantenimiento activo. El último commit de vulture fue el 12 oct 2026.
¿Para qué puedo usar vulture?
Limpiar una base de código Python grande que haya acumulado código muerto Encontrar código sin pruebas ejecutando Vulture tanto en una biblioteca como en su suite de pruebas Ejecutar comprobaciones de código muerto automáticamente en pre-commit o CI
¿Cómo se instala vulture?
Instala Vulture desde PyPI: pip install vulture Ejecuta Vulture en tu script de Python o en el directorio del paquete: vulture myscript.py mypackage/
¿Dónde consigo vulture?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/jendrikseipp/vulture

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

Proyectos relacionados