¿Qué es Ruff?
Ruff es un linter y formateador de código Python extremadamente rápido, escrito en Rust por Astral — el equipo detrás de uv. Con más de 800 reglas integradas y reimplementaciones nativas de plugins populares, un único binario ruff reemplaza a Flake8, isort, Black, pyupgrade, autoflake y decenas de plugins, ejecutándose entre 10 y 100 veces más rápido. Se ha convertido en el linter por defecto del ecosistema Python moderno, adoptado por proyectos como FastAPI, Pandas y Hugging Face.
apt upgrade te mantiene siempre en la última versión.
⚡ Características principales de Ruff
🏎️ De 10 a 100 veces más rápido
Analiza bases de código grandes en milisegundos donde las herramientas tradicionales tardan minutos — lo bastante rápido para ejecutarse en cada guardado y en cada pipeline de CI.
🧰 Una herramienta, más de 800 reglas
Reimplementa Flake8, isort, pyupgrade, pydocstyle, eradicate y más — una sola configuración en pyproject.toml reemplaza una pila de plugins.
🖤 Formateador drop-in
ruff format es un formateador compatible con Black — el mismo estilo, órdenes de magnitud más rápido, sin herramientas adicionales que instalar.
🔧 Correcciones automáticas
Cientos de reglas incluyen correcciones automáticas: imports sin usar, sintaxis actualizada, imports ordenados — ruff check --fix y listo.
🐍 Consciente de la versión
Apunta a cualquier Python desde 3.7 en adelante con comportamiento de reglas por versión, configuración jerárquica apta para monorepos y anulaciones por archivo.
🔌 Integraciones con editores
Un language server integrado (ruff server) impulsa integraciones de primera clase con VS Code, Zed, Neovim y Helix desde el mismo binario.
🏆 ¿Por qué instalarlo con apt?
- A nivel de sistema, sin pip: un binario para cada proyecto, venv, trabajo de CI y usuario — sin instalaciones por proyecto que mantener sincronizadas
- Perfecto para imágenes Docker/CI: incorpora el repositorio en tus imágenes base y cada pipeline obtiene un ruff actualizado automáticamente
- Sin toolchain: sin Rust, sin cargo, sin pip — un repositorio apt firmado con binarios precompilados para 8 arquitecturas
- Actualizaciones automáticas: ruff publica versiones con frecuencia;
apt upgradete mantiene al día para que tus reglas nunca queden obsoletas - Combina con uv: el gestor de paquetes de Astral también se sirve aquí — el toolchain completo del Python moderno desde un solo repositorio
📦 Instalación desde deb.griffo.io
Paso 1: Agregar repositorio
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🆓 Existe un espejo gratis para siempre. deb-free.griffo.io sirve paquetes gratis para siempre: sin cuenta, sin suscripción, como máximo 2 meses por detrás del upstream, correcciones de seguridad inmediatas. Ahora mismo incluye cliamp, Ghostty, lazydocker, Oh My Posh y Zed; Ruff no está entre ellas, así que hoy el repositorio de arriba es la única forma de instalarlo — pídelo y puede añadirse.
🧩 Sobre la opción extrepo. extrepo es la herramienta propia de Debian para repositorios externos: escribe el archivo de sources e instala la clave de firma por ti, comprobándola antes contra metadatos firmados. Este repositorio está registrado en ella como griffo, y el espejo gratuito para siempre como griffo-free, así que en Debian (bookworm, trixie, forky y sid) los comandos de arriba son toda la configuración.
extrepo solo configura el archivo de sources y la clave: las credenciales de una suscripción siguen yendo en /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu no está cubierto, porque extrepo publica metadatos solo para las suites de Debian: allí usa los comandos con sudo o como root.
Paso 2: Instalar Ruff
sudo apt install -y ruffapt install -y ruff🚀 Primera ejecución
Analiza y formatea tu proyecto:
ruff check . # lint
ruff check --fix . # lint and auto-fix
ruff format . # format (Black-compatible)📦 Repositorio de construcción de paquetes
Los paquetes de Debian se construyen y mantienen automáticamente en este repositorio de GitHub:
- 📂 ruff-debian - Latest release builds
🔗 Paquetes relacionados
También disponible desde deb.griffo.io:
- uv - El gestor de paquetes de Python extremadamente rápido de Astral — el compañero perfecto de ruff
- Zed - Un editor rápido con integración de primera clase con ruff
- just - Un ejecutor de comandos para tus flujos de lint/format/test
💝 Apoya este proyecto
Si este repositorio te ahorra tiempo y esfuerzo, ¡considera apoyarlo!
