Об этом проекте

Black — это Python-форматер кода, поддерживаемый Python Software Foundation. Его цель — убрать споры о ручном форматировании, применяя единый konsistenый стиль: пользователи отказываются от контроля над мелочами форматирования в обмен на скорость, детерминированность и отсутствие предупреждений от проверок стиля. Основные характеристики: - Переформатирует целые файлы на месте, игнорируя предыдущее форматирование (с оговорёнными исключениями). - Намеренно ограниченные настройки; подчёркиваются разумные значения по умолчанию, настройки проекта читаются из pyproject.toml (например, шаблоны include/exclude). - Стремится создавать минимально возможные diff, что, по словам проекта, ускоряет code review. - Включает проверку безопасности, гарантирующую, что переформатированный код по-прежнему порождает валидный AST, эквивалентный оригиналу; флаг --fast пропускает эту проверку. - Заявляет соответствие PEP 8 и политику стабильности, регулируемую изменениями стиля. Установка и использование: - Установка через pip install black; требуется Python 3.10 или новее. - Форматирование Jupyter Notebook доступно через экстру black[jupyter]. - Самостоятельные исполняемые файлы, собранные PyInstaller, предлагаются в релизах GitHub для пользователей без установленной Python. - Запуск: black {source_file_or_directory} или python -m black {source_file_or_directory}. Экосистема и распространение: В README перечислены многие open-source проекты, использующие Black, включая pytest, tox, Pyramid, Django, Django Channels, Hypothesis, attrs, SQLAlchemy, Poetry, приложения PyPA, pandas, Pillow, Twisted, LocalStack, Home Assistant, Zulip и Kedro. Также указаны такие организации, как Dropbox, Lyft, Mozilla, Quora, Duolingo и Tesla. Приведены отзывы разработчиков, включая Mike Bayer, Hynek Schlawack, Kenneth Reitz и Carl Meyer. Проект лицензирован под MIT, предоставляет документацию на ReadTheDocs, ведёт changelog и список авторов в отдельных файлах, приглашает к участию через документацию для контрибьюторов и Discord-чат. Также упоминается Python Community Code of Conduct.