Um plugin do Pylint que adiciona suporte a models, forms, views e migrations do Django para reduzir falsos positivos no código Django.
jendrikseipp/vulture
Ferramenta de análise estática que encontra funções, classes, variáveis e imports não utilizados, além de código inalcançável em projetos Python.
- Estrelas
- 4,875
- Forks
- 209
- Issues abertas
- 76
- Último commit
- há 25 dias
O que é?
O Vulture analisa arquivos e diretórios Python em busca de código definido, mas nunca utilizado, como funções, classes, atributos, variáveis e imports não utilizados, além de branches inalcançáveis. Ele se baseia na análise estática da árvore sintática abstrata, portanto não executa o código. Cada ocorrência recebe um nível de confiança de 60% a 100%, e a flag --min-confidence filtra estimativas menos precisas para que apenas código morto identificado com mais certeza seja reportado.
Como Python é uma linguagem dinâmica, o Vulture pode não detectar código morto e pode sinalizar código chamado apenas implicitamente. Para lidar com falsos positivos, ele oferece arquivos de whitelist que simulam o uso, regras de ignorar baseadas em glob para nomes, decorators e caminhos, e configuração pelo pyproject.toml. Os resultados podem ser ordenados por tamanho para ajudar a priorizar a limpeza.
O Vulture pode ser executado como CLI, chamado como módulo Python, usado programaticamente pela API ou adicionado a um hook do pre-commit. O formato de saída é compatível com o do pyflakes.
Recursos principais
- 01Detecta funções, classes, métodos, atributos, variáveis e imports não utilizados
- 02Encontra código inalcançável após return, raise, break e continue
- 03Atribui níveis de confiança e filtra resultados com --min-confidence
- 04Oferece arquivos de whitelist para suprimir falsos positivos
- 05Pode ser configurado pelo pyproject.toml e usado como API Python
Casos de uso
- Limpar uma base de código Python grande que acumulou código morto
- Encontrar código sem testes executando o Vulture tanto em uma biblioteca quanto em sua suíte de testes
- Executar verificações de código morto automaticamente no pre-commit ou no CI
Início rápido
- 1
Instale o Vulture pelo PyPI
pip install vulture - 2
Execute o Vulture no seu script Python ou no diretório do pacote
vulture myscript.py mypackage/
Antes de usar
- Devido à natureza dinâmica do Python, ele pode deixar passar código não utilizado e indicar como não utilizado código chamado implicitamente.
- Valores de confiança abaixo de 100% são estimativas muito aproximadas.
Tópicos
Perguntas frequentes
- O que é vulture?
- Ferramenta de análise estática que encontra funções, classes, variáveis e imports não utilizados, além de código inalcançável em projetos Python. O Vulture analisa arquivos e diretórios Python em busca de código definido, mas nunca utilizado, como funções, classes, atributos, variáveis e imports não utilizados, além de branches inalcançáveis. Ele se baseia na análise estática da árvore sintática abstrata, portanto não executa o código. Cada ocorrência recebe um nível de confiança de 60% a 100%, e a flag --min-confidence filtra estimativas menos precisas para que apenas código morto identificado com mais certeza seja reportado.
- vulture é gratuito? Qual é a licença?
- vulture é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- vulture ainda é mantido?
- Manutenção ativa. O último commit de vulture foi em 12 de out. de 2026.
- Para que posso usar vulture?
- Limpar uma base de código Python grande que acumulou código morto Encontrar código sem testes executando o Vulture tanto em uma biblioteca quanto em sua suíte de testes Executar verificações de código morto automaticamente no pre-commit ou no CI
- Como instalar vulture?
- Instale o Vulture pelo PyPI: pip install vulture Execute o Vulture no seu script Python ou no diretório do pacote: vulture myscript.py mypackage/
- Onde consigo vulture?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jendrikseipp/vulture
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Linter que aplica padrões e convenções de estilo em Swift, com mais de 200 regras configuráveis por projeto.
Plataforma autogerenciada de qualidade e segurança de código que analisa projetos em busca de bugs, vulnerabilidades e problemas de manutenibilidade, com Quality Gates para pipelines de CI.
Conjunto de regras para o PHP_CodeSniffer que identifica código com recursos ou funções do PHP incompatíveis com outras versões.
Uma imagem Docker com várias ferramentas de análise estática, testes e qualidade de código para PHP, sem precisar instalar essas ferramentas localmente.
Ferramenta de CLI que executa linters e formatadores Python, como ruff, isort, black, mypy e flake8, diretamente em Jupyter Notebooks.