astral-sh / astral-sh/python-build-standalone
Additional arch binaries for ppc64le
- Dominant language
- Python
- Stars
- 4.4k
- Forks
- 314
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 27
Description
Creating this issue for discussion as we're working on some PRs.
The existing standalone python binary is built optimized for the Power 9 family of processors, since it uses the gcc defaults inherited in the cross-compile base image (gcc6). We're looking at how to provide options for Power10 , Power11 and future users. Just switching the `-mtune` parameter and rebuilding isn't ideal since 1) it wouldn't be backwards compatible, and 2) power10 & power11 values were added in GCC 10+ and GCC 13+ respectively.
I'm thinking the simplest thing to do create processor binaries as is done for x86, e.g.
- ppc64le-unknown-linux-gnu
- ppc64le_power9-unknown-linux-gnu
- ppc64le_power10-unknown-linux-gnu
- ppc64le_power11-unknown-linux-gnu
Next we would have to also submit a PR to https://github.com/astral-sh/uv so that it checks the host version at install time and chooses the right processor-specific version.
Does this sound reasonable? Some of the team are working on changes to that affect but thought we should float it here first.
Also this may affect how bazel and other toolchains pull in the power python binary. It's been a while since I personally worked in that space so may no longer be a concern.
Contributor guide
Research direction
Start by reviewing how processor-specific x86 binaries are currently produced, then examine the cross-compile base image and GCC version constraints described in the issue. Confirm the compatibility and naming plan for ppc64le, Power 9, Power 10, and Power 11 builds, and coordinate the corresponding host-version selection changes in uv; the issue names no files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100