apache / apache/arrow

Add riscv64 Python wheel builds to release pipeline

Open
#49,555 0 comments 0 reactions 1 assignee Claimed by @gounthar View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.