Skip to content

Add riscv64 Python wheel builds to release pipeline #49555

@gounthar

Description

@gounthar

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 (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 effort to improve Python ecosystem support on riscv64 platforms.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions