Platform Tag for Linux Distributions Using Musl

Hi all, While updating some packages that use cibuildwheel to generate wheels, I noticed the addition of musllinux (see PEP 656: https://www.python.org/dev/peps/pep-0656/, cibuildwheel matrix: https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip). I ran into an issue where SciPy happened to be a build dependency and thus I could not easily target Musl Linux wheels because Musl SciPy wheels are not available. I haven't seen this variant of wheels discussed yet on the mailing list or in an issue (I could be wrong -- please point this out if I am!). Wondering if this is something worth taking a look at or if it's too niche at present for the general scientific Python community. I understand we already have our hands full with the current wheel generation and distribution workload, but it might be something to have on the radar. Thanks, Nicholas

Yes, musllinux is a new standard [0]. It will take a while before the scientific python stack adopts it. If you wish to contribute, the first place would be a PR to get OpneBLAS [1] built for musllinux. This would enable NumPy to begin providing musllinux wheels. The build system used by SciPy, multibuild, supports muslllinux, so once the SciPy dependencies are available the next step would be discussion here around whether SciPy wants to support more wheels, and what the timing should be. Building wheels is one of the more problematic support tasks for SciPy, I am sure the team would appreciate help. Matti [0] https://www.python.org/dev/peps/pep-0656/ [1] https://github.com/MacPython/openblas-libs On Tue, Dec 14, 2021 at 2:55 AM Nicholas McKibben <nicholas.bgp@gmail.com> wrote:
Hi all,
While updating some packages that use cibuildwheel to generate wheels, I noticed the addition of musllinux (see PEP 656: https://www.python.org/dev/peps/pep-0656/, cibuildwheel matrix: https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip).
I ran into an issue where SciPy happened to be a build dependency and thus I could not easily target Musl Linux wheels because Musl SciPy wheels are not available.
I haven't seen this variant of wheels discussed yet on the mailing list or in an issue (I could be wrong -- please point this out if I am!). Wondering if this is something worth taking a look at or if it's too niche at present for the general scientific Python community. I understand we already have our hands full with the current wheel generation and distribution workload, but it might be something to have on the radar.
Thanks, Nicholas _______________________________________________ SciPy-Dev mailing list -- scipy-dev@python.org To unsubscribe send an email to scipy-dev-leave@python.org https://mail.python.org/mailman3/lists/scipy-dev.python.org/ Member address: matti.picus@gmail.com

On Tue, Dec 14, 2021 at 7:05 AM matti picus <matti.picus@gmail.com> wrote:
Yes, musllinux is a new standard [0]. It will take a while before the scientific python stack adopts it. If you wish to contribute, the first place would be a PR to get OpneBLAS [1] built for musllinux. This would enable NumPy to begin providing musllinux wheels. The build system used by SciPy, multibuild, supports muslllinux, so once the SciPy dependencies are available the next step would be discussion here around whether SciPy wants to support more wheels, and what the timing should be. Building wheels is one of the more problematic support tasks for SciPy, I am sure the team would appreciate help.
Thanks Matti. The OpenBLAS update makes sense. We should only consider SciPy musllinux wheels after we have moved to cibuildwheel - which is quite likely to happen within the next 6-12 months. I'm -1 on spending maintainer time on any non-essential multibuild scipy-wheels updates, because that'll almost all be wasted time in the long run. Note that I said consider because I'm not completely convinced we should be doing this - if they are mostly for free because cibuildwheel knows what to do, then it's probably fine. But in general having us responsible for more and more niche platforms isn't the best idea. There are Alpine (musl) wheels at https://github.com/alpine-wheels, contributing a SciPy build there is a good alternative. Cheers, Ralf
Matti
[0] https://www.python.org/dev/peps/pep-0656/ [1] https://github.com/MacPython/openblas-libs
On Tue, Dec 14, 2021 at 2:55 AM Nicholas McKibben <nicholas.bgp@gmail.com> wrote:
Hi all,
While updating some packages that use cibuildwheel to generate wheels, I
noticed the addition of musllinux (see PEP 656: https://www.python.org/dev/peps/pep-0656/, cibuildwheel matrix: https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip).
I ran into an issue where SciPy happened to be a build dependency and
thus I could not easily target Musl Linux wheels because Musl SciPy wheels are not available.
I haven't seen this variant of wheels discussed yet on the mailing list
or in an issue (I could be wrong -- please point this out if I am!). Wondering if this is something worth taking a look at or if it's too niche at present for the general scientific Python community. I understand we already have our hands full with the current wheel generation and distribution workload, but it might be something to have on the radar.
Thanks, Nicholas _______________________________________________ SciPy-Dev mailing list -- scipy-dev@python.org To unsubscribe send an email to scipy-dev-leave@python.org https://mail.python.org/mailman3/lists/scipy-dev.python.org/ Member address: matti.picus@gmail.com
_______________________________________________ SciPy-Dev mailing list -- scipy-dev@python.org To unsubscribe send an email to scipy-dev-leave@python.org https://mail.python.org/mailman3/lists/scipy-dev.python.org/ Member address: ralf.gommers@googlemail.com
participants (3)
-
matti picus
-
Nicholas McKibben
-
Ralf Gommers