Email or username:

Password:

Forgot your password?
Simon Willison

Gathered a few notes on the insightful conversation about uv happening in the Python Mastodon community right now simonwillison.net/2024/Sep/8/u

12 comments
Chris is.

@simon @hynek's point about the single blob to bootstrap is imo the one that explains and will continue to explain uv's ubiquity. It really does come as close as we've found to a universal instruction for getting started developing.

Joe Cooper 💾

@simon 100% what Hynek said. One of the most painful things about Python development, for me, is how fragile the packaging stuff is and how little regard for backward compatibility there is in the leading tools. It isn't that it's bad or that it's unreasonably slow, it's that it's an element of chaos. I never know when an update will break my CI builds, so I have to lock to a specific set of versions. And, somehow every packaging related thing in Python is fragile like that.

Gary Fleming

@simon great thread and summation, thank you!

Simon Willison

uv creator Charlie Marsh joined the conversation, you can read his threaded response here hachyderm.io/@charliermarsh/11

Alexerson

@simon call me naive, but every single time I see an interaction from Charlie, I'm genuinely impressed. It doesn't change much about a scenario where he gets kicked out of Astral, but besides that...

Glyph

@simon a wonderful summary, thanks for writing this up for folks who aren’t as engaged on this platform!

Luca Baggi

@simon been reading the thread with interest, but I find some "stances against uv" a little bit too harsh. I understand and respect the concerns, of course.

(Though I don't get the whole "but it's written in Rust" thing: the scientific ecosystem is full of C/C++/Cython, a bit of Fortran and I don't even know what else. I guess that makes it comparatively more maintainable, lol.)

Phil Gyford

@simon Thanks for pointing this out. The complete mess of Python packaging has been the worst, most embarrassing aspect of Python to me. Those more expert than me seem less bothered, but trying to explain to newbies how to choose which collection of tools to use just to start writing code has been ridiculous. I just want one good tool.

I'm usually very, very against anything VC-funded but I love what's happening with uv and I really hope it succeeds in a way that keeps people happy.

Tom Bortels

@simon

I have kinda taken "written in rust" to be a strength - but not because of rust, at least not directly.

It solves for bootstrapping, and it does so in a manner that is entirely independent of the payload.

If you screw up your python (and perl and ruby and so on before that) - you could easily get into a situation where there is no easy fix aside from a reinstall, and when the language came with the OS and the Os depended on it - you were in a pickle.

Uv entirely removes this failure mode. It isn't part of the OS, has no external dependencies, and you won't mess it up from the python side. It provides a separation of duties that mechanisms that manage python from python have lacked. And it means a python I use on platform X can be as identical as possible to platform Y - no worrying about what the vendor did to their install you're bootstrapping from.

Have I used it in anger in production yet? No. Will I? Yeah, almost certainly.

@simon

I have kinda taken "written in rust" to be a strength - but not because of rust, at least not directly.

It solves for bootstrapping, and it does so in a manner that is entirely independent of the payload.

If you screw up your python (and perl and ruby and so on before that) - you could easily get into a situation where there is no easy fix aside from a reinstall, and when the language came with the OS and the Os depended on it - you were in a pickle.

Harro van der Klauw

@simon thanks for the summary, I think it was a good discussion.

Go Up