Looks like uv released platform agnostic lock file...
# general
a
Looks like uv released platform agnostic lock files which I believe was a blocker for pex. https://astral.sh/blog/uv-unified-python-packaging . Is there a way to adopt this for package resolution?
b
There are still parts of pex that uv doesn’t support (subsetting is a big one that comes to mind) - but I still think we could try using uv for things like generating lockfiles + exporting resolves. I have a branch trying to hack some of this together, so hopefully soon 🤞
w
I'd be curious to see a side-by-side for the main functional requirements. As in, forgetting backwards compat for a moment, could the functionality
pex
be replaced by
uv
at dev time, and maybe rely on pex at package time (ala Vite + Rollup) ... Completely not thought through concept....
h
I am looking at this for the new Python backend
but any attempt to use
uv
instead of
pip
inside Pex would require a very deep dive into exactly how Pex uses
pip
, and what it needs from it, vs what
uv
provides.
c
Is there a way to adopt this for package resolution?
For resolution performance? Or some other reason?
a
@curved-manchester-66006 Yes, generate-lockfiles is too slow at the moment
w
Note: There are some upcoming pip improvements which should speed up dep resolution, lockfiles, etc - but no ETA exactly
but any attempt to use
uv
instead of
pip
inside Pex would require a very deep dive into exactly how Pex uses
pip
, and what it needs from it, vs what
uv
provides.
Yeah, I'm curious as to what we can carve out to the sides - especially re: internal pexes that aren't strictly downloaded tools (which
uvx tool
could probably handle)
h
I would love to do more stuff with
uv
, but probably as an alternative to
pex
w
👍 I would love some sort of opt-in solution, but that can be very complicated (but kinda future proofs against needing to change back, or forth, or if a new challenger springs up 😆 )
I've been playing with uv a lot more, it's pretty cool - and I would have loved if some of their changes could have been backported (somehow) to pip. But, new and shiny kinda wins the mindshare