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.
econchick/interrogate
Uma CLI para Python que mede quantas funções, classes, métodos e módulos de uma base de código têm docstrings, com limites de aprovação/reprovação adequados para CI.
- Estrelas
- 678
- Forks
- 58
- Issues abertas
- 42
- Último commit
- há 5 dias
O que é?
interrogate analisa o código-fonte Python e informa quais módulos, classes, métodos e funções têm docstrings e quais não têm. A ferramenta calcula uma porcentagem de cobertura no nível do projeto, do arquivo ou do objeto, permitindo que as equipes vejam o quanto o código está documentado e onde estão as lacunas.
A ferramenta foi criada tanto para fiscalizar quanto para gerar relatórios. Ela encerra com status de falha quando a cobertura fica abaixo de um limite definido (80% por padrão, configurável com --fail-under), o que facilita adicioná-la a pipelines de CI ou hooks de pre-commit para exigir que o código novo seja documentado. A saída pode ser uma tabela de resumo, uma visualização detalhada por objeto ou um modo silencioso para scripts.
O comportamento pode ser configurado em pyproject.toml ou setup.cfg. É possível ignorar categorias como métodos __init__, métodos mágicos, objetos privados ou aninhados, setters ou funções @overload, excluir caminhos e filtrar nomes com expressões regulares. A ferramenta também oferece suporte aos estilos de docstring Sphinx e Google e pode gerar um badge de cobertura no estilo shields.io em SVG ou PNG. São compatíveis as versões 3.8 e posteriores do Python.
Recursos principais
- 01Gera relatórios de cobertura de docstrings para módulos, classes, métodos e funções.
- 02Interrompe a execução com falha quando a cobertura fica abaixo de um limite configurável, para uso em CI.
- 03Oferece modos de saída de resumo, detalhado e silencioso.
- 04Ignora tipos de objeto selecionados, como métodos mágicos e objetos privados ou aninhados.
- 05Oferece suporte aos estilos de docstring Sphinx e Google.
- 06Gera badges de cobertura no estilo shields.io em SVG ou PNG.
Casos de uso
- Exigir docstrings no código novo por meio de um job de CI ou hook de pre-commit.
- Avaliar o nível de documentação de uma base de código Python desconhecida.
- Exibir um badge de cobertura da documentação no README do projeto.
- Acompanhar as lacunas na documentação arquivo por arquivo durante uma iniciativa de limpeza.
Início rápido
- 1
Instale o interrogate do PyPI com pip
pip install interrogate - 2
Execute o interrogate no caminho de um projeto Python para verificar a cobertura de docstrings
interrogate [PATH]
Antes de usar
- Mede apenas se os docstrings existem, não sua qualidade.
- A geração de badges PNG requer bibliotecas de sistema adicionais, como cairo.
Em coleções
Tópicos
Perguntas frequentes
- O que é interrogate?
- Uma CLI para Python que mede quantas funções, classes, métodos e módulos de uma base de código têm docstrings, com limites de aprovação/reprovação adequados para CI. interrogate analisa o código-fonte Python e informa quais módulos, classes, métodos e funções têm docstrings e quais não têm. A ferramenta calcula uma porcentagem de cobertura no nível do projeto, do arquivo ou do objeto, permitindo que as equipes vejam o quanto o código está documentado e onde estão as lacunas.
- interrogate é gratuito? Qual é a licença?
- interrogate é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- interrogate ainda é mantido?
- Manutenção ativa. O último commit de interrogate foi em 2 de nov. de 2026.
- Para que posso usar interrogate?
- Exigir docstrings no código novo por meio de um job de CI ou hook de pre-commit. Avaliar o nível de documentação de uma base de código Python desconhecida. Exibir um badge de cobertura da documentação no README do projeto. Acompanhar as lacunas na documentação arquivo por arquivo durante uma iniciativa de limpeza.
- Como instalar interrogate?
- Instale o interrogate do PyPI com pip: pip install interrogate Execute o interrogate no caminho de um projeto Python para verificar a cobertura de docstrings: interrogate [PATH]
- Onde consigo interrogate?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/econchick/interrogate
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.
Ferramenta de linha de comando para Python que reformata docstrings automaticamente de acordo com as convenções da PEP 257.
Testes de mutação para Ruby que alteram seu código e mostram quais mudanças sua suíte de testes não detecta.
Um linter de prosa de linha de comando que aplica as regras de escrita da sua equipe em editores, no CI e no código, sem precisar de conexão com a internet.
Detector local e determinístico de código duplicado que encontra funções copiadas por agentes de IA mesmo após a renomeação de identificadores.