I have to say that I am extremely reluctant to switch over to yet another python management system (packaging, environment, python version). Every few years someone says: this is it. Switch to poetry! Okay, I did. And, at least for some academic packages, psychopy I'm looking at you, it was a friggin disaster.
so. will uv install psychopy (say version 3.2.4)?
Hey, I'm still trying get over the fact that `pip search` is deprecated. A package manager command line tool that can't even search for packages.
This actually has nothing to do with pip. PyPI doesn't support the endpoint. It would work on a private index that does support the endpoint. But PyPI had to disable it due to persistent abuse.
https://stackoverflow.com/questions/66375972
https://status.python.org/incidents/grk0k7sz6zkp
Well... I did pip -> poetry -> rye -> uv in less than a year, so I can understand the fatigue. But the fact is that uv is well above the rest and was well worth the effort (and the wait).
I followed much of this path as well, but with conda (and mamba) in the mix. They all had fairly obvious flaws that uv doesn’t AFAICT.
Poetry was the worst for me. It doesn’t even try to manage the Python distribution, so it’s only a partial solution. It was so slow our CICD would timeout and fail. And I watched the maintainers actively refuse to fix super annoying bugs for YEARS, blaming others for the problem.
This is it. Switch to uv!
This time for real!
It certainly isn't. See here: https://github.com/astral-sh/uv/issues/5190
And here: https://pyproject-nix.github.io/uv2nix/FAQ.html#why-doesnt-u...
You're upset that uv doesn't yet support something that no other tool in the ecosystem supports?
I'd love for uv to lock build dependencies, but due to the dynamic nature of Python package metadata it's quite a hard problem. It'll be supported eventually though.
(I work on uv)
I'm just saying uv isn't "it", the packaging issue in Python isn't solved yet.
And yes, build dependencies is the big elephant of why Python packaging sucks.
> psychopy (say version 3.2.4)?
You do understand that psychopy switched to calver immediately after that version, and that this was over five years ago? That when that package was released, the oldest currently officially supported version of Python had barely started development? And that it's packaged according to legacy standards that weren't even following the best practices for 2019 (it offers only a source distribution despite only having Python code itself)?
That said, it looks like current versions would be able to install (on Mac, only up to Python 3.11, because that's what's supported) even with pip.
I have yet to be shown a package that uv can cleanly install into a new environment but pip cannot.
Psychopy is a mess of a project. It hasn't gotten any better from my perspective, even after hiring full time developers, because most of their effort is focused on the single-gui-app and Pavolovia.
things did get better when they added wheels.
I'm afraid uv can't do anything about that, nor could any other packaging tool. (Except perhaps one custom-made by the developers, but just getting on board with standards and best practices would surely be easier.)