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 Ruff on Debian 12 “Bookworm”

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

← Ruff overview & all releases
📦 Currently serving: ruff 0.16.3-1~bookworm for bookworm (updated 2026-08-18) — architectures: amd64, arm64, armhf. This page is regenerated automatically from the repository metadata, so the version above is exactly what apt install ruff gives you today.

Debian 12 “Bookworm” is the previous Debian stable release (oldstable), still widely deployed on servers and desktops. Ruff is not shipped at its latest version by the official Debian archives, so this repository builds current upstream releases as native .deb packages targeted specifically at bookworm, with dependencies matching what Debian 12 actually ships.

And then it keeps doing it. Every new upstream release is packaged and published here within hours, so Ruff updates arrive the same way your system updates do — through apt upgrade, unattended-upgrades, or whatever already runs on your machine. No release page to watch, no version to compare, no dpkg -i to remember.

🚀 Install Ruff on bookworm

Step 1: Add the deb.griffo.io repository

Run the commands
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 bookworm 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 bookworm 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 →

The sources line above pins the bookworm suite explicitly, so it keeps working in containers and images where lsb_release is unavailable.

Step 2: Install Ruff

sudo apt install -y ruff
apt install -y ruff

🔄 Updating

Updates arrive through normal system maintenance — new upstream releases are usually packaged within hours:

sudo apt update && sudo apt install --only-upgrade ruff
apt update && apt install --only-upgrade ruff

🗑️ Uninstalling

sudo apt remove ruff
# optionally remove the repository as well:
sudo rm /etc/apt/sources.list.d/deb.griffo.io.list /etc/apt/keyrings/deb.griffo.io.gpg
apt remove ruff
# optionally remove the repository as well:
rm /etc/apt/sources.list.d/deb.griffo.io.list /etc/apt/keyrings/deb.griffo.io.gpg

📋 Ruff versions across Debian & Ubuntu releases

The same repository serves every supported release — this table is generated from the live repository metadata:

ReleaseSuiteRuff version
Debian 12 “Bookworm”bookworm (this page)0.16.3-1~bookworm
Debian 13 “Trixie”trixie0.16.3-1~trixie
Debian 14 “Forky”forky0.16.3-1~forky
Debian Sidsid0.16.3-1~sid
Ubuntu 22.04 LTS “Jammy Jellyfish”jammy0.16.3-1~jammy
Ubuntu 24.04 LTS “Noble Numbat”noble0.16.3-1~noble
Ubuntu 25.10 “Questing Quokka”questing0.16.3-1~questing
Ubuntu 26.04 LTS “Resolute”resolute0.16.3-1~resolute

❓ Frequently asked questions

Is this an official Ruff package?

No — deb.griffo.io is an unofficial repository maintained by Dario Griffo. Packages are built automatically from official upstream Ruff releases; the packaging is open source at dariogriffo/ruff-debian.

Why not install Ruff from the official Debian archive?

Debian's archive freezes package versions when a release ships and afterwards receives mostly security fixes, so fast-moving tools are either absent or several releases behind. This repository tracks upstream releases instead, with builds targeted at each Debian release.

How quickly do new Ruff releases arrive?

The repository polls upstream releases and publishes new builds automatically, typically within hours of an upstream release. Subscribe to the release feed to follow updates.

Which architectures are supported on bookworm?

ruff is currently built for: amd64, arm64, armhf.

🔗 Related

💡 All releases: need Ruff on a different Debian or Ubuntu version? The table above links to a dedicated guide for every supported release, or start from the Ruff overview.