Repository navigation
Publish musl wheels to PyPI #91
Copy link
Copy link
Open
Labels
opsOperational TasksOperational Tasks
Description
Currently only manylinux wheels are provided (screenshot below). As such, in order to install this package in musl-based distros such as 'Alpine` requires to either install system build deps. If however musl wheels will be published, package could be installed without any system deps hence simplifying the install process significantly.
https://github.com/pypa/cibuildwheel might be of use to simplify that process
Installing on debian-based python without any system deps it installs just fine:
➜ docker run --rm -it python:3.10-slim pip install awslambdaric
Collecting awslambdaric
Downloading awslambdaric-2.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (338 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 338.5/338.5 kB 6.2 MB/s eta 0:00:00
Collecting simplejson==3.17.2
Downloading simplejson-3.17.2.tar.gz (83 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.2/83.2 kB 29.7 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Building wheels for collected packages: simplejson
Building wheel for simplejson (setup.py) ... done
Created wheel for simplejson: filename=simplejson-3.17.2-py3-none-any.whl size=55475 sha256=92a2435595030632bd1adc0b05cdd4184fdd2196144e2e09a31a39ae8d88d6dd
Stored in directory: /root/.cache/pip/wheels/4c/d2/65/e6ec94ca89c44483d8010d15e5fbead72b6411e01d26f90a31
Successfully built simplejson
Installing collected packages: simplejson, awslambdaric
Successfully installed awslambdaric-2.0.4 simplejson-3.17.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[notice] A new release of pip available: 22.2.2 -> 22.3.1
[notice] To update, run: pip install --upgrade pipHowever installing it on alpine python without system deps currently results in this error:
➜ docker run --rm -it python:3.10-alpine pip install awslambdaric
Collecting awslambdaric
Downloading awslambdaric-2.0.4.tar.gz (4.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.4/4.4 MB 37.0 MB/s eta 0:00:00
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [13 lines of output]
Error: cmake is not installed.
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/tmp/pip-install-c8hn2qrd/awslambdaric_63bc53b8fb0343188f4f437787e555d4/setup.py", line 95, in <module>
ext_modules=get_runtime_client_extension(),
File "/tmp/pip-install-c8hn2qrd/awslambdaric_63bc53b8fb0343188f4f437787e555d4/setup.py", line 46, in get_runtime_client_extension
extra_link_args=get_curl_extra_linker_flags(),
File "/tmp/pip-install-c8hn2qrd/awslambdaric_63bc53b8fb0343188f4f437787e555d4/setup.py", line 19, in get_curl_extra_linker_flags
check_call(["./scripts/preinstall.sh"])
File "/usr/local/lib/python3.10/subprocess.py", line 369, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['./scripts/preinstall.sh']' returned non-zero exit status 1.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
[notice] A new release of pip available: 22.2.2 -> 22.3.1
[notice] To update, run: pip install --upgrade pipReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
opsOperational TasksOperational Tasks

Activity
WhyNotHugo commentedon May 5, 2023
Looks like this explicitly depends on glibc, so it needs some patches to build on Alpine/musl.
benjaminreji commentedon Jul 22, 2026
Hi
Since release 4.0.1 now supports alpine builds, can we re-vist this issue and publish
muslwheels to PyPIStefan9283 commentedon Aug 11, 2026
Hi folks! Since yesterday
musllinuxwheel files are available on PyPi. These will be released together withmanylinuxfrom now on.