On Thu, 30 Aug 2018 at 11:41 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.


So basically unless the python_requires is set to something that definitely
won't work for a release, you almost want to try anything that has a remote
chance of working?


> But I never managed to design a
> workable scheme for doing that, so it may not even be possible.
>

So you could get that with the 'py' interpreter tag. If you said for e.g.
Python 3.7 you first want py37-none, then py3-none, then any py3N-none
where 0 <= N < 7, then py3M-none where M > 7, you have basically given a
wildcard for pure Python wheels based on version. And if you extend this to
ignoring the ABI tag after trying for 'none' then you really make it hard
to not match *some* pure Python wheel that works with some version of
Python 3 (BTW the only ABI tags not 'none' for 'py3' are cp27m, release, b,
none1, py2, and sf across 11 projects on PyPI; there are no 'py36' wheels
that don't have 'none' as the ABI).

Is that what you're after? Wildcarding on C ABIs is probably too much
trouble beyond abi3 and checking older Python versions.

-Brett


>
> 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/KUBB4ETDFOP5DXLNWQXP4GAOHZDPPO5J/

Reply via email to