YAPF is a Python code formatter that automatically rewrites source to match a chosen style, using a clang-format–inspired algorithm to search for the “best” layout under your rules. Instead of relying on a fixed set of heuristics, it explores formatting decisions and chooses the lowest-cost result, aiming to produce code a human would write when following a style guide. You can run it as a command-line tool or call it as a library via FormatCode / FormatFile, making it easy to embed in editors, CI, and custom tooling. Styles are highly configurable: start from presets like pep8, google, yapf, or facebook, then override dozens of options in .style.yapf, setup.cfg, or pyproject.toml. It supports recursive directory formatting, line-range formatting, and diff-only output so you can check or fix just the lines you touched.

Features

  • Performance helpers: Recursive formatting, --parallel for multiple files, and in-place edits with -i.
  • Configurable styles: Use pep8, google, yapf, or facebook as a base and override fine-grained knobs in config files or --style flags.
  • CLI and library APIs: Run from the terminal or call FormatCode / FormatFile programmatically.
  • Partial / selective formatting: Reformat specific line ranges (--lines) or only changed hunks via yapf-diff.
  • Editor & CI friendly: Editor plugins available; --diff and return codes enable easy CI enforcement.
  • Ignore support: Exclude paths with .yapfignore or [tool.yapfignore] in pyproject.toml.

Project Samples

Project Activity

See All Activity >

Categories

Algorithms

License

Apache License V2.0

Follow YAPF

YAPF Web Site

Other Useful Business Software
Our Free Plans just got better! | Auth0 Icon
Our Free Plans just got better! | Auth0

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
Try free now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of YAPF!

Additional Project Details

Programming Language

Python

Related Categories

Python Algorithms

Registered

2025-10-09