Linter para Python que reúne PyFlakes, pycodestyle e McCabe em um único comando e oferece suporte a plugins de terceiros.
dlint-py/dlint
Plugin do flake8 que detecta padrões inseguros e práticas ruins em Python, como o uso de exec ou desserialização insegura.
- Estrelas
- 178
- Forks
- 18
- Issues abertas
- 23
- Último commit
- há 18 dias
O que é?
Dlint é um linter para Python que verifica o código-fonte em busca de padrões inseguros e práticas de programação que costumam causar bugs ou problemas de segurança. Ele funciona como um plugin do flake8, então os fluxos de trabalho, as opções e as configurações existentes do flake8 continuam valendo. Cada regra tem um ID com o prefixo DUO, e as violações são reportadas com o arquivo, a linha e uma explicação breve — por exemplo, ao detectar o uso de exec.
O Dlint é instalado pelo PyPI com pip e executado pela linha de comando com `flake8 --select=DUO`, que limita a execução às regras do Dlint. A integração com editores funciona por meio dos plugins de flake8 já existentes para editores como Vim, Emacs, Sublime Text, PyCharm, Atom e VS Code. Os desenvolvedores também podem criar regras personalizadas em módulos separados cujos nomes começam com `dlint_plugin_`, seguindo uma convenção de nomenclatura documentada.
Recursos principais
- 01Detecta padrões inseguros em Python, como o uso de exec, sob o prefixo de regras DUO.
- 02É baseado no flake8, então funciona com as opções e configurações dele.
- 03Pode ser executado pela linha de comando em arquivos individuais ou diretórios inteiros.
- 04Funciona com integrações comuns do flake8 em editores para exibir resultados no próprio código.
- 05Oferece suporte a plugins de regras personalizadas carregados por meio de uma convenção de nomenclatura.
Casos de uso
- Adicionar verificações de lint focadas em segurança ao pipeline de CI de um projeto Python.
- Revisar código Python legado em busca de construções arriscadas, como exec.
- Aplicar regras de programação segura específicas da equipe por meio de um plugin personalizado.
Início rápido
- 1
Instale o Dlint pelo PyPI
python -m pip install dlint - 2
Execute as regras do Dlint com o flake8 em um arquivo ou diretório
python -m flake8 --select=DUO /path/to/code
Antes de usar
- O Dlint funciona como um plugin do flake8, então é necessário ter o flake8 e o Python instalados.
Em coleções
Tópicos
Perguntas frequentes
- O que é dlint?
- Plugin do flake8 que detecta padrões inseguros e práticas ruins em Python, como o uso de exec ou desserialização insegura. Dlint é um linter para Python que verifica o código-fonte em busca de padrões inseguros e práticas de programação que costumam causar bugs ou problemas de segurança. Ele funciona como um plugin do flake8, então os fluxos de trabalho, as opções e as configurações existentes do flake8 continuam valendo. Cada regra tem um ID com o prefixo DUO, e as violações são reportadas com o arquivo, a linha e uma explicação breve — por exemplo, ao detectar o uso de exec.
- dlint é gratuito? Qual é a licença?
- dlint é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
- dlint ainda é mantido?
- Manutenção ativa. O último commit de dlint foi em 20 de out. de 2026.
- Para que posso usar dlint?
- Adicionar verificações de lint focadas em segurança ao pipeline de CI de um projeto Python. Revisar código Python legado em busca de construções arriscadas, como exec. Aplicar regras de programação segura específicas da equipe por meio de um plugin personalizado.
- Como instalar dlint?
- Instale o Dlint pelo PyPI: python -m pip install dlint Execute as regras do Dlint com o flake8 em um arquivo ou diretório: python -m flake8 --select=DUO /path/to/code
- Onde consigo dlint?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/dlint-py/dlint
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.
CLI multilíngue em Rust que executa linters, formatadores automáticos, scanners de segurança e verificações de manutenibilidade com uma só ferramenta e arquivo de configuração.
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.