Hacker News Viewer

Ruff v0.16.0 – Significant new updates – 413 default rules up from 59

by vismit2000 on 7/26/2026, 9:01:39 AM

https://astral.sh/blog/ruff-v0.16.0

Comments

by: maratc

The amount of fascination that people have with these &quot;grammar nazi&quot; bots -- some of them implementing completely arbitrary &quot;rules&quot; and some of them disagreeing with others on what &quot;good&quot; Python code should look like -- doesn&#x27;t stop to amaze me.<p>Here&#x27;s &quot;bad&quot; code:<p><pre><code> important_numbers = { &quot;x&quot;: 3, &quot;y&quot;: 42, # Answer to the Ultimate Question! &quot;z&quot;: 2 } </code></pre> Here&#x27;s what &quot;good&quot; code should look like:<p><pre><code> important_numbers = {&quot;x&quot;: 3, &quot;y&quot;: 42, &quot;z&quot;: 2} # Answer to the Ultimate Question! </code></pre> Which completely misses the writer&#x27;s intent. But did you notice that there are <i>two spaces</i> before the pound now?<p>The actual problems in the code I work with are not the spaces at the end of line or imports in non-alphabetic order, it&#x27;s the 10-line list comprehensions that are so long that they&#x27;re impossible for me to parse. None of these tools catch that. My place used pylint, flake8, black, ruff -- with hundreds of commits on every change. All that energy could be better spent elsewhere.

7/26/2026, 10:52:28 AM


by: gempir

I wish Go had something like Ruff! A lot of languages are getting amazing tool but Go has a very fragmented ecosystem with a lot of tools but none of them feel as high quality has the likes of Ruff, Oxc, Biome or even PHP&#x27;s Mago

7/26/2026, 10:48:54 AM


by: woadwarrior01

Great to see ruff, ty and uv being actively developed, even after Astral was acquired by OpenAI.

7/26/2026, 9:57:05 AM


by:

7/26/2026, 10:42:22 AM


by: kstenerud

This is great news! With the advent of agentic coding, strong linting is more important than ever. What I&#x27;d really like to see is forbidigo for more languages.

7/26/2026, 9:46:31 AM


by: hyeongjun

Good news. enabling 413 rules by default means most projects get useful linting without touching the config at all!

7/26/2026, 10:18:36 AM


by: vanyaland

ran 0.16 on a file with no config, it flags unsorted imports and `except Exception` by default now

7/26/2026, 10:27:49 AM


by: bbor

<p><pre><code> Ruff v0.16 has a small number of breaking changes </code></pre> Why. Why must my poor semver be hurt so!<p>I sorta kinda get why `ty` is pre v1.0.0 -- it&#x27;s a typechecker that doesn&#x27;t check a huge number of types. But what are we waiting for with `ruff`? Surely it&#x27;s eaten whatever the old options were (black? maybe a few takes on py+lint?) by now many times over, and is even more dominant than `uv`.<p>I run this program hundreds of times a day so I&#x27;m generally excited for new features, but I guess the OAI acquisition has made me ornery when it comes to these folks. Apologies to kindly nerds who made this release happen, and congrats &lt;3

7/26/2026, 10:20:38 AM