Что такое isort и как его настроить для совместной работы с Black?

Ответ

isort — это утилита для Python, которая автоматически сортирует и форматирует импорты в коде. Она группирует их по типу (стандартная библиотека, сторонние пакеты, локальные модули) и упорядочивает в алфавитном порядке, что значительно улучшает читаемость кода.

isort и black (автоформаттер кода) часто используются вместе для обеспечения единого стиля кода. black отвечает за форматирование всего кода, кроме импортов, оставляя эту задачу для isort.

Настройка совместной работы

Для их бесконфликтной работы достаточно указать для isort профиль совместимости с black в файле pyproject.toml.

Пример конфигурации в pyproject.toml:

[tool.isort]
profile = "black"
line_length = 88 # Устанавливаем ту же длину строки, что и у black

[tool.black]
line_length = 88

Порядок использования

Рекомендуется запускать isort перед black, чтобы сначала отсортировать импорты, а затем отформатировать остальной код.

# 1. Сортировка импортов во всем проекте
isort .

# 2. Форматирование кода
black .

Такой подход автоматизирует поддержание чистоты и консистентности кодовой базы, снижая количество споров о стиле в команде.