Repolode
jendrikseipp

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. 1

    Instale o Vulture pelo PyPI

    pip install vulture
  2. 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