Deptry ваш личный санитар зависимостей в Python проектах

24 авг 2025
1,459
46
5
1 месяц

deptry logo

Когда зависимости выходят из-под контроля

Знакомая ситуация? Вы подключаете библиотеку "на всякий случай", а потом забываете её удалить. Или наоборот — используете модуль, но забываете добавить его в requirements. Со временем такие недочёты накапливаются, делая проект медленнее и нестабильнее. Именно эти проблемы решает Deptry — инструмент для анализа зависимостей в Python-проектах.

Что может Deptry?

Deptry сканирует ваш код и находит:

  1. Неиспользуемые зависимости — те, что указаны в pyproject.toml или requirements.txt, но нигде не импортируются
  2. Отсутствующие зависимости — модули, которые импортируются, но не указаны в списке зависимостей
  3. Ошибочно указанные dev-зависимости — когда пакет используется в основном коде, но помечен как dev-зависимость
  4. Транзитивные зависимости — неявные зависимости, которые должны быть указаны явно

Просто запустите команду в корне проекта:

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?

  1. При рефакторинге — поможет очистить проект от устаревших зависимостей
  2. Перед публикацией пакета — убедиться, что все зависимости указаны корректно
  3. При наследовании чужого кода — быстро разберётесь, что действительно используется
  4. В CI/CD — можно добавить проверку зависимостей в пайплайн

Итог: стоит ли попробовать?

Deptry — это:

✅ Простота использования — одна команда для анализа ✅ Широкая совместимость — работает с большинством Python-проектов ✅ Практическая польза — реальное улучшение качества кода

Особенно рекомендую попробовать Deptry, если:

  • Ваш проект растёт и усложняется
  • Вы работаете в команде и хотите стандартизировать зависимости
  • Вам важно поддерживать проект в чистоте и порядке

Попробуйте Deptry в своём следующем проекте — возможно, вы удивитесь, сколько "лишнего" найдётся в ваших зависимостях!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.