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

  • chrash0@lemmy.world
    link
    fedilink
    arrow-up
    16
    ·
    4 months 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

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      9
      ·
      4 months 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@lemmy.world
        link
        fedilink
        arrow-up
        5
        ·
        4 months 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

        • FizzyOrange@programming.dev
          link
          fedilink
          arrow-up
          4
          ·
          4 months 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).