English • Русский
Статический анализатор Python на основе AST. Находит неиспользуемые функции, классы, переменные и импорты — те, что только занимают место.
- Функции и методы, которые нигде не вызываются
- Классы без инстанциирования или наследования
- Переменные, которые присваиваются, но не читаются
- Импорты, которые нигде не используются
- Аргументы, которые всегда игнорируются
pip install deadcodedeadcode . # весь проект
deadcode src/utils.py # один файл
deadcode . --ignore "test_*" # исключить паттерны
deadcode . --warn-only # только предупреждения
deadcode . --format json | jq . # JSON выводsrc/utils.py:12: неиспользуемая функция 'parse_config'
src/models.py:45: неиспользуемый класс 'LegacyAdapter'
src/main.py:3: неиспользуемый импорт 'os'
src/handlers.py:78: неиспользуемая переменная 'tmp'
Итого: 4 проблемы в 4 файлах
Инструмент не запускает код — только AST-анализ. getattr, __all__,
динамические вызовы через importlib вне его зоны ответственности.
Используй вместе с mypy и ruff.