pkg.soopen package index

brew / rank 3263

Install yapf with Homebrew, Nix, pacman, apt

Formatter for python code. Version 0.43.0 via Homebrew; verified from local package data. Also installable with debian: sudo apt install python3-yapf.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install yapf

local Homebrew formula metadata

overview

Package summary

Formatter for python code

Commands and aliases

  • yapf
  • yapf-diff

history

Project history and usage

YAPF, Yet Another Python Formatter, is Google's clang-format-inspired formatter for Python source. Unlike style checkers that only report or repair selected PEP 8 violations, YAPF searches for a low-cost layout that conforms to a chosen style and rewrites the file.

Project history

The Google-owned GitHub repository was created on 2015-03-18, and PyPI history shows public 0.1.x packages in April 2015. The README explicitly says YAPF is based on clang-format, developed by Daniel Jasper, and that its goal is to produce code as good as a programmer would write while following a style guide.

YAPF's design grew out of formatter culture rather than linter culture. Its README contrasts the project with tools that remove lint errors and emphasizes a configurable formatting engine with named styles such as pep8, google, yapf, and facebook plus many individual knobs. Later changelog entries show continued maintenance for newer Python syntax and packaging shifts, including the move away from lib2to3 toward blib2to3 for Python 3.11-era parsing.

Adoption history

YAPF became one of the main Python auto-formatters of the mid-2010s, especially for teams that wanted clang-format-style configurability instead of a single canonical layout. Its README documents editor integrations, recursive formatting, diff mode for CI checks, local style discovery, and ignore files, all of which match adoption through developer tooling, pre-submit checks, and editor save hooks.

The formatter's long-term place changed after Black popularized less-configurable formatting, but YAPF remained important where repositories wanted Google/Facebook-like styles, large configuration surfaces, or incremental compatibility with existing formatting policy.

How it is used

Typical CLI usage is `yapf -i file.py` for in-place formatting, `yapf -d` for a diff suitable for review or CI, and `yapf -r` for recursive directory formatting. The `yapf-diff` helper fits patch-oriented workflows by formatting only changed hunks.

Configuration is central to YAPF usage. The formatter searches local style files such as `.style.yapf`, `setup.cfg`, and `pyproject.toml`, supports predefined base styles, and offers many style options for projects that treat formatting as policy rather than taste.

Why package nerds care

YAPF matters because it represents the configurable branch of Python formatter history: closer to clang-format and gofmt in automation, but less doctrinaire than later formatters. In package collections it is a standard example of a developer tool whose value is mostly in repeatability, editor integration, and reducing style churn in diffs.

It also shows how Python tooling had to adapt as the language parser story changed. Maintaining a formatter across Python syntax releases is partly a packaging problem: the executable must track language versions, config formats, editor plugins, and CI behavior at the same time.

Timeline

  • 2015-03-18: google/yapf repository is created on GitHub.
  • 2015-04-07: PyPI records an early public 0.1.4 upload.
  • 2023-06-13: YAPF 0.40.0 changelog notes Python 3.11 support and replacement of lib2to3 with blib2to3.
  • 2023-09-22: YAPF 0.40.2 is published on PyPI.
  • 2024-11-14: YAPF 0.43.0 is published on PyPI.

Related projects

  • clang-format is the formatter model named by YAPF's README.
  • autopep8 and pep8ify are older Python formatting tools contrasted by YAPF's documentation.
  • Black is the later opinionated Python formatter often compared with YAPF in formatter choice discussions.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
.style.yapfsetup.cfgpyproject.toml~/.config/yapf/style.yapfignore

executables

Installed executables

CommandKindExposureNote
yapfexecutableindexed executableDiscovered from the local executable index.
yapf-diffexecutableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version0.43.0
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:yapf
Version0.43.0
Package managerHomebrew
Homepagehttps://github.com/google/yapf
Repositoryhttps://github.com/google/yapf
Bottlenot recorded
Servicenone declared

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

python3-yapf 0.40.2-3

public modules for yapf (Python 3)

https://github.com/google/yapf

sudo apt install python3-yapf
  • Section: python
  • Architecture: all
  • Source Package: yapf
  • 3 dependencies
  • normalized package name match
  • Matched by: Yapf
Debian stable package indexes · deb.debian.org · Debian stable package indexes: python3-yapf from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

yapf3 0.40.2-3

Python code formatter for different styles (Python 3)

https://github.com/google/yapf

sudo apt install yapf3
  • Section: python
  • Architecture: all
  • Source Package: yapf
  • 2 dependencies
  • normalized package name match
  • Matched by: Yapf
Debian stable package indexes · deb.debian.org · Debian stable package indexes: yapf3 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

yapf

nix profile install nixpkgs#yapf
  • normalized package name match
  • Matched by: Yapf
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: yapf from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
Ubuntu apt95%

python3-yapf 0.33.0-1

public modules for yapf (Python 3)

https://github.com/google/yapf

sudo apt install python3-yapf
  • Section: universe/python
  • Architecture: all
  • Source Package: yapf
  • 4 dependencies
  • normalized package name match
  • Matched by: Yapf
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: python3-yapf from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

yapf3 0.33.0-1

Python code formatter for different styles (Python 3)

https://github.com/google/yapf

sudo apt install yapf3
  • Section: universe/python
  • Architecture: all
  • Source Package: yapf
  • 2 dependencies
  • normalized package name match
  • Matched by: Yapf
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: yapf3 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
pacman95%

yapf 0.43.0-2

Python style guide checker

https://github.com/google/yapf

sudo pacman -S yapf
  • License: Apache-2.0
  • Architecture: any
  • 2 dependencies
  • normalized package name match
  • Matched by: Yapf
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: yapf from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation