skillfed

pyink

Pyink is a python formatter, forked from Black with slightly different behavior.

pyink v25.12.0 467.2K downloads/30d#6,499 on PyPI295
Permissive license MIT Active released

What it is and what it does

Pyink is a Python formatter maintained by Google as a medium-term adoption bridge for teams that cannot immediately migrate to Black. It forks Black's codebase and applies several localized patches that change how code is wrapped and indented, while remaining compatible with Black's command-line interface and configuration structure.

The main differences include support for two-space indentation, inferring quote style from file majority, preserving trailing pragma comments without wrapping, and keeping parentheses around multi-line strings in function arguments. Pyink is designed to be gradually phased out as its patches are upstreamed to Black or teams migrate fully. It depends on Black, click, mypy-extensions, packaging, pathspec, platformdirs, pytokens, tomli, and typing-extensions, and runs on Python 3.10 and later.

Use it for:

  • Gradually migrate a large monorepo from inconsistent formatting to Black-compatible style without disrupting all developers at once.
  • Enforce two-space indentation in Python projects that prefer it over Black's default four-space standard.
  • Maintain consistent quote style across a codebase by automatically inferring single or double quotes based on file majority.
  • Format code while preserving trailing pragma comments (e.g., `# pylint: disable`) without line wrapping.
  • Use as a drop-in Black replacement in CI/CD pipelines with minimal configuration changes.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Pyink is a Python code formatter forked from Black that applies Black's formatting rules with several customizable behavioral differences, including optional two-space indentation and majority-quote inference.

Yes, if you need Black-compatible formatting with specific behavioral customizations (two-space indentation, majority quotes, pragma preservation) or are managing a gradual migration to Black in a large codebase. The package is actively maintained, has no known vulnerabilities, and low install friction. Not necessary if you are already using Black or do not need its specific formatting variants.

Install

pyink on PyPI

pip

pip install pyink

uv

uv add pyink

poetry

poetry add pyink

Installing pyink

Before you install

Low install friction with a pure-Python wheel distribution. Actively maintained as of August 2026 with recent commits and no known vulnerabilities. Depends on Black and related tooling libraries, all of which are stable and widely used.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal obligations.

Quickstart

pip install pyink

pyink --help
pyink myfile.py
pyink --pyink-indentation 2 myfile.py

Requires Python 3.10 or later.

Verify before relying

  • Whether Pyink's patches remain synchronized with Black's latest releases and how often rebasing occurs.
  • Performance characteristics compared to Black on large codebases or monorepos.
  • Community adoption rate and stability of the formatting rules across versions.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 9 — black, click, mypy-extensions, packaging, pathspec, platformdirs, pytokens, tomli, typing-extensions
Maintenance actively maintained — 224 days since the last release
Last repo commit
First released
Downloads 467,199/month — #6,499 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyink-25.12.0-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: Quality Assurance

Tags

python code formatterblack alternative formattercode style enforcementpython linting and formattingconfigurable indentation formatterquote style normalizationautomated code formatting
code-formatterblack-forkstyle-enforcement

More Python Modules packages