ruff is making a lot of buzz in Python community recently. It’s a Python linter written in Rust. It re-implements all built-in rules from flake8, most of the rules from pylint, and a lot of flake8 plugins. On top of having it all out-of-the-box, it’s very fast and provides autofix logic for many stylistic checks.

It’s still in “beta”, and a few months ago when I tried it for the first time it exploded on most of big projects I tried it on, but now it’s stable enough. I recommend giving it a try on your pet projects.

For me, the number one feature of the tool is a vscode plugin that lints the code as you type it. It’s something that I had in Atom years ago and what I’ve been missing the most in vscode. It even has autofixes as refactoring actions!

From the disadvantages, I’d mention that it brings the clumsy configuration approach from flake8 and still doesn’t have a way to write plugins for it. But I think fixing it is just a matter of time.

BTW, did you know Atom had been archived in March? It was objectively less stable and consistent than vscode, but it had some nice features, and it’s always great for ecosystem to have alternatives. I still use Atom hotkeys and theme in vscode. Probably, since Microsoft acquired Github, ditching Atom in favor of vscode was inevitable.