UV has gone a long way to fix that issue with python.

uv has not really done that much. It's all been possible, and usually about as ergonomically. It's just opinionated in a way that people currently seem to like, and fast primarily due to good internal design (not because it's written in rocket emoji Rust sparkle emoji, although that certainly is a net positive to performance).

UV hasn't done anything except for all the parts that matter. (And while there are compelling arguments that Rust has nothing to do with it, the correlation is pretty strong)