-
Notifications
You must be signed in to change notification settings - Fork 106
Open
Description
Problem
The rpds-py Python package (>=0.27.0) is a Rust extension that provides manylinux wheels for x86_64 and aarch64, but not for s390x or ppc64le. When building notebook images for s390x or ppc64le, pip falls back to a slow source build, requiring the Rust toolchain and potentially polluting the final image with build dependencies.
Affected images
- All images that install rpds-py and are intended to support s390x or ppc64le architectures (e.g., jupyter/pytorch+llmcompressor/ubi9-python-3.11, and any others using rpds-py).
Solution proposal
- Add a compile-time Rust build stage to the Dockerfiles for affected images, triggered only for s390x and ppc64le builds.
- Use a multi-stage Docker build: install Rust and build rpds-py from source in a builder stage, then copy only the resulting Python environment/wheels into the final image, omitting the Rust toolchain and build dependencies.
- Document the conditional logic and update CI to test s390x/ppc64le builds if possible.
Acceptance criteria
- rpds-py is installed successfully on s390x and ppc64le images without leaving Rust toolchain artifacts in the final image.
- x86_64 and aarch64 images continue to use prebuilt wheels (no Rust build required).
- CI covers all supported architectures.
- Implementation and documentation follow repository multi-arch patterns.
References
Assigned to @jiridanek for triage and tracking.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
π Backlog