Package version resolution is a completely different and np-complete
problem. https://en.wikipedia.org/wiki/Boolean_satisfiability_problem

On Thu, Aug 30, 2018 at 2:51 PM Chris Jerdonek <chris.jerdo...@gmail.com>
wrote:

> Broad question: is there a sense in which the same “resolver” logic could
> be used for both choosing the best tag, and choosing what versions of
> packages to install from abstract requirements, or are these fundamentally
> different paradigms that shouldn’t be thought of along the same lines?
>
> —Chris
>
> On Thu, Aug 30, 2018 at 11:42 AM Paul Moore <p.f.mo...@gmail.com> wrote:
>
>> On Thu, 30 Aug 2018 at 19:30, Donald Stufft <don...@stufft.io> wrote:
>> > I find it helpful to generally not think of compatibility tags as hard
>> “this wheel is supported on this platform”, but more along the lines of “if
>> I built a wheel in the specified environment, I would get the same
>> results”. Those results may or may not work. So for example, if you have a
>> pure Python wheel that *only* works on Python 3.5+, but it produces the
>> same output when building the wheel on Python 3.3 (even if it doesn’t
>> ultimately work), then a “py3” wheel is the right tag to use. Arguably
>> you’d even use py2.py3 since you’d produce the same output (but in practice
>> most don’t since that’s extra work).
>>
>> I also quite like Daniel's description of the list of supported tags
>> as "try these, in this order - the first one you match is the best
>> chance you have of getting something that works". It may still not
>> work, but there's nothing that the package builder declared as being
>> any better.
>>
>> The thing I most dislike about the tag system is that if pip (or any
>> installer) misses out a particular tag combination, it gets totally
>> ignored. I sort of wish that there was some level of wildcard
>> matching, so that weird combinations get picked up at least
>> *somewhere* in the priority list. But I never managed to design a
>> workable scheme for doing that, so it may not even be possible.
>>
>> Paul
>> --
>> 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/HU2K3CEZPJF7SWRMPGZ5NCULMZIB65NO/
>>
> --
> 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/ZZEHWOFEHILLMNXRHXOHKBB3FQZYQNUY/
>
--
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/HPGE3SSX7BX7WOTWV3LAQX6UYVCILQAT/

Reply via email to