Skip to content

Epic: upstream riscv64 wheel support to all 33 packages #15

Description

@gounthar

Epic: Upstream riscv64 wheel support to PyPI

Track the status of upstream issues and PRs requesting linux_riscv64 wheel support across all packages in our wheel factory.

Goal: Every package in our PEP 503 index should eventually have native riscv64 wheels published on PyPI by the upstream maintainers, eliminating the need for our community index.

Coordination: Working with RISE wheel_builder team (@justeph, @threexc from BayLibre) and Ludovic Henry (@luhenry, RISE TSC Co-Chair) to avoid duplicating effort. RISE provides native riscv64 GitHub Actions runners via https://github.com/apps/rise-risc-v-runners.

Status legend

Stage Meaning
Issue Filed Upstream issue created requesting riscv64 support
PR Submitted Pull request with CI changes submitted upstream
Merged PR merged into upstream
On PyPI riscv64 wheel available on PyPI
Deferred Closed our PR in favor of BayLibre/RISE PR

Already supported upstream (no action needed)

  • aio-libs/multidict — riscv64 added to CI 2026-02-06 (#1293); v6.7.1 (2026-01-26) predates this; next release will include wheels
  • aio-libs/propcache — riscv64 in odd-arches qemu matrix since 2025
  • samuelcolvin/watchfiles — riscv64gc-unknown-linux-gnu in maturin-action matrix
  • patrick91/rignore — riscv64gc-unknown-linux-gnu in maturin-action matrix
  • dvarrazzo/py-setproctitle — riscv64 in build-cross-wheel job matrix
  • pydantic/pydantic-core — riscv64 merged in pydantic/pydantic#12723 (Feb 2026), next release

On PyPI (riscv64 wheels shipping)

  • chardet (chardet/chardet) — PR #348 merged 2026-03-22; first wheels in v7.3.0 (2026-03-24), still shipping in v7.6.0
  • fastar (DoctorJohn/fastar) — PR #58 merged; first wheels in v0.9.0 (2026-03-20), 11 wheels in v0.12.0
  • rapidfuzz (rapidfuzz/RapidFuzz) — PR #474 + #475 merged; 14 wheels in v3.14.5 (manylinux_2_39 + musllinux_1_2, cp310–cp314t)
  • jiter (pydantic/jiter) — PR #237 merged 2026-03-18; wheels since v0.14.0 (2026-04-10)
  • blake3 (oconnor663/blake3-py) — PR #103 merged 2026-04-02; 8 wheels in v1.0.9 (2026-06-22)
  • tree-sitter (tree-sitter/py-tree-sitter) — PR #443 merged 2026-03-26; 5 wheels in v0.26.0 (2026-06-30)
  • pyzmq (zeromq/pyzmq) — PR #2164 merged 2026-03-17; abi3 wheel in v27.2.0 (2026-08-20)
  • greenlet (python-greenlet/greenlet) — our PR #501 closed, maintainer implemented it directly; wheels since v3.4.0
  • msgspec (jcrist/msgspec): PR #987 merged 2026-08-11; 16 riscv64 wheels in v0.22.0 (manylinux + musllinux)

Merged upstream (awaiting PyPI release)

  • sqlalchemy (sqlalchemy/sqlalchemy) — PR #13183 merged (2026-03-18, same day!)
  • cffi (python-cffi/cffi): justeph's PR #227 merged 2026-09-09; our #234 closed 2026-09-18 in its favour. Latest release 2.1.1 (2026-08-03) predates the merge
  • textual-speedups (willmcgugan/textual-speedups): PR #6 merged 2026-04-08; latest release 0.2.1 (2025-11-28) predates it

Tier 1 — cibuildwheel projects

Tier 2 — Rust/maturin projects

Rust riscv64 musl (updated 2026-10-02): done on the toolchain side. compiler-team#982 was accepted, rustup 1.29.1 added the target, and Rust 1.99.0 (2026-10-01) ships riscv64gc-unknown-linux-musl with host tools on stable (thanks to eshattow). This only ever gated musllinux wheels; manylinux builds never depended on it. The official rust:alpine Docker image has no riscv64 build yet (docker-rust#272 closed, images pending). First use: riseproject-dev/python-wheels#2629 re-enables musllinux for tiktoken (test run: musllinux wheels for cp312-cp314t, 33/33 tests).

  • tiktoken (openai/tiktoken) — issue · PR #506
  • hf-xet (huggingface/xet-core): issue · PR #704 closed by the maintainer 2026-03-23 (not taking it on for now). Built instead in riseproject-dev/python-wheels (build-hf-xet.yml)
  • orjson (ijl/orjson) — issues & PRs disabled, cannot contribute
  • cryptography (pyca/cryptography) — pyca/infra #748 · infra PR #749 riscv64 Docker images; requires RISE native runners; Ludovic enabling runners for pyca org
  • bcrypt (pyca/bcrypt) — PR #1177 updated to RISE native runners; RISE fork green
  • pynacl (pyca/pynacl) — depends on pyca/infra #749; native build SUCCESS on F3

Tier 3 — Smaller C/Rust extensions

Deferred to BayLibre/RISE

  • tokenizers — closed our #1963, defer to @threexc #1951
  • safetensors — closed our #724, defer to @threexc #708
  • frozenlist — closed our #745, defer to @justeph #741
  • openai-harmony: closed our #104 (2026-03-19), defer to threexc's #98 (still open)
  • uvloop — closed our #733, defer to @AdrianBunk #711

Deferred to Community

Packages being handled by other contributors — tracking to avoid duplication.

Tier 4 — Large/complex build systems


Progress (2026-10-02)

  • CPython officially supports RISC-V: Python Insider, 2026-08
  • Where new wheel work goes: straight into riseproject-dev/python-wheels (per Ludovic Henry), with gaps tracked at https://stanfromireland.github.io/riscv-wheels/.
  • 9 packages shipping riscv64 wheels on PyPI from this list: msgspec joins (0.22.0, manylinux + musllinux)
  • Merged, awaiting release: sqlalchemy, cffi (via #227), textual-speedups
  • Rust riscv64 musl on stable (1.99.0): musllinux builds of Rust packages can come back, see the Tier 2 note

Progress (2026-08-24)

  • 8 packages now shipping riscv64 wheels on PyPI: chardet, fastar, rapidfuzz, jiter, blake3, tree-sitter, pyzmq, greenlet
  • Also live on PyPI via the already-supported / deferred tracks: propcache, watchfiles, rignore, pydantic-core, tokenizers, safetensors, zeroconf, dbus-fast
  • sqlalchemy PR #13183 merged 2026-03-18, but 2.0.52 (2026-08-11) still has no riscv64 wheel. Worth a look.
  • multidict 6.7.1 (2026-01-26) still predates the riscv64 CI change; waiting on the next release
  • 25+ PRs open across the remaining tiers
  • 4 PRs deferred to BayLibre/RISE to avoid duplicates
  • RISE collaboration with Ludovic Henry, native riscv64 runners
  • RISE fork PRs validated: numpy (green), xet-core (703/706 pass), bcrypt (green)
  • pyca ecosystem (cryptography+bcrypt+pynacl) unblocking via infra PR + RISE runners
  • cffi PR #234 with native RISE runners (builds on @justeph's #227)
  • Native F3 builds verified for 20+ packages
  • actions/setup-python riscv64 fallback PR #1289, superseded by Ludovic Henry's mirror support in #1302 (merged 2026-09-08)
  • Non-Python merges: Docker CLI, wit-bindgen (released v0.54.0), wasm-tools, wkg

Resources

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions