Un plugin de Pylint que le permite entender modelos, formularios, vistas y migraciones de Django para reducir los falsos positivos en el código Django.
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
Instala Vulture desde PyPI
pip install vulture - 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
Linter que aplica reglas de estilo y convenciones de Swift, con más de 200 reglas configurables por proyecto.
Plataforma autogestionada de calidad y seguridad del código que analiza proyectos en busca de errores, vulnerabilidades y problemas de mantenibilidad, con Quality Gates para pipelines de CI.
Conjunto de reglas para PHP_CodeSniffer que detecta código que usa funciones o características de PHP incompatibles con otras versiones.
Imagen Docker que agrupa herramientas de análisis estático, testing y calidad de código para PHP, para ejecutarlas sin instalar herramientas de PHP localmente.
Una herramienta CLI para ejecutar linters y formateadores de Python, como ruff, isort, black, mypy y flake8, directamente en Jupyter Notebooks.