-
Notifications
You must be signed in to change notification settings - Fork 327
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add numba
and llvmlite
musl
wheels for alpine
support
#1034
Comments
@mpierrau quick question about this: where are they distributed, can they be uploaded to PyPi too? How many artifacts are we talking about here? |
@mpierrau we just discussed this during our issue triage and it is unlikely that this will happen anytime soon due to a maintainer resource shortage. Would suggest to leave this open anyway, in case that resources become available over the coming months or years. |
I have no experience from distributing Python packages, but from what I can gather, the It looks like |
@mpierrau thank you for digging into this, much appreciated. Thoughts: a) We have space issues on PyPi with llvmlite. Our wheels contain LLVM itself and we regularly run out of space on PyPi because of this. Adding another 4 (or 8?) wheels per release may increase the size requirement so we'll probably need additional checks before uploading, if there is enough space left. This isn't something that many or even most Python packages face so tooling here -- for example to check for space -- is very rudimentary and sometimes not reliable. We usually only notice that we run out of space when a release fails to upload and then need to request more space on PyPi which can sometimes take several days to process from the PyPi side. b) As you have noticed, llvmlite is quite unique in how it must be built, hence we don't (and maybe even can't) use cibuildwheel but instead have a very custom solution consisting of several bare metal machines that we maintain ourselves. Thus, adding musl wheels will require significantly more custom tooling and work than for an average package. It's not known how long doing this will take and may include multiple rabbit holes. I would estimate it takes between 3-4 weeks of developer time, so this is in the "nice to have" category for me as you have been the only person asking about this so far. Of course, this could receive a higher priority if there is a significant ask (hair on fire need) for this from the community. |
@esc Thanks for the reply and the insight to your situation. It is indeed a "nice to have", and my hair currently isn't on fire, so I'll patiently wait and come back to you with a bump if it spontaneously ignites in the future :) |
🔥🔥🔥 |
No, but seriously, this is laborious and may come with challanges, but not technically impossible or not feasible. Maybe as musl wheels become more widely used, well see a need to have them for Numba too. PS: do you know if NumPy provides these already? |
My impression from lurking in some major package issue boards is that the requests for musl wheels are gaining traction, but I don't have the pulse on whether it's requested by your community.
NumPy started providing musl wheels in their
In addition, it looks like Pandas are also considering it, but are waiting for PyArrow, whom I asked the same question in scikit-learn and they replied that:
SciPy are supporting providing them since this fall and so is matplotlib (just to give you an idea). |
Feature request
Hi, I was wondering if it is possible to add MUSL wheels for
numba
andllvmlite
since lots of people use CICD images based on Alpine. This distribution uses different a implementation of libc: musl (see Alpine Linux has switched to musl libc | Alpine Linux ), and is incompatible withmanylinux
wheels.I know that for example the
shap
library is waiting forllvmlite
andnumba
to release MUSL wheels.Thanks!
The text was updated successfully, but these errors were encountered: