Should the scientifc python community provide universal2 wheels?

Over at numpy we have a PR to provide unversal2 wheels via cibuildwheel. It is not clear to me that this is a needed package. There is a bit of discussion on the PR, with the only use case packaging apps with something like py2app. I opened an issue there, the main developer did express some desire for universal2 packages.

What do people think? Is it worth the CI churn to create universal2 wheels? Will macOS x86_64 fade away so this becomes a non-issue? I fear that once NumPy begins distributing universal2 wheels, other projects will feel required to, which will add a fair amount of CO2 to the atmosphere.

1 Like

SciPy does ship universal2 wheels already, and apparently in a way that is problematic for PyInstaller:

MacOS x86_64 isn’t going to fade away any time soon, but on the other hand there aren’t many compelling reasons for applications built with PyInstaller or py2app to be universal - it’s just as easy for most users to download the correct architecture-specific installer (which will then also be smaller …). One could make such an argument for very non-technical users who get confused by the difference, but how many projects like that with a non-technical audience exist?

No strong opinion either. For scikit-learn we ship individual wheels for arm64 and x86_64 platforms instead because we added arm64 on the side of the existing CI config for building x86_64.

I haven’t tried to see if it would be easy to switch our build system to universal2. I am kind of lazy to do the switch as there are more important problems to fix in the project but I would be willing to do it if there is a valid need.