This whole thread is quite interesting:
https://twitter.com/zooba/status/1415440484181417998. Given how much effort we are spending on really niche wheel builds, I’m wondering if we should just draw a line somewhere:
- we do what we do now for the main platforms: Windows, Linux (x86, aarch64), macOS, *but*:
- no wheels for ppc64le
- no wheels for Alpine Linux
- no wheels for PyPy
- no wheels for Raspberry Pi, AIX or whatever other niche thing comes next.
- drop 32-bit Linux in case it is becoming an annoyance.
This is not an actual proposal (yet) and I should sleep on this some more, but I've seen Chuck and Matti burn a lot of time on the numpy-wheels repo again recently, and I've done the same for SciPy. The situation is not very sustainable and needs a rethink.
The current recipe is "someone who cares about a platform writes a PEP, then pip/wheel add a platform tag for it (very little work), and then the maintainers of each Python package are now responsible for wheel builds (a ton of work)". Most of these platforms have package managers, which are all more capable than pip et al., and if they don't then wheels can be hosted elsewhere (example:
https://www.piwheels.org/). And then there's Conda, Nix, Spack, etc. too of course.
Drawing a line somewhere distributes the workload, where packagers who care about some platform and have better tools at hand can do the packaging, and maintainers can go do something with more impact like write new code or review PRs.
<end of brainwave>
Cheers,
Ralf