Repolode
jendrikseipp

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. 1

    Установите Vulture из PyPI

    pip install vulture
  2. 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 обновляется ежедневно.

Похожие проекты

Платформа для самостоятельного развертывания, которая анализирует проекты на наличие ошибок, уязвимостей и проблем с поддерживаемостью и применяет Quality Gates в CI-пайплайнах.

11,2 тыс.+26 за неделю2,2 тыс.JavaLGPL-3.0Обновлён вчера