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 updateStep 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!