Линтер Python, объединяющий PyFlakes, pycodestyle и McCabe в одной команде и поддерживающий сторонние плагины.
dlint-py/dlint
Плагин для flake8, который выявляет небезопасные и неудачные шаблоны кода на Python, например использование exec и небезопасную десериализацию.
- Звёзды
- 178
- Форки
- 18
- Открытые issues
- 23
- Последний коммит
- 18 дней назад
Что это?
Dlint — линтер для Python, который проверяет исходный код на небезопасные шаблоны и практики программирования, способные привести к ошибкам или проблемам с безопасностью. Он работает как плагин поверх flake8, поэтому с ним можно использовать существующие рабочие процессы, параметры и конфигурацию flake8. Каждое правило имеет идентификатор с префиксом DUO, а для найденных нарушений выводятся файл, строка и краткое пояснение — например, при использовании exec.
Dlint устанавливается из PyPI с помощью pip и запускается из командной строки командой `flake8 --select=DUO`, которая ограничивает проверку правилами Dlint. Интеграция с редакторами работает через существующие плагины flake8 для Vim, Emacs, Sublime Text, PyCharm, Atom и VS Code. Разработчики также могут создавать собственные правила в виде отдельных модулей с именами, начинающимися с `dlint_plugin_`, следуя документированному соглашению об именовании.
Ключевые возможности
- 01Выявляет небезопасные шаблоны кода на Python, например использование exec; правила имеют префикс DUO.
- 02Работает поверх flake8 и поддерживает его параметры и конфигурацию.
- 03Позволяет проверять отдельные файлы и целые каталоги из командной строки.
- 04Интегрируется с популярными плагинами flake8 для редакторов и показывает результаты в коде.
- 05Поддерживает пользовательские плагины с правилами, загружаемые по соглашению об именовании.
Сценарии использования
- Добавление проверок безопасности в CI-пайплайн Python-проекта.
- Проверка устаревшего кода на Python на наличие рискованных конструкций, например exec.
- Применение командных правил безопасного программирования с помощью пользовательского плагина.
Быстрый старт
- 1
Установите Dlint из PyPI
python -m pip install dlint - 2
Запустите правила Dlint через flake8 для файла или каталога
python -m flake8 --select=DUO /path/to/code
Что важно знать
- Dlint работает как плагин для flake8, поэтому необходимо установить flake8 и Python.
В подборках
Темы
Частые вопросы
- Что такое dlint?
- Плагин для flake8, который выявляет небезопасные и неудачные шаблоны кода на Python, например использование exec и небезопасную десериализацию. Dlint — линтер для Python, который проверяет исходный код на небезопасные шаблоны и практики программирования, способные привести к ошибкам или проблемам с безопасностью. Он работает как плагин поверх flake8, поэтому с ним можно использовать существующие рабочие процессы, параметры и конфигурацию flake8. Каждое правило имеет идентификатор с префиксом DUO, а для найденных нарушений выводятся файл, строка и краткое пояснение — например, при использовании exec.
- dlint можно использовать бесплатно? Какая у него лицензия?
- dlint распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- dlint всё ещё поддерживается?
- Активно поддерживается. Последний коммит в dlint — 20 окт. 2026 г..
- Для чего можно использовать dlint?
- Добавление проверок безопасности в CI-пайплайн Python-проекта. Проверка устаревшего кода на Python на наличие рискованных конструкций, например exec. Применение командных правил безопасного программирования с помощью пользовательского плагина.
- Как установить dlint?
- Установите Dlint из PyPI: python -m pip install dlint Запустите правила Dlint через flake8 для файла или каталога: python -m flake8 --select=DUO /path/to/code
- Где скачать dlint?
- Исходный код и инструкции по установке — на GitHub: https://github.com/dlint-py/dlint
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Строгий и принципиальный плагин для flake8: поддерживает единый стиль Python и выявляет сложные конструкции кода.
Плагин для Flake8, который находит вероятные баги и сомнительные шаблоны проектирования, не проверяемые pyflakes и pycodestyle.
Инструмент для Python, который вычисляет цикломатическую сложность Маккейба функций и отмечает слишком сложный код как плагин flake8.
Мультиъязычный CLI на Rust, который запускает линтеры, автоформаттеры, сканеры безопасности и проверки поддерживаемости кода с помощью одного инструмента и конфигурационного файла.
Плагин для flake8, который находит лишние или неэффективные конструкции со списковыми, множественными, словарными и генераторными включениями, а также вызовы встроенных функций.