https://github.com/mukller/deadcode
Find dead and unused code in Python projects
https://github.com/mukller/deadcode
cli dead-code linter python refactoring static-analysis
Last synced: 7 days ago
JSON representation
Find dead and unused code in Python projects
- Host: GitHub
- URL: https://github.com/mukller/deadcode
- Owner: Mukller
- License: mit
- Created: 2026-06-23T13:10:49.000Z (24 days ago)
- Default Branch: main
- Last Pushed: 2026-06-23T14:03:58.000Z (24 days ago)
- Last Synced: 2026-06-23T15:31:30.315Z (24 days ago)
- Topics: cli, dead-code, linter, python, refactoring, static-analysis
- Language: Python
- Size: 13.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[English](README_EN.md) • **Русский**
# deadcode
Статический анализатор Python на основе AST. Находит неиспользуемые функции,
классы, переменные и импорты — те, что только занимают место.
## Что находит
- Функции и методы, которые нигде не вызываются
- Классы без инстанциирования или наследования
- Переменные, которые присваиваются, но не читаются
- Импорты, которые нигде не используются
- Аргументы, которые всегда игнорируются
## Установка
```bash
pip install deadcode
```
## Использование
```bash
deadcode . # весь проект
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`.