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
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
Open-source alternatives to Black
-
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
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
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
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
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
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
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
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.