described a prototype using `pip install --report`...
# pex
c
described a prototype using
pip install --report
JSON resolve report metadata, which would halve the time to create lockfiles when making use of some other in-flight pip changes: https://github.com/pantsbuild/pex/issues/2210. need to get more familiar with how pex selects the version of pip to execute
e
It doesn't, the user does. I'll comment on the issue but I've been down this road with Josh. There are a lot of details to account for in an investigation, including universal locks. There is also a likely bigger bang for the buck win in using incremental resolves since ~no one locks once, the lock many times.
If you're actually interested in this and you look at how universal locks are done (important because Pants uses these exclusively) and you consider Pip's point of view and all that, really page the problem set in, I think you might come to the conclusion I have, Pex likely needs to move to resolvelib instead of Pip + hacks in the long term. If so, that's a better place to put effort than continued hacks.
c
that seems quite reasonable
e
Either that or the report hack though really have to wait for Pex3 since they both break existing users wholesale or force code bifurcation.
c
was definitely assuming that
not clear on why the use of
--report
is a hack, but the resolvelib usage is interesting because i was also encouraged to look at doing further work on caching in the pip resolver as a plugin to resolvelib
e
Get report working for universal 1st, and then see if it's clean or not.
👀 1
I honestly don't know the answer, but that's the true magic thing Pex does here. Locking was easy, universal took all the work.
b
@chilly-magazine-21545 I have a branch with provisional support
👀 1
c
omg that rocks
b
I'm on mobile, look at my PEX fork to see if (if I pushed) otherwise I'll send a link tomorrow
c
yeah no worries thanks so much i'll take a look
b
I also have a script that can convert a pip report into (some version of) a PEX lockfile, sans VCS requirements. So you could start leveraging PEP 659-compatible servers for quicker resolves. (Of course with all the necessary warnings/cautions about doing this at all)