โšก 43 developer tools, always updated โ€” new upstream releases land in apt within hours. Join the Discord

๐Ÿ“… From , the apt mirror will require a subscription. See pricing ยท ๐Ÿ†“ There is an always-free mirror

๐Ÿงน Install Latest Ruff on Debian

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

Latest version: 0.16.3 ยท updated 2026-08-13
SourceVersion
deb.griffo.io0.16.3 โœ…
Official Debian๐Ÿšซ not packaged
โ† Back to home
๐Ÿ“Œ Installing on a specific release? Debian 12 (bookworm) ยท Debian 13 (trixie) ยท Debian 14 (forky) ยท Debian Sid

What is Ruff?

Ruff is an extremely fast Python linter and code formatter, written in Rust by Astral โ€” the team behind uv. With over 800 built-in rules and native re-implementations of popular plugins, a single ruff binary replaces Flake8, isort, Black, pyupgrade, autoflake and dozens of plugins, while running 10โ€“100ร— faster. It has become the default linter of the modern Python ecosystem, adopted by projects like FastAPI, Pandas and Hugging Face.

๐Ÿ˜ค Python tooling pain points: Managing flake8 plus a dozen plugins, isort fighting Black, minutes-long lint runs in CI, and installing linters into every single virtualenv? Ruff is one dependency-free binary that does it all in milliseconds โ€” and installing it with apt makes it available system-wide, for every project and venv, without pip.
๐Ÿš€ Always ahead of the official archives: Debian and Ubuntu freeze package versions when a release ships โ€” this repository publishes new upstream releases typically within hours. A simple apt upgrade keeps you on the latest version.

โšก Key Features of Ruff

๐ŸŽ๏ธ 10โ€“100ร— Faster

Lints large codebases in milliseconds where legacy tools take minutes โ€” fast enough to run on every save and in every CI pipeline.

๐Ÿงฐ One Tool, 800+ Rules

Re-implements Flake8, isort, pyupgrade, pydocstyle, eradicate and more โ€” one config in pyproject.toml replaces a stack of plugins.

๐Ÿ–ค Drop-in Formatter

ruff format is a Black-compatible formatter โ€” same style, orders of magnitude faster, no separate tool to install.

๐Ÿ”ง Auto-fixes

Hundreds of rules come with automatic fixes: unused imports, upgraded syntax, sorted imports โ€” ruff check --fix and done.

๐Ÿ Version-aware

Targets any Python from 3.7 onward with per-version rule behavior, monorepo-friendly hierarchical configuration and per-file overrides.

๐Ÿ”Œ Editor Integrations

A built-in language server (ruff server) powers first-class VS Code, Zed, Neovim and Helix integrations from the same binary.

๐Ÿ† Why install it with apt?

  • System-wide, pip-free: one binary for every project, venv, CI job and user โ€” no per-project installs to keep in sync
  • Perfect for Docker/CI images: bake the repo into base images and every pipeline gets current ruff automatically
  • No toolchain: no Rust, no cargo, no pip โ€” a signed apt repository with prebuilt binaries for 8 architectures
  • Automatic updates: ruff releases frequently; apt upgrade keeps up so your rules never go stale
  • Pairs with uv: Astral's package manager is also served here โ€” the full modern Python toolchain from one repository

๐Ÿ“ฆ Installation from deb.griffo.io

Run the commands

Step 1: Add Repository

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update

๐Ÿ†“ There is an always-free mirror. deb-free.griffo.io serves packages free forever โ€” no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries Ghostty, Oh My Posh and Zed; Ruff is not one of them, so the repository above is the only way to get it today โ€” ask and it can be enrolled.

How the free mirror works โ†’

Step 2: Install Ruff

sudo apt install -y ruff
apt install -y ruff

๐Ÿš€ First run

Lint and format your project:

ruff check .          # lint
ruff check --fix .    # lint and auto-fix
ruff format .         # format (Black-compatible)

๐Ÿ“ฆ Package Build Repository

The Debian packages are automatically built and maintained in this GitHub repository:

๐Ÿ”— Related Packages

Also available from deb.griffo.io:

๐ŸŽฏ Perfect for: Python developers tired of slow lint runs, teams consolidating flake8/isort/Black into one tool, CI/CD pipelines and Docker images that need a current linter without pip, and anyone using uv who wants the complete Astral toolchain via apt.

๐Ÿ’ Support This Project

If this repository saves you time and effort, please consider supporting it!

โญ Star on GitHub ๐Ÿฆ Share on Twitter

Just after the command? See apt install ruff โ€” one page covering Debian and Ubuntu.

๐Ÿ“ฆ Recent releases from this repository

๐Ÿ“š Release-specific install guides

โ“ Frequently asked questions

Is Ruff in the official Debian repositories?

No โ€” Ruff is not packaged in the official Debian archives. This repository is currently the only apt source, serving Ruff 0.16.3.

How do I install the latest Ruff on Debian?

Add the deb.griffo.io repository once using the instructions above, then run: sudo apt install ruff. New releases arrive through the normal sudo apt upgrade.

Are the packages signed and how are they built?

Every package is signed with the repository's GPG key (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) and built from upstream releases in public GitHub packaging repositories that anyone can inspect.

Which Debian releases are supported?

Debian 12 Bookworm, Debian 13 Trixie, Forky and Sid.