Repolode
google

google/yapf

Форматтер Python-кода, который приводит исходные файлы к настраиваемому стилю с помощью алгоритма компоновки clang-format.

Open source альтернатива:Black

Звёзды
13,987
Форки
915
Открытые issues
433
Последний коммит
7 дней назад

Что это?

YAPF форматирует исходный код Python, подбирая компоновку, соответствующую выбранному стилю. Благодаря этому разработчикам не приходится тратить столько времени на ручную правку отступов, пробелов и переносов строк. В основе YAPF лежит алгоритм переформатирования из clang-format; его можно запускать из командной строки или использовать как библиотеку через функции FormatCode и FormatFile.

Стиль задаётся на основе готовых вариантов, таких как pep8, google, yapf и facebook, а затем настраивается с помощью параметров «ключ/значение» в файлах .style.yapf, setup.cfg или pyproject.toml либо через командную строку. Множество отдельных параметров позволяют задавать, например, ограничение длины строки, расположение скобок, перенос операторов и расстояние до комментариев.

YAPF умеет форматировать только заданные диапазоны строк, исключать файлы по шаблонам командной строки или с помощью файла .yapfignore, выводить diff и параллельно обрабатывать несколько файлов. В режиме --diff программа возвращает ненулевой код выхода, если нужны изменения, поэтому её можно использовать для проверок в CI.

Ключевые возможности

  • 01Форматирует файлы Python в соответствии с готовым или пользовательским стилем, например pep8 или google.
  • 02Позволяет настраивать стиль с помощью десятков параметров в конфигурационных файлах или через командную строку.
  • 03Может форматировать только заданные диапазоны строк в файле.
  • 04Поддерживает шаблоны исключения файлов в командной строке, а также в .yapfignore / pyproject.toml.
  • 05Режим diff возвращает ненулевой код выхода, если требуется изменить форматирование, что подходит для проверок в CI.
  • 06Можно использовать как инструмент командной строки или библиотеку Python.

Сценарии использования

  • Поддержание единого стиля кода в команде или репозитории на Python.
  • Добавление проверки форматирования в CI-пайплайн с помощью режима diff.
  • Форматирование только строк, затронутых патчем или изменением в интеграции с редактором.
  • Автоматическая очистка стиля в скриптах, которые генерируют или преобразуют код Python.

Быстрый старт

  1. 1

    Установите YAPF из PyPI

    pip install yapf
  2. 2

    Запустите yapf для файлов Python, используя такие параметры, как --diff или --in-place

Что важно знать

  • В README YAPF описывается как бета-версия, и выпуски могут часто меняться.
  • Некоторые новые возможности Python, такие как синтаксис параметров типов из PEP 695 и формализация f-строк из PEP 701, пока не поддерживаются.

В подборках

Темы

Частые вопросы

Что такое yapf?
Форматтер Python-кода, который приводит исходные файлы к настраиваемому стилю с помощью алгоритма компоновки clang-format. YAPF форматирует исходный код Python, подбирая компоновку, соответствующую выбранному стилю. Благодаря этому разработчикам не приходится тратить столько времени на ручную правку отступов, пробелов и переносов строк. В основе YAPF лежит алгоритм переформатирования из clang-format; его можно запускать из командной строки или использовать как библиотеку через функции FormatCode и FormatFile.
yapf можно использовать бесплатно? Какая у него лицензия?
yapf распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
yapf всё ещё поддерживается?
Активно поддерживается. Последний коммит в yapf — 30 окт. 2026 г..
Для чего можно использовать yapf?
Поддержание единого стиля кода в команде или репозитории на Python. Добавление проверки форматирования в CI-пайплайн с помощью режима diff. Форматирование только строк, затронутых патчем или изменением в интеграции с редактором. Автоматическая очистка стиля в скриптах, которые генерируют или преобразуют код Python.
Как установить yapf?
Установите YAPF из PyPI: pip install yapf Запустите yapf для файлов Python, используя такие параметры, как --diff или --in-place
Где скачать yapf?
Исходный код и инструкции по установке — на GitHub: https://github.com/google/yapf

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты