> > A quick skim at the abstractions of ResolveLib, it does abstract in > lot of the same > ways that I intended for zazo. It is a pleasant surprise to me too. >
To be fair I have been throwing zazo at everyone as an abstraction layer the same way Paul is (and like Paul I didn't have a chance to do anything with it) -- TP and I kind of had a synchronous brainstorming session about how to abstract our specific need and we iteratively abstracted from a direct implementation like the one in pip-tools (which I basically keep current at this point) through requirementslib (which is our sort of pip <=> pipenv interface library which provides interop to pipfile, requirements.txt, InstallRequirement, etc), and landed on a directed graph for the actual resolver. This probably accommodates my development style more than his or yours, I am super iterative. > While I didn't really say that, I understand you might have been > interpreted what I > said as that. None the less, I'll be happy to coordinate on this front > moving forward. :) Oooh sorry for the miscommunication, I think I only saw the part about limited time. TP and I operate on a 12 hour time shift already, so we will just pick a good platform to continue the more detailed discussions on. I will follow up on the other thread we had (sorry again!) Dan Ryan gh: @techalchemy // e: d...@danryan.co > -----Original Message----- > From: Pradyun Gedam [mailto:pradyu...@gmail.com] > Sent: Tuesday, August 21, 2018 1:26 PM > To: Tzu-ping Chung > Cc: Dan Ryan; DistUtils Mailing List > Subject: Re: [Distutils] Re: pipenv and pip > > Hey! > > On Tue, Aug 21, 2018 at 7:51 PM Tzu-ping Chung <uranu...@gmail.com> > wrote: > > > > Speaking of Zazo[1], I actually found its abstraction extremely similar to > > our > current > > > > abstraction, ResolveLib[2]. I’m not sure it’s coincidence, we took > > inspiration > from > > > > similar sources, or this is simply the right way to do it, but how the logic > matches > > > > is quite surprising to me. > > A quick skim at the abstractions of ResolveLib, it does abstract in > lot of the same > ways that I intended for zazo. It is a pleasant surprise to me too. > > I have more thoughts on this but I'll avoid going into any more detail > here. I'll > be happy to have a chat with you elsewhere (off list, GH tracker etc) > on this and > collaborate here. > > > I’m quite sure we would be able to find some way to consolidate efforts > once we > > > > find the chance, but for the moment, progress in ResolveLib (and by > extension > > > > Pipenv) would likely benefit pip developing a proper resolver (be it Zazo or > > > > otherwise). > > > > > > TP > > > > > > [1]: https://github.com/pradyunsg/zazo > > [2]: https://github.com/sarugaku/resolvelib > > > > > > > > Sent from Mail for Windows 10 > > > > > > > > From: Dan Ryan > > Sent: 21 August 2018 22:03 > > To: Tzu-ping Chung > > Cc: Chris Jerdonek; distutils sig > > Subject: Re: [Distutils] Re: pipenv and pip > > > > > > > > There was a specific bug related to pipenv-only functionality which is why > the vcs ref is obtained. Pip now by default prefers ephemeral wheels, while > pipenv maintains a copy of editable repos currently. The work Tzu Ping has > been discussing and the work in pipenv currently are separate. You can also > not simply read some lines of pipenv and assume there should be a 1-1 > functional equivalence. Sometimes we will have overlap and sometimes we > will have bugs. In the specific case you mentioned, we simply make sure to > check out whatever version is requested in the Pipfile before doing > resolution and handing off the results to pip for installation. So while it > may > seem like we are simply doing things over again that pip already handles, we > have different motivations and while we very likely have plenty of bugs, > there is more context than that we did something that pip also does. > > > > > > > > In any event, I’m not sure this mailing list is the right place to do code > reviews; we would happily accept any feedback if you make it on the project > itself. Pipenv has a lot of cleanup work to do. We are in the process of > tackling that now. If you have ideas for how to tackle that, we would love to > hear them :) > > > > > > With regard to zazo — it’s been mentioned to us many times but we’ve > been in touch with Pradyun as I mentioned and he said he was very busy and > couldn’t coordinate efforts at all on the resolver front. > > While I didn't really say that, I understand you might have been > interpreted what I > said as that. None the less, I'll be happy to coordinate on this front > moving forward. :) > > > Zazo isn’t actually an implementation, it’s an abstraction layer. We built a > directed graph and layered a resolver on top of it. > > zazo is intended to be something along those lines, an abstraction that allows > multiple libraries to interface with it, while providing a single well > tested core provided > the resolution capabilities. This separated the resolution logic from > the rest of the > codebase pretty well, which was a concern since pip didn't really do > that (at all) > earlier. Cleaning up the technical debt that has piled up over the > years in pip is > something I've been doing in the time I'm have had to work on pip. > > > Since this is a primary functionality pipenv has always wanted to offer (as > far as my understanding went) and has always basically failed at because of > various tooling issues, we have been working for the last 4-8 weeks pretty > much in seclusion trying to tackle this. > > That's the sort of time I've not really had to work on zazo since > after GSoC, for > various non-technical reasons. I'm glad someone has made the time to > look into this. > I'll be happy to help any way I can. > > Pradyun > > > > > Dan Ryan // pipenv maintainer > > > > gh: @techalchemy > > -- Distutils-SIG mailing list -- distutils-sig@python.org To unsubscribe send an email to distutils-sig-le...@python.org https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/ Message archived at https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/H7Y6FZB7CU6YSJPYA4DMBCG5JOOQVVXU/