このプロジェクトについて

YAPFは、clang-formatベースのアルゴリズムを使用して、構成されたスタイル設定に基づいてコードの最適なフォーマットを計算するPythonフォーマッターです。スタイルガイドに従ってプログラマーが書いたかのように見えるコードを生成し、コードメンテナンスの手動作業を削減することを目標としています。 主な機能は以下の通りです: - PEP8、Google、Facebook、カスタムYAPFスタイルなど、複数の事前定義スタイルをサポート。 - インデント、ブラケット配置、行分割、スペースなど細かく調整できる幅広い「knobs(設定)」による高い設定可能性。 - コマンドライン引数、`.style.yapf`ファイル、`setup.cfg`、または `pyproject.toml` による柔軟な設定。 - ディレクトリを再帰的に実行、特定行範囲のフォーマット、`.yapfignore`や`pyproject.toml`を用いたファイル除外が可能。 - `FormatCode`および`FormatFile` APIを通じたライブラリとしての統合機能。 - 統一差分で変更された行のみを再フォーマットする`yapf-diff`ツール。CIワークフローやパッチ管理に有用。 YAPFはPython 3.7+をサポートし、コミュニティプラグインを通じて様々なエディタと互換性があります。