Comment by s_ting765

20 hours ago

Rust rewrites are known for breaking (compatibility with) working software. That's all there is to them.

In Python's case, as the article describes quite clearly, the issue is that the design of "working software" (particularly setup.py) was bad to the point of insane (in much the same way as the NPM characteristics that enabled the recent Shai Hulud supply chain attacks, but even worse). At some point, compatibility with insanity has got to go.

Helpfully, though, uv retains compatibility with newer (but still well-established) standards in the Python community that don't share this insanity!

  • Actually uv retains compatibility with the setup.py “insanity,” according to the article:

    > uv parses TOML and wheel metadata natively, only spawning Python when it hits a setup.py-only package that has no other option

    The article implies that pip also prefers toml and wheel metadata, but has to shell out to parse those, unlike uv.

I would say the downside of them is that they're known for replacing GPL software with MIT software