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

  • @chrash0
    link
    1423 days ago

    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

    • @[email protected]
      link
      fedilink
      623 days ago

      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…

      • @chrash0
        link
        423 days ago

        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

        • @[email protected]
          link
          fedilink
          422 days 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).