TL;DR: uv is an extremely fast Python package manager, written in Rust.

you are viewing a single comment's thread
view the rest of the comments
[–] 14 points 2 years ago (3 children)

definitely not the real reason for a project like this to exist. Python package management can be nightmarish at times depending on what you’re doing. between barebones requirements.txt, Poetry, and the different condas there’s a ton of fragmentation, and none of them do everything you’d want in an ideal way. above and beyond speed, i think uv is another attempt at it. but it could just be another classic xkcd moment where now there’s just another standard to deal with

  • source
  • parent
  • hideshow 3 child comments
  • [–] 7 points 2 years ago (2 children)

    uv is a drop-in replacement for pip. There's no extra standard. It's pareto better. Honestly the Python community would do the world a favour if the deprecated pip and adopted uv as the official tool, but you can guess how likely that is...

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 2 years ago (1 child)

    as you might have guessed i haven’t really tried it, but i have been reading about it. that said i have used “drop in replacement” tools like this (we use pnpm at work), and a drop in replacement is not without quirks. they wouldn’t have made a different tool altogether if it was really a 1:1 replacement. just because the commands are the same doesn’t mean it behaves the same. i.e. i doubt one person on the team could be using uv while everyone else sticks to pip

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 2 years ago

    they wouldn’t have made a different tool altogether if it was really a 1:1 replacement

    Why not? It's 10x faster.

    I think it might have some other new features but you don't need to use those.

    i doubt one person on the team could be using uv while everyone else sticks to pip

    This is exactly what we do at work. There's no way I could convince everyone to switch to uv so I just switch between them based on an environment variable.

    It even supports random stuff like pip install --config-settings editable_mode=compat --editable foo which is required for static tooling to work (e.g. Pyright).

  • source
  • parent