Un linter de Python que reúne PyFlakes, pycodestyle y McCabe en un solo comando y admite plugins de terceros.
dlint-py/dlint
Plugin de flake8 que detecta patrones inseguros y malas prácticas de Python, como el uso de exec o la deserialización insegura.
- Estrellas
- 178
- Forks
- 18
- Issues abiertos
- 23
- Último commit
- hace 18 días
¿Qué es?
Dlint es un linter para Python que revisa el código fuente en busca de patrones inseguros y prácticas de programación que suelen provocar errores o problemas de seguridad. Se ejecuta como plugin de flake8, por lo que se mantienen los flujos de trabajo, las opciones y la configuración existentes de flake8. Cada regla tiene un ID con el prefijo DUO, y las infracciones se notifican indicando el archivo, la línea y una explicación breve; por ejemplo, cuando se detecta el uso de exec.
Dlint se instala desde PyPI con pip y se ejecuta desde la línea de comandos con `flake8 --select=DUO`, lo que limita la ejecución a las reglas de Dlint. La integración con editores funciona mediante los plugins de flake8 existentes para editores como Vim, Emacs, Sublime Text, PyCharm, Atom y VS Code. Los desarrolladores también pueden crear reglas personalizadas como módulos independientes cuyos nombres empiezan por `dlint_plugin_`, siguiendo una convención de nombres documentada.
Funciones clave
- 01Detecta patrones inseguros de Python, como el uso de exec, con el prefijo de regla DUO.
- 02Se basa en flake8, por lo que funciona con sus opciones y configuración.
- 03Se puede ejecutar desde la línea de comandos en archivos individuales o directorios completos.
- 04Funciona con integraciones habituales de flake8 en editores para mostrar resultados en línea.
- 05Admite plugins de reglas personalizadas que se cargan siguiendo una convención de nombres.
Casos de uso
- Añadir comprobaciones de lint centradas en la seguridad al pipeline de CI de un proyecto de Python.
- Revisar código Python heredado para detectar construcciones arriesgadas como exec.
- Aplicar reglas de programación segura específicas del equipo mediante un plugin personalizado.
Inicio rápido
- 1
Instala Dlint desde PyPI
python -m pip install dlint - 2
Ejecuta las reglas de Dlint con flake8 en un archivo o directorio
python -m flake8 --select=DUO /path/to/code
Antes de usarlo
- Dlint funciona como un complemento de flake8, por lo que necesitas tener instalados flake8 y Python.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es dlint?
- Plugin de flake8 que detecta patrones inseguros y malas prácticas de Python, como el uso de exec o la deserialización insegura. Dlint es un linter para Python que revisa el código fuente en busca de patrones inseguros y prácticas de programación que suelen provocar errores o problemas de seguridad. Se ejecuta como plugin de flake8, por lo que se mantienen los flujos de trabajo, las opciones y la configuración existentes de flake8. Cada regla tiene un ID con el prefijo DUO, y las infracciones se notifican indicando el archivo, la línea y una explicación breve; por ejemplo, cuando se detecta el uso de exec.
- ¿dlint es gratuito? ¿Qué licencia tiene?
- dlint es open source bajo la licencia BSD-3-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿dlint sigue mantenido?
- Mantenimiento activo. El último commit de dlint fue el 20 oct 2026.
- ¿Para qué puedo usar dlint?
- Añadir comprobaciones de lint centradas en la seguridad al pipeline de CI de un proyecto de Python. Revisar código Python heredado para detectar construcciones arriesgadas como exec. Aplicar reglas de programación segura específicas del equipo mediante un plugin personalizado.
- ¿Cómo se instala dlint?
- Instala Dlint desde PyPI: python -m pip install dlint Ejecuta las reglas de Dlint con flake8 en un archivo o directorio: python -m flake8 --select=DUO /path/to/code
- ¿Dónde consigo dlint?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dlint-py/dlint
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un plugin estricto y con criterios definidos para flake8 que aplica un estilo de Python coherente y sencillo, y señala patrones de código complejos.
Un plugin de Flake8 que señala posibles errores y patrones de diseño cuestionables que pyflakes y pycodestyle no detectan.
Herramienta de Python que calcula la complejidad ciclomática de McCabe de las funciones y funciona como plugin de flake8 para señalar código demasiado complejo.
CLI multilenguaje basado en Rust que ejecuta linters, formateadores automáticos, escáneres de seguridad y comprobaciones de mantenibilidad con una sola herramienta y un archivo de configuración.
Un plugin de flake8 que señala patrones innecesarios o poco eficientes con comprensiones de listas, conjuntos, diccionarios y generadores, así como llamadas a funciones integradas.