Assembly Line

Black

The uncompromising Python code formatter

Black is an open-source linters and formatters project on GitHub under the MIT license (permissive), with 42k stars. It is built with CPython. Its last push was yesterday.

Stars
42k
License
MIT
Activity
Active
Latest release
26.10.1

Code on GitHub Website

Newer and better: Ruff instead of Black. Use ruff format instead of Black.

Judgement

What it is
Developer tool
What it does
A Python code formatter with almost no options that rewrites code into one deterministic style.
Adopt it when
A Python team wants formatting settled automatically and is not already using Ruff's compatible formatter.
Watch out
Ruff's formatter produces near-identical output much faster, so many projects now use that instead.
Ready for
Production-ready
Runs as
Command line
Built with
Python
How established
Established: started 8 years ago, latest release 26.10.1.
What the license allows
You can build it into a product you sell, as long as you keep its copyright notice.

Judged on 2026-11-06 from the project's README and GitHub data. The license and age lines are worked out directly.

Built from

Follow it down: Black → CPython → GCC → LLVM project → runs on a microchip

How compilers were built, back to punched paper tape

Open-source alternatives to Black

  1. 1
    Prettier prettier

    Prettier is an opinionated code formatter.

    Developer tool Production-ready A web team wants to stop arguing about formatting and use the formatter that nearly every editor and framework already supports.

    ★ 52k MIT JavaScript Active, pushed today
  2. 2
    Ruff astral-sh

    An extremely fast Python linter and code formatter, written in Rust.

    Developer tool Production-ready You want to replace Flake8, isort and Black in a Python project with one tool that runs in a fraction of the time.

    ★ 50k MIT Rust Active, pushed today
  3. 3
    ShellCheck koalaman

    ShellCheck, a static analysis tool for shell scripts

    Developer tool Production-ready Your repositories contain shell scripts, especially in CI or deployment, and you want common mistakes caught before they run.

    ★ 40k GPL-3.0 Haskell Active, pushed today
  4. 4
    ESLint eslint

    Find and fix problems in your JavaScript code.

    Developer tool Production-ready You need the JavaScript linter with the largest rule and plugin ecosystem, including framework-specific rules for React, Vue and others.

    ★ 28k MIT JavaScript Active, pushed today
  5. 5
    Biome biomejs

    A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.

    Developer tool Production-ready You want to replace ESLint plus Prettier in a web project with a single fast tool and can live with its built-in rule set.

    ★ 26k Apache-2.0 Rust Active, pushed today
  6. 6
    Oxc oxc-project

    ⚓ A collection of high-performance JavaScript tools.

    Developer tool Usable Linting is slow on a large JavaScript codebase and you want Oxlint alongside or instead of ESLint, or you build tooling that needs a fast parser.

    ★ 23k MIT Rust Active, pushed today
  7. 7
    mypy python

    Optional static typing for Python

    Developer tool Production-ready A growing Python codebase uses type hints and you want the reference checker that most typing features land in first.

    ★ 21k See repository Python Active, pushed today
  8. 8
    ty astral-sh

    An extremely fast Python type checker and language server, written in Rust.

    Developer tool Experimental Type checking a large Python codebase is too slow with mypy or Pyright and you can tolerate a beta tool.

    ★ 20k MIT Python Active, pushed today

Stars, license and activity come from GitHub and refresh on a rolling hourly schedule. The project's own description is quoted as written.