Deptry ваш личный санитар зависимостей в Python проектах
Когда зависимости выходят из-под контроля
Знакомая ситуация? Вы подключаете библиотеку "на всякий случай", а потом забываете её удалить. Или наоборот — используете модуль, но забываете добавить его в requirements. Со временем такие недочёты накапливаются, делая проект медленнее и нестабильнее. Именно эти проблемы решает Deptry — инструмент для анализа зависимостей в Python-проектах.
Что может Deptry?
Deptry сканирует ваш код и находит:
- Неиспользуемые зависимости — те, что указаны в pyproject.toml или requirements.txt, но нигде не импортируются
- Отсутствующие зависимости — модули, которые импортируются, но не указаны в списке зависимостей
- Ошибочно указанные dev-зависимости — когда пакет используется в основном коде, но помечен как dev-зависимость
- Транзитивные зависимости — неявные зависимости, которые должны быть указаны явно
Просто запустите команду в корне проекта:
deptry .
И получите отчёт вида:
foo/bar.py:1:0: DEP004 'numpy' imported but declared as a dev dependency
foo/bar.py:2:0: DEP001 'matplotlib' imported but missing from the dependency definitions
pyproject.toml: DEP002 'pandas' defined as a dependency but not used in the codebase
Почему это важно?
- Уменьшает размер проекта — удаление ненужных зависимостей может значительно сократить время установки и сборки
- Повышает стабильность — отсутствие "лишних" пакетов снижает риск конфликтов версий
- Делает зависимости прозрачными — вы всегда знаете, какие пакеты действительно нужны вашему проекту
- Экономит время — автоматизация рутинной проверки зависимостей
Технические особенности
Deptry работает с большинством популярных менеджеров зависимостей Python:
- Poetry
- pip
- PDM
- uv
- Любые проекты, поддерживающие PEP 621
Установка предельно проста:
# Для Poetry
poetry add --group dev deptry
# Для pip
pip install deptry
Важно: при установке через pip убедитесь, что делаете это в виртуальном окружении проекта.
Когда особенно пригодится Deptry?
- При рефакторинге — поможет очистить проект от устаревших зависимостей
- Перед публикацией пакета — убедиться, что все зависимости указаны корректно
- При наследовании чужого кода — быстро разберётесь, что действительно используется
- В CI/CD — можно добавить проверку зависимостей в пайплайн
Итог: стоит ли попробовать?
Deptry — это:
✅ Простота использования — одна команда для анализа ✅ Широкая совместимость — работает с большинством Python-проектов ✅ Практическая польза — реальное улучшение качества кода
Особенно рекомендую попробовать Deptry, если:
- Ваш проект растёт и усложняется
- Вы работаете в команде и хотите стандартизировать зависимости
- Вам важно поддерживать проект в чистоте и порядке
Попробуйте Deptry в своём следующем проекте — возможно, вы удивитесь, сколько "лишнего" найдётся в ваших зависимостях!
