An open API service indexing awesome lists of open source software.

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

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