Automic VaultAutomic Vault

brew

Install yapf with Homebrew, apt, Nix, pacman

Formatter for python code. Version 0.43.0 via Homebrew; verified from local package data.

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 post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.
  • Installs with 1 runtime dependencies.

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
yapfcliglobal executable
yapf-diffcliglobal executable

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-07-08
manager version0.43.0
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/google/yapf

  • infoNo package-manager update timestamp was available.low confidence
  • infoNo cached GitHub release or tag data was available.https://github.com/google/yapfnone confidence

install metadata

Package metadata

Package keybrew:yapf
Version0.43.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/yapf
Homepagehttps://github.com/google/yapf
Repositoryhttps://github.com/google/yapf
Upstream docshttps://github.com/google/yapf#readme
LicenseApache-2.0
Source archivehttps://files.pythonhosted.org/packages/23/97/b6f296d1e9cc1ec25c7604178b48532fa5901f721bcf1b8d8148b13e5588/yapf-0.43.0.tar.gz
Dependenciespython@3.14
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameyapf
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

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
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment