Add riscv64 (linux_riscv64) wheel to PyPI releases

Aperta
#732 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
55/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
github-actions, python

Direzione di ricerca

Inizia da .github/workflows/release.yml e controlla la matrice cibw_arch, le esclusioni di piattaforma e i test dei wheel esistenti. Aggiungi la configurazione QEMU specifica per riscv64 e la voce CIBW_TEST_SKIP descritte nell’issue, quindi verifica che il workflow di release produca un wheel linux_riscv64 senza eseguire i test del ciclo degli eventi in emulazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Add linux_riscv64 wheel to PyPI releases

Summary

pip install uvloop on riscv64 Linux currently requires building from source (~5 min on a 1.6 GHz RISC-V SoC). Adding linux_riscv64 to the wheel build matrix would give riscv64 users a prebuilt wheel.

Evidence
Tested wheel uvloop-0.22.1-cp313-cp313-linux_riscv64.whl
Hardware BananaPi F3 (SpacemiT K1, rv64imafdcv, 8 cores @ 1.6 GHz, 16 GB RAM)
Python 3.13 (CPython)
Build system cibuildwheel
Build time ~5 min (native, on hardware)

The wheel imports and passes basic smoke tests on riscv64 Linux.

Suggested CI change

Workflow: .github/workflows/release.yml

Add riscv64 to the matrix:

# In strategy.matrix.cibw_arch, add riscv64:
cibw_arch: [x86_64, aarch64, universal2, riscv64]

# Add exclude for riscv64 on non-linux:
exclude:
  - os: macos-latest
    cibw_arch: riscv64

Add QEMU step and test skip:

- name: Set up QEMU
  if: matrix.cibw_arch == 'riscv64'
  uses: docker/setup-qemu-action@v3
  with:
    platforms: riscv64

# Add to env:
CIBW_TEST_SKIP: '*-linux_riscv64'

libuv has riscv64 support since v1.44. Event-loop tests may hang under QEMU, hence the test skip recommendation.

Ecosystem context
  • manylinux_2_28_riscv64 images are available on quay.io/pypa/ (landed in pypa/manylinux, 2025)
  • cibuildwheel 3.x supports riscv64 via QEMU emulation
  • auditwheel supports riscv64 platform tags
  • Packages already shipping riscv64 wheels on PyPI: aiohttp, yarl, regex, markupsafe, charset-normalizer, rpds-py, multidict, propcache, watchfiles, rignore, setproctitle
  • RISC-V hardware is shipping: SiFive HiFive, SpacemiT K1/K3, Sophgo SG2044 (64-core)
Our temporary index

While upstream support is pending, we maintain a PEP 503 index with 50+ riscv64 wheels for the Python ML/AI stack, built natively on RISC-V hardware.

Tracking repo: https://github.com/gounthar/riscv64-python-wheels

Lingua principale
Cython
Stelle
11.9k
Fork
615
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di MagicStack/uvloop

Tutte le issue di MagicStack/uvloop

Issue simili

Altre issue su Build System

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.