Плагин для Pylint, который добавляет поддержку моделей, форм, представлений и миграций Django и сокращает число ложных срабатываний.
jendrikseipp/vulture
Инструмент статического анализа, который находит в проектах на Python неиспользуемые функции, классы, переменные и импорты, а также недостижимый код.
- Звёзды
- 4,876
- Форки
- 209
- Открытые issues
- 76
- Последний коммит
- 26 дней назад
Что это?
Vulture сканирует файлы и каталоги Python в поисках кода, который объявлен, но нигде не используется: например, неиспользуемых функций, классов, атрибутов, переменных, импортов и недостижимых ветвей. Он анализирует абстрактное синтаксическое дерево и не запускает код. Для каждой находки указывается уровень уверенности от 60% до 100%, а флаг --min-confidence отсекает приблизительные предположения, чтобы показывать только наверняка неиспользуемый код.
Из-за динамической природы Python Vulture может пропустить неиспользуемый код или отметить код, который вызывается неявно. Для борьбы с ложными срабатываниями он поддерживает файлы whitelist, имитирующие использование кода, правила игнорирования имён, декораторов и путей на основе glob-шаблонов, а также настройку через pyproject.toml. Результаты можно сортировать по размеру, чтобы расставить приоритеты при очистке кода.
Vulture можно запускать через CLI, вызывать как модуль Python, использовать программно через API или подключить в качестве pre-commit hook. Формат его вывода совпадает с форматом pyflakes.
Ключевые возможности
- 01Находит неиспользуемые функции, классы, методы, атрибуты, переменные и импорты
- 02Находит недостижимый код после return, raise, break и continue
- 03Присваивает находкам уровень уверенности и фильтрует результаты с помощью --min-confidence
- 04Поддерживает файлы whitelist для подавления ложных срабатываний
- 05Настраивается через pyproject.toml и доступен как Python API
Сценарии использования
- Очистка крупной кодовой базы на Python, в которой накопился неиспользуемый код
- Поиск непокрытого тестами кода: запустите Vulture на библиотеке и её наборе тестов
- Автоматическая проверка неиспользуемого кода через pre-commit или CI
Быстрый старт
- 1
Установите Vulture из PyPI
pip install vulture - 2
Запустите Vulture для скрипта Python или каталога пакета
vulture myscript.py mypackage/
Что важно знать
- Из-за динамической природы Python инструмент может пропускать неиспользуемый код и помечать как неиспользуемый код, вызываемый неявно.
- Значения уверенности ниже 100% — это очень приблизительные оценки.
Темы
Частые вопросы
- Что такое vulture?
- Инструмент статического анализа, который находит в проектах на Python неиспользуемые функции, классы, переменные и импорты, а также недостижимый код. Vulture сканирует файлы и каталоги Python в поисках кода, который объявлен, но нигде не используется: например, неиспользуемых функций, классов, атрибутов, переменных, импортов и недостижимых ветвей. Он анализирует абстрактное синтаксическое дерево и не запускает код. Для каждой находки указывается уровень уверенности от 60% до 100%, а флаг --min-confidence отсекает приблизительные предположения, чтобы показывать только наверняка неиспользуемый код.
- vulture можно использовать бесплатно? Какая у него лицензия?
- vulture распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- vulture всё ещё поддерживается?
- Активно поддерживается. Последний коммит в vulture — 12 окт. 2026 г..
- Для чего можно использовать vulture?
- Очистка крупной кодовой базы на Python, в которой накопился неиспользуемый код Поиск непокрытого тестами кода: запустите Vulture на библиотеке и её наборе тестов Автоматическая проверка неиспользуемого кода через pre-commit или CI
- Как установить vulture?
- Установите Vulture из PyPI: pip install vulture Запустите Vulture для скрипта Python или каталога пакета: vulture myscript.py mypackage/
- Где скачать vulture?
- Исходный код и инструкции по установке — на GitHub: https://github.com/jendrikseipp/vulture
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Линтер Swift с более чем 200 настраиваемыми для каждого проекта правилами стиля и соглашений.
Платформа для самостоятельного развертывания, которая анализирует проекты на наличие ошибок, уязвимостей и проблем с поддерживаемостью и применяет Quality Gates в CI-пайплайнах.
Набор правил для PHP_CodeSniffer, выявляющих код с возможностями и функциями PHP, несовместимыми с другими версиями.
Docker-образ со множеством PHP-инструментов для статического анализа, тестирования и проверки качества кода — запускайте их без локальной установки.
CLI-инструмент для запуска Python-линтеров и форматтеров, таких как ruff, isort, black, mypy и flake8, прямо в Jupyter Notebooks.