Intermédiaire·1 min·26 juillet 2026

Ruff 0.16.0 casse tout (et c'est voulu)

🎧 Résumé audio0:00 / 0:00
Ruff vient de passer de 59 à 413 règles par défaut. Tes CI éclatent ? C'est normal.
Ruff 0.16.0 casse tout (et c'est voulu)

Pourquoi ça compte pour toi

Si tu utilises Ruff sans version épinglée (et beaucoup le font), cette mise à jour te force à corriger des centaines de petites infractions. C'est chiant sur le moment, mais honnête : ces règles attrapent de vrais bugs. Le bon côté : tu peux laisser une IA les fixer d'un coup.

Ce qu'il faut retenir

  • 1.413 règles activées par défaut au lieu de 59 — surtout des erreurs de syntaxe et pièges à l'exécution
  • 2.Les agents IA (GPT-5.6, Claude Opus) peuvent corriger la majorité automatiquement
  • 3.L'exemple : sqlite-utils a eu 1618 erreurs détectées, 1538 corrigées en une ligne

Tu galères avec le jargon ?

Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.

Pourquoi autant de nouvelles règles ?

Ruff a grandi : de 708 à 968 règles disponibles depuis la v0.1.0. Mais l'équipe (maintenant chez OpenAI) a décidé que les vrais problèmes — les datetime.now() sans timezone, les exceptions trop larges, les appels inutiles — ne devaient pas être optionnels. Ils doivent être visibles d'emblée.

Le côté sympa : les agents IA adorent ça

Ruff produit une sortie très lisible. Exemple :

DTZ005 `datetime.datetime.now()` called without a `tz` argument
  → tests/test_duplicate.py:17:10
  help: Pass a `datetime.timezone` object to the `tz` parameter

C'est littéralement du prompt parfait pour un agent. Simon Willison (qui a écrit le billet source) a testé :

  • LLM et sqlite-utils : corrigées par Codex (GPT-5.6)
  • Datasette : corrigée par Claude Opus

La correction automatique a réglé ~95% des problèmes.

Concrètement, tu fais quoi ?

Immédiat : épingle Ruff à une version dans tes dépendances (ruff==0.15.0), sinon surprise le jour de la prochaine publication.

Sinon : lance uvx ruff@latest check . --fix --unsafe-fixes sur ton projet, passe les changements en revue, merge. C'est simple si tu as une bonne suite de tests (pour vérifier que rien n'a cassé).

Avancé : configure .ruff.toml pour désactiver les règles qui te gonflent, genre DTZ005 si tu aimes vivre dangereusement.

Et concrètement pour toi ?

Choisis ton profil — la lecture de l'article change selon qui tu es.

🔭 Curieux

Pour toi, comprends que Ruff qui double ses règles c'est un symbole : les outils dev deviennent intelligents et exigeants. Ça va casser des trucs en l'air, mais ça va aussi corriger des bugs qu'humains auraient laissé passer. C'est le rythme du progrès technique en ce moment.

Newsletters Noésis

3 minutes d'IA dans ta boîte mail, chaque matin.

Rejoins les francophones qui comprennent, essaient et progressent avec l'IA. Choisis ce que tu veux recevoir. Désabonnement en 1 clic.