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
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

The database for AI-powered applications.

MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
Start Free
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

2 days ago