К
Коробка с питоном
@boxwithpython541 подп.
1.0Kпросмотров
21 марта 2024 г.
Score: 1.1K
Подписчиков набежало, а постов всё так же не было. Буду исправляться! Сегодня расскажу про deptry - тулзу, которая позволяет находить неиспользованные, транзитивные или отсутствующие зависимости в проекте на Python. Работает это следующим образом - запускаем утилиту в каталоге с проектом, она сканит все импортированные модули и сравнивает их с тем, что описано в зависимостях. Умеет работать с любым пакетным менеджером который строго следует PEP 621, а так же pyproject.toml от Poetry и PDM. Ну и обычный requirements.txt тоже поддерживается! Где это может быть полезно? Для себя выявил несколько сценариев: 1. Получили старый проект без зависимостей и пытаемся собрать либы, которые он использует (много раз такое было на фрилансе). 2. Проводим глубокий рефакторинг, трекаем ненужные зависимости и таким образом избавляемся от них. 3. Если кто-то напихал нормальные зависимости в качестве dev зависимостей, утилита тоже это покажет. 4. Отлично детектит использование транзитивных зависимостей - это такие пакеты, которые мы не устанавливаем напрямую, но которые устанавливаются при установке другого пакета как его зависимость. Самый простой пример - установка sqlparse при установке Django. Такие зависимости должны быть указаны явно. 5. Добавляем в CI и время от времени смотрим отчеты, таким образом поддерживаем зависимости в нормальном виде. Настраивается достаточно гибко, документация лежит здесь. #утилита
1.0K
просмотров
1423
символов
Нет
эмодзи
Нет
медиа

Другие посты @boxwithpython

Все посты канала →