Top
Best
New

Posted by zdw 12/26/2025

How uv got so fast(nesbitt.io)
1290 points | 459 commentspage 6
TrayKnots 12/27/2025|
I usually don't see the importance of speed in one-time costs... But hey, same discussion with npm, yarn, pnpm...
aswegs8 12/26/2025||
uv seems to be a pet peeve of HN. I always thought pipenv was good but yeah, seems like I was being ignorant
aw1621107 12/26/2025||
> uv seems to be a pet peeve of HN.

Unless I've been seeing very different submissions than you, "pet peeve" seems like the exact opposite of what is actually the case?

VerifiedReports 12/26/2025||
Indeed; I don't think he knows what "peeve" means...
glaucon 12/26/2025|||
I too use pipenv unless there's a reason not to. I hope people use whatever works best for them.

I feel that sometimes there's a desire on the part of those who use tool X that everyone should use tool X. For some types of technology (car seat belts, antibiotics...) that might be reasonable but otherwise it seems more like a desire for validation of the advocate's own choice.

EdwardDiego 12/27/2025|||
My biggest complaint with pipenv is/was(?) that it's lockfile format only kept the platform identifiers of the platform you locked it on - so if you created it on Mac, then tried to install from the lockfile on a Linux box, you're building from source because it's only locked in wheels for MacOS.

Poetry and uv avoid this issue.

jlubawy 12/27/2025||
Came here to ask about pipenv. As someone who does not use python other than for scripting, but also appreciates the reproduceability that pipenv provides, should I be using uv? My understanding is that pipenv is the better successor to venv and pip (combined), but now everyone is talking about uv so to be honest it's quite confusing.

Edit: to add to what my understanding of pipenv is, the "standard/approved" method of package management by the python community, but in practice is it not? Is it now uv?

pkaodev 12/26/2025||
AI slop
pjjpo 12/27/2025||
> npm’s package.json is declarative

lol

man4 12/27/2025||
[dead]
rvz 12/26/2025||
TLDR: Because Rust.

This entire AI generated article with lots of text just to just say the obvious.

zahlman 12/26/2025|
That conclusion is largely false, and is not what the article says.
efilife 12/26/2025||
this shit is ChatGPT-written and I'm really tired of it. If I wanted to read chatgpt I would have asked it myself. Half of the article are nonsensical repeated buzzwords thrown in for absolutely no reason
almosthere 12/27/2025||
Our next trick, getting people to stop writing code (so we can stop writing python)
skywhopper 12/26/2025|
This is great to read because it validates my impression that Python packaging has always been a tremendous overengineered mess. Glad to see someone finally realized you just need a simple standard metadata file per package.
zahlman 12/26/2025||
It has been realized in the Python community for a very long time. But there have been years of debate over the contents and formatting, and years of trying to figure out how to convince authors and maintainers to do the necessary work on their end, and years of trying to make sure the ecosystem doesn't explode from trying to remove legacy support.

There are still separate forms of metadata for source packages and pre-compiled distributions. This is necessary because of all the weird idiosyncratic conditional logic that might be necessary in the metadata for platform-specific dependencies. Some projects are reduced to figuring out the final metadata at build time, while building on the user's machine, because that's the only way to find out enough about the user's machine to make everything work.

It really isn't as straightforward as you'd expect, largely because Python code commonly interfaces to compiled code in several different languages, and end users expect this to "just work", including on Windows where they don't have a compiler and might not know what that is.

See https://pypackaging-native.github.io/ for the general flavour of it.

markkitti 12/29/2025||
"overengineered" is not the term I would use to describe Python packaging. I would say it is "under-engineered". As in, "Why engineer a configuration file when you can just do it in code?".

This tendency towards what initially seems like the "simple" solution pervades the Python ecosystem and often requires complex engineering to work around later.