To expand a little on the topic, there are multiple abstraction layers required 
to make the new resolver useful as a separate package.

ResolveLib (mentioned in Paul’s message) is an dependency resolver 
implementation in abstract, entirely divorced of Python packaging. While it can 
be used by other tools, the implementer would need to provide the necessary 
parts to “teach” it how understand Python packages.

The ongoing pip resolver work is exactly that, to integrate ResolveLib into pip 
by wiring it onto pip’s internal representation of Python packages. This is 
unfortunately not really reusable for other tools, since pip’s current model on 
Python packages is too deeply entangled into various parts of the code base.

Some extra work is needed to make ResolveLib really useful as a reusable Python 
dependency resolver for other projects. One way would be to implement a wrapper 
library to provide the same Python package semantics to ResolveLib, but with 
more reusable models such as pypa/packaging, importlib-metadata, etc. The 
current pip resolver work would be able to offer much knowledge on dealing with 
various hairy problems, but the code written for pip wouldn’t be directly 
reusable.

TP


> On 25/3/2020, at 03:02, Paul Moore <p.f.mo...@gmail.com> wrote:
> 
> It's already available as a separate package:
> https://pypi.org/project/resolvelib/
> 
> Paul
> 
> On Tue, 24 Mar 2020 at 18:52, Brett Cannon <br...@python.org> wrote:
>> 
>> I couldn't find this in the blog post but is the plan to make the resolver a 
>> separate package so other tools can use it? Or is the plan perhaps to get it 
>> working in pip first and to break it out later?
>> --
>> Distutils-SIG mailing list -- distutils-sig@python.org
>> To unsubscribe send an email to distutils-sig-le...@python.org
>> https://mail.python.org/mailman3/lists/distutils-sig.python.org/
>> Message archived at 
>> https://mail.python.org/archives/list/distutils-sig@python.org/message/CLWGXEPNNMZ6YI5WWJ3ZKWWY5WVQOCAE/
> --
> Distutils-SIG mailing list -- distutils-sig@python.org
> To unsubscribe send an email to distutils-sig-le...@python.org
> https://mail.python.org/mailman3/lists/distutils-sig.python.org/
> Message archived at 
> https://mail.python.org/archives/list/distutils-sig@python.org/message/43NVR5W7YKVFBDY5FSMBWQPLKKG2V2EP/
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/archives/list/distutils-sig@python.org/message/VLSD5OXWR6YLAFXQZWCZSCLXPNUUBSU4/

Reply via email to