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.
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 upgradekeeps 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
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 updateinstall -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 updatesudo apt install extrepo
sudo extrepo enable griffo
sudo 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 cliamp, Ghostty, lazydocker, 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.
🧩 About the extrepo option. extrepo is Debian's own tool for external repositories: it writes the sources file and installs the signing key for you, checking the key against signed metadata first. This repository is registered with it as griffo, and the always-free mirror as griffo-free, so on Debian (bookworm, trixie, forky and sid) the commands above are the whole setup.
extrepo sets up the sources file and the key only, so a subscription's credentials still go in /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu is not covered, because extrepo publishes metadata for Debian suites only: there, use the sudo or root commands.
Step 2: Install Ruff
sudo apt install -y ruffapt 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:
- 📂 ruff-debian - Latest release builds
🔗 Related Packages
Also available from deb.griffo.io:
- uv - Astral's extremely fast Python package manager, ruff's perfect companion
- Zed - A fast editor with first-class ruff integration
- just - A command runner for your lint/format/test workflows
💝 Support This Project
If this repository saves you time and effort, please consider supporting it!
