Summary
cel-expr-python currently publishes wheels for:
manylinux_2_27_x86_64 / manylinux_2_28_x86_64 (Linux x86_64)
macosx_11_0_arm64 (macOS Apple Silicon)
win_amd64 (Windows x86_64)
There are no manylinux_*_aarch64 wheels, so pip install cel-expr-python fails on Linux ARM64 when --only-binary=:all: is set (common in Docker/CI), and otherwise requires a full Rust toolchain to build from source.
Motivation
I'm a maintainer of omnigent, where we use cel-expr-python for inline policy evaluation (CEL expressions for agent sandboxing). We've had to add a platform_machine != "aarch64" environment marker and conditional imports to work around the missing wheel (see omnigent-ai/omnigent#300), which means our ARM64 users lose access to CEL policies entirely.
Linux aarch64 is increasingly common across cloud infrastructure:
- AWS Graviton (EC2, ECS, Lambda)
- Azure Cobalt (ARM-based VMs)
- OCI Ampere (ARM instances)
- GCP Tau T2A (ARM VMs)
- Self-hosted (Raspberry Pi, NVIDIA Jetson, etc.)
Suggestion
Add manylinux_*_aarch64 targets to the CI wheel build matrix. Since the project already uses PyO3/maturin, this should be achievable by adding the aarch64 target to the existing GitHub Actions workflow (e.g., via maturin-action with target: aarch64-unknown-linux-gnu and QEMU emulation or cross-compilation).
Thank you for the great library!
Summary
cel-expr-pythoncurrently publishes wheels for:manylinux_2_27_x86_64/manylinux_2_28_x86_64(Linux x86_64)macosx_11_0_arm64(macOS Apple Silicon)win_amd64(Windows x86_64)There are no
manylinux_*_aarch64wheels, sopip install cel-expr-pythonfails on Linux ARM64 when--only-binary=:all:is set (common in Docker/CI), and otherwise requires a full Rust toolchain to build from source.Motivation
I'm a maintainer of omnigent, where we use
cel-expr-pythonfor inline policy evaluation (CEL expressions for agent sandboxing). We've had to add aplatform_machine != "aarch64"environment marker and conditional imports to work around the missing wheel (see omnigent-ai/omnigent#300), which means our ARM64 users lose access to CEL policies entirely.Linux aarch64 is increasingly common across cloud infrastructure:
Suggestion
Add
manylinux_*_aarch64targets to the CI wheel build matrix. Since the project already uses PyO3/maturin, this should be achievable by adding theaarch64target to the existing GitHub Actions workflow (e.g., viamaturin-actionwithtarget: aarch64-unknown-linux-gnuand QEMU emulation or cross-compilation).Thank you for the great library!