by modinfo on 1/21/25, 12:49 AM with 150 comments
by scosman on 1/21/25, 3:06 AM
I don’t think experienced python folks realize how much the flexible tooling slows people down, and creates friction for adopters. Setting up my project I tried 3 environment managers, 2 type checkers, 3 formatters/linters, 3 packagers/dependancy/project managers.
I know this is kinda the n+1 issue where astral is just adding another. But it feels like a complete and well designed stack, not a box of parts encouraging me to build my own. Reminds me a bit of go tooling.
I am a convert. I’ll happily jump on their type checker and packager when ready.
by danpalmer on 1/21/25, 2:05 AM
It was nice to be able to write little extra linters or flake8 plugins in the language I was linting. Plus decades of effort had gone into making those plugins pretty great, finding the right separation of linting codes so that the right things could be linted/ignored per codebase.
I understand why they did it, and they have done it remarkably well, but "rewrite it from scratch" is almost never the best answer and part of me wonders if this result could have been even better achieved another way.
by rikthevik on 1/21/25, 2:00 AM
Any opinions about the current state of the art type checker?
by throwaway98231 on 1/21/25, 1:30 AM
by JohnScolaro on 1/21/25, 12:06 PM
I've used it a few times since then and now I'm a big proponent of using only ruff. I think most of its value comes from:
1. Being fast (or at least fast enough that it's not annoying). 2. Replaces the linting/formatting combo of multiple tools, reducing the cognitive load for the developer.
Anyway, big fan.
by tiltowait on 1/21/25, 1:35 AM
by monomial on 1/21/25, 1:49 AM
by mhh__ on 1/21/25, 1:44 AM
by Blackarea on 1/21/25, 2:12 AM
Language processing like compiling or linting is just one of the many aspect where rust can really play out it's awesome strength.
by TheTaytay on 1/21/25, 5:28 AM
by fastball on 1/21/25, 1:30 AM
by seanwilson on 1/21/25, 2:03 AM
by earnestinger on 1/21/25, 8:33 AM
by bowsamic on 1/21/25, 9:09 AM
by greatgib on 1/21/25, 1:50 AM
I'm not that fan of Ruff because to me it doesn't make any sense to add a rust dependency to "python" and it blows my mind that people are so keen to accept the ugly formatting inherited from Black just because "it gives consistency to the team, so I don't have to think, and we don't have to discuss code style"...
But all of that personal opinion set aside, what triggers my initial statement is that so many persons are so excited to run to use Ruff because... "It is so fast"... when I'm quite sure most of them would never notice any real speed difference with their modest codebase.
In almost all the codebases I have seen, proprietary and OSS, pylint or any other linter was quasi-instant. There are probably a few huge codebases that would see a speed benefit of a few seconds to use Ruff, but their owner would probably better have a look at their code to understand how their reached such a monster!