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

Merged upstream (awaiting PyPI release)

  • sqlalchemy (sqlalchemy/sqlalchemy) — PR #13183 merged (2026-03-18, same day!)

Tier 1 — cibuildwheel projects

Tier 2 — Rust/maturin projects

Upstream dependency: Rust riscv64gc-unknown-musllinux Tier 2 promotion (with host tools) is pending at rust-lang/compiler-team#982. Once accepted, official Rust Docker images for riscv64 will land via docker-rust#272, unblocking cffi, tiktoken, hf-xet, blake3, cryptography, bcrypt, pynacl.

  • cffi (python-cffi/cffi) — PR googleapis/python-crc32c#234 with RISE native runners (builds on @justeph's #227)
  • tiktoken (openai/tiktoken) — issue · PR #506
  • hf-xet (huggingface/xet-core) — issue · PR #704 — native test: 703/706 pass; RISE fork testing
  • 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

Deferred to Community

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

Tier 4 — Large/complex build systems


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
  • Non-Python merges: Docker CLI, wit-bindgen (released v0.54.0), wasm-tools, wkg

Resources

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