Add riscv64 Python wheel builds to release pipeline
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 88
Description
### Describe the enhancement requested
Add `linux/riscv64` to the PyArrow wheel build pipeline so that pre-built wheels are available on PyPI for RISC-V 64-bit users.
**Current state**: Arrow C++ has riscv64 support (merged in PR #13902, 2022). PyArrow builds and imports successfully on native riscv64 hardware. But no riscv64 wheels are published on PyPI, forcing users to build from source (~1h on current hardware).
**Evidence**:
- Arrow C++ native build on BananaPi F3 (SpacemiT K1, rv64gc, GCC 14.2.0): SUCCESS (1h13m)
- PyArrow install from source with Parquet, CSV, JSON, Compute, Filesystem: SUCCESS
- `import pyarrow; print(pyarrow.__version__)` → `24.0.0a1.dev1`
**Proposed approach** (following the aarch64 pattern from PR #9285):
1. Create `manylinux_2_39` Docker image for riscv64 (base: `quay.io/pypa/manylinux_2_39_riscv64`)
2. Add riscv64 entries to Crossbow tasks in `dev/tasks/tasks.yml`
3. Add CI workflow `.github/workflows/python_wheel_linux_riscv64.yml`
**CI runners**: Native riscv64 runners are available for free via [RISE RISC-V runners](https://github.com/apps/rise-risc-v-runners) (used by numpy, llama.cpp, pytorch).
**Ecosystem context**: 275M monthly PyPI downloads. Key dependency for pandas, polars, and the broader data science stack on RISC-V.
Note: this work is part of the [RISE Project](https://riseproject.dev/) effort to improve Python ecosystem support on riscv64 platforms.
Contributor guide
Assessment
This issue has not been assessed yet.