Summary
pip install daqp cannot find a binary wheel on 64-bit ARM Linux (Raspberry Pi, ARM64 containers) under Python 3.14. It falls back to building from the sdist, which needs a full C toolchain and fails on typical appliance/container setups. Every other target ships a cp314 wheel.
Evidence (daqp 0.8.7, uploaded 2026-05-19)
aarch64 manylinux_2_17 and musllinux_1_2 wheels exist for cp36–cp313, but cp314 aarch64 is absent:
# present
daqp-0.8.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
daqp-0.8.7-cp313-cp313-musllinux_1_2_aarch64.whl
daqp-0.8.7-cp314-cp314-manylinux2014_x86_64...whl # cp314 x86_64 OK
daqp-0.8.7-cp314-cp314-macosx_11_0_arm64.whl # cp314 macOS ARM OK
# missing
daqp-0.8.7-cp314-cp314-manylinux_2_17_aarch64...whl # <-- not built
daqp-0.8.7-cp314-cp314-musllinux_1_2_aarch64.whl # <-- not built
Root cause
aarch64 Linux wheels are produced by a separate aarch64_wheels.yml that installs cibuildwheel unpinned and uses outdated actions (checkout@master, setup-python@v4, setup-qemu-action@v1). Its CPython matrix has drifted behind wheels.yml, which pins pypa/cibuildwheel@v3.4.0. As a result cp314 was built for every target except the ARM job.
Impact
Home Assistant is moving toward Python 3.14, and its OS/container images are Alpine-based (musl) on aarch64 — exactly the cp314 musllinux_1_2_aarch64 wheel that is missing. Downstream projects depending on daqp cannot install on Raspberry Pi / ARM64 once the runtime is on 3.14.
Proposed fixes
Two PRs are attached, either of which resolves this:
- A minimal alignment that pins the ARM workflow to the same
cibuildwheel@v3.4.0 used everywhere else.
- A durable consolidation that folds aarch64 into
wheels.yml on GitHub's native ubuntu-24.04-arm runners and removes the drift-prone separate workflow.
They intentionally overlap — merging either one is sufficient.
Summary
pip install daqpcannot find a binary wheel on 64-bit ARM Linux (Raspberry Pi, ARM64 containers) under Python 3.14. It falls back to building from the sdist, which needs a full C toolchain and fails on typical appliance/container setups. Every other target ships a cp314 wheel.Evidence (daqp 0.8.7, uploaded 2026-05-19)
aarch64
manylinux_2_17andmusllinux_1_2wheels exist for cp36–cp313, but cp314 aarch64 is absent:Root cause
aarch64 Linux wheels are produced by a separate
aarch64_wheels.ymlthat installscibuildwheelunpinned and uses outdated actions (checkout@master,setup-python@v4,setup-qemu-action@v1). Its CPython matrix has drifted behindwheels.yml, which pinspypa/cibuildwheel@v3.4.0. As a result cp314 was built for every target except the ARM job.Impact
Home Assistant is moving toward Python 3.14, and its OS/container images are Alpine-based (musl) on aarch64 — exactly the
cp314 musllinux_1_2_aarch64wheel that is missing. Downstream projects depending ondaqpcannot install on Raspberry Pi / ARM64 once the runtime is on 3.14.Proposed fixes
Two PRs are attached, either of which resolves this:
cibuildwheel@v3.4.0used everywhere else.wheels.ymlon GitHub's nativeubuntu-24.04-armrunners and removes the drift-prone separate workflow.They intentionally overlap — merging either one is sufficient.