Linter para Python que reúne PyFlakes, pycodestyle e McCabe em um único comando e oferece suporte a plugins de terceiros.
adamchainz/flake8-comprehensions
Plugin do flake8 que identifica padrões desnecessários ou ineficientes em comprehensions de listas, conjuntos, dicionários e geradores, além de chamadas a funções built-in.
- Estrelas
- 466
- Forks
- 25
- Issues abertas
- 11
- Último commit
- há 3 dias
O que é?
flake8-comprehensions é um plugin para o flake8, o linter de Python, que detecta padrões em que comprehensions, expressões geradoras ou chamadas a list(), set(), dict() e tuple() são redundantes ou podem ser escritas de forma mais direta. Alguns exemplos são envolver um gerador em list() quando uma list comprehension bastaria ou chamar dict() em torno de um literal de dicionário.
Cada verificação é uma regra numerada da família C4, como C400 para geradores desnecessários e C419 para list comprehensions dentro de any() ou all() que impedem a interrupção antecipada. As regras podem ser ativadas pela configuração select do flake8, adicionando o prefixo C4. O plugin requer Python 3.11 ou posterior e pode ser instalado com pip.
Recursos principais
- 01Identifica chamadas redundantes a list(), set(), dict() e tuple() envolvendo geradores, comprehensions e literais.
- 02Detecta list comprehensions em any() e all() que impedem a interrupção antecipada.
- 03Sugere dict.fromkeys() para dict comprehensions que atribuem um único valor constante.
- 04Recomenda substituir chamadas a map() baseadas em lambda por comprehensions ou expressões geradoras.
- 05Integra-se ao flake8 e fica ativado por padrão, a menos que a configuração select seja personalizada.
Casos de uso
- Manter uma base de código Python organizada em um pipeline de CI que já executa o flake8.
- Revisar o código em busca de listas intermediárias desnecessárias ou conversões duplicadas durante uma refatoração.
- Ensinar a equipe a usar comprehensions de forma idiomática por meio de feedback automático do linter.
Início rápido
- 1
Instale o plugin com pip
python -m pip install flake8-comprehensions - 2
Se você configurar a opção select do Flake8, adicione o prefixo C4; caso contrário, o plugin ficará ativo por padrão
Antes de usar
- Requer Python 3.11 a 3.15.
Em coleções
Tópicos
Perguntas frequentes
- O que é flake8-comprehensions?
- Plugin do flake8 que identifica padrões desnecessários ou ineficientes em comprehensions de listas, conjuntos, dicionários e geradores, além de chamadas a funções built-in. flake8-comprehensions é um plugin para o flake8, o linter de Python, que detecta padrões em que comprehensions, expressões geradoras ou chamadas a list(), set(), dict() e tuple() são redundantes ou podem ser escritas de forma mais direta. Alguns exemplos são envolver um gerador em list() quando uma list comprehension bastaria ou chamar dict() em torno de um literal de dicionário.
- flake8-comprehensions é gratuito? Qual é a licença?
- flake8-comprehensions é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- flake8-comprehensions ainda é mantido?
- Manutenção ativa. O último commit de flake8-comprehensions foi em 4 de nov. de 2026.
- Para que posso usar flake8-comprehensions?
- Manter uma base de código Python organizada em um pipeline de CI que já executa o flake8. Revisar o código em busca de listas intermediárias desnecessárias ou conversões duplicadas durante uma refatoração. Ensinar a equipe a usar comprehensions de forma idiomática por meio de feedback automático do linter.
- Como instalar flake8-comprehensions?
- Instale o plugin com pip: python -m pip install flake8-comprehensions Se você configurar a opção select do Flake8, adicione o prefixo C4; caso contrário, o plugin ficará ativo por padrão
- Onde consigo flake8-comprehensions?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/adamchainz/flake8-comprehensions
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um plugin rigoroso e opinativo para flake8, que impõe um estilo Python consistente e simples e sinaliza padrões de código complexos.
Um plugin do Flake8 que sinaliza possíveis bugs e padrões de projeto questionáveis não verificados pelo pyflakes e pelo pycodestyle.
Ferramenta Python que calcula a complexidade ciclomática de McCabe de funções e sinaliza código excessivamente complexo como plugin do flake8.
Um plugin do flake8 que sinaliza trechos de código Python que podem ser escritos de forma mais simples, como combinar chamadas de isinstance ou substituir blocos if por expressões ternárias.
Plugin do flake8 que detecta padrões inseguros e práticas ruins em Python, como o uso de exec ou desserialização insegura.