On Tue, Mar 24, 2020 at 5:24 PM Tzu-ping Chung <uranu...@gmail.com> wrote:
> 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 > "New Resolver: technical choices" compares various resolvers. https://github.com/pypa/pip/issues/7406 FWICS, more test cases should be the immediate objective. Factoring out to make a generic resolver would be redundant? Would existing interfaces for e.g. libsolv (dnf) and pycosat (conda) be sufficient? > > > > 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/ >
-- 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/W2OKN24JMKO5TTMLCIJ247KDVFFOA6XW/