MagicStack / MagicStack/httptools

Add riscv64 (linux_riscv64) wheel to PyPI releases

オープン 初心者向け
#136 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Python
スター
1.3k
フォーク
107
PR マージ指標
30日以内にマージされた PR はありません

説明

Add linux_riscv64 wheel to PyPI releases

Summary

pip install httptools on riscv64 Linux currently requires building from source (~2 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 httptools-0.7.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 ~2 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: [auto64, aarch64, universal2, riscv64]

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

QEMU action is already present (for aarch64).

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
  • maturin-action supports riscv64gc-unknown-linux-gnu cross-compilation
  • 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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

.github/workflows/release.yml から始めて、既存の cibw_arch マトリクス、プラットフォームの除外、aarch64 用の QEMU セットアップを確認します。説明されているとおりに riscv64 のサポートを追加し、その後、リリースワークフローによって linux_riscv64 wheel が生成され、Windows や macOS では有効化されていないことを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
github-actions, python
領域
build-system, ci-cd, release
issue の種類
機能追加
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
68/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。