Resolver team meeting

Paul / Pradyun / Tzu-Ping

Paul: What are we gonna do in terms of InstallRequirement and friends?

Options: our own thing, that might not have the same edge cases vs have something that might not be 100% same as what we have today.

TP: The problem I was hitting before yesterday; sometimes for the resolver you need to unpopulate the link before going through things again. InstallRequirement is

Paul: terminology is confusing.

Pradyun - treat InstallRequirement as the candidate. Idea is wrap InstallRequirement with an object that represents the requirement. Different object for the candidate, that also holds the requirement.

So not unpopulating, just changing which requirement object you are using. Resolver never sees an InstallRequirement, it's just an internal detail. This is very like the project model - with InstallReq as internal detail.

Paul - worried that if we're creating InstallReq on the fly, to match up with candidates, then is there not gonna be a risk that we prepare the same thing multiple times?

TP: regarding copying -- I'm not sure what are the attributes that we should be copying.

Pradyun - point where we are doing the copy is before we do any OS-level of disk level work / preparation.

Paul: Ignoring all the pip > 19.0; all the stuff before having a direct requirement -- create an object that's basically requirements; ignoring the pre-candiates

Pradyun: The wrapping objects only allow the operation that are are relevant for that "state" -- candidate Only allow operations when it is a requirement, not those when it is a candidate

Paul: This will be tricky to do in practice since the language won’t be able to offer us any help, and we need to track things down by hand.

Takeway: We are trying to change an object we don’t understand :scream:

pip Team Meeting Thursday, 27th Feb 2020

Agenda:

PackagingWG/2020-02-27-pip (last edited 2020-03-13 02:07:27 by SumanaHarihareswara)

Unable to view page? See the FrontPage for instructions.