[Distutils] warning about potential problem for wheels

Steve Dower steve.dower at python.org
Sun Oct 11 20:18:21 CEST 2015

The general rule is the minimum requirements of all supported operating systems, so in this case requiring SSE is a bug.

Note that this doesn't prevent us from having SSE optimized code paths, as long as there is a fallback to one that is more compatible. And it's also not binding on redistributors or package builders, who are free to add more restrictive requirements.

As far as identifying these sort of requirements in packages, I don't think they really make sense as part of a platform tag as a non-SSE build is fully compatible with an SSE build, but as part of version ordering it would be nice to be able to prefer certain tagged builds without excluding ones without the tag (e.g. if my platform is win32_sse2 and there's only a win32 tagged build, I still want it - how we formalize this is probably very complex though. Also, my platform tag is probably 100 chars long with everything I may want to represent...)


Top-posted from my Windows Phone

-----Original Message-----
From: "Oscar Benjamin" <oscar.j.benjamin at gmail.com>
Sent: ‎10/‎11/‎2015 10:43
To: "Antoine Pitrou" <solipsis at pitrou.net>; "Distutils-Sig at python.org" <Distutils-Sig at python.org>
Subject: Re: [Distutils] warning about potential problem for wheels

On Sun, 11 Oct 2015 17:44 Antoine Pitrou <solipsis at pitrou.net> wrote:
On Sun, 11 Oct 2015 08:07:30 -0700
Steve Dower <steve.dower at python.org> wrote:
> This does only affect 32-bit builds, so now I'm thinking about the
> possibility of treating those as highly compatible while the 64-bit
> ones get better performance treatment, though I'm not sure how that
> could actually play out. It may help remove some of the questions
> about which one to use though.
That sounds reasonable to me. I don't know Windows very much, but are
there still many people using 32-bit Windows these days (on x86, I

I don't know but I think it makes sense to follow Windows' lead. So if 3.5 supports Vista and Vista doesn't require SSE2 then CPython shouldn't either. If 3.6 or whatever drops support for Vista and if Windows 7 requires SSE2 then CPython can require it too. I assume this what happens with the OSX binaries.
Note that my recently retired computer was 64 bit and had SSE but didn't have SSE2 (I'm fairly sure - CPU was some budget AMD model). Also after SSE2 we have SSE3 etc and I've seen no indication that x86-64 manufacturers are going to stop adding new instructions. So this general issue isn't limited to 32 bit hardware and won't be solved by special casing that. I think it makes sense to have a general policy for architectures that will be supported by the official build in future.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20151011/9a4e80d2/attachment.html>

More information about the Distutils-SIG mailing list