Skip to content

pyheck: add build-pyheck.yml for riscv64 wheels - #1237

Merged
luhenry merged 2 commits into
mainfrom
pyheck
Sep 7, 2026
Merged

pyheck: add build-pyheck.yml for riscv64 wheels#1237
luhenry merged 2 commits into
mainfrom
pyheck

Conversation

@luhenry

@luhenry luhenry commented Sep 7, 2026

Copy link
Copy Markdown
Member

Thin PyO3 wrapper around Rust's heck crate for string case conversion (snake_case, camelCase, kebab-case, etc). Upstream publishes no riscv64 wheel.

Mirrors the linux job of upstream's build.yml.

Differs from upstream

  • musllinux dropped - rustup.rs ships no riscv64 musl toolchain
  • Rust toolchain installed in-container - project ships no [tool.cibuildwheel]

Matrix: built on cp312/cp313/cp314 only, no cp314t - pyo3 0.15.1 predates PEP 703 free-threading entirely.

Testing

  • runs the repo's tests/ pytest suite; upstream's broader coverage lives in sphinx doctests, out of scope here

License: OK

Built on cp312; 2 passed.

Small pure-Rust PyO3/maturin string-case-conversion library (heck
crate). abi3-py37, no native deps beyond rustup; validated locally by
building the checkout with maturin and by rehearsing the full
cibuildwheel job against manylinux_2_39_aarch64.
luhenry added a commit that referenced this pull request Sep 7, 2026
pyproject.toml pins maturin<0.13, which has no riscv64 wheel on PyPI
and fails to build from sdist because its own bootstrap assumes an
ambient setuptools that Python 3.12+ no longer seeds into a build
isolation venv. Install a current maturin (which builds this tree
unmodified, confirmed locally) and skip isolation to bypass the pin.

Verified with a full cibuildwheel rehearsal against
manylinux_2_39_aarch64: build, licence check and pytest all pass.
@luhenry
luhenry merged commit 2a5a0e5 into main Sep 7, 2026
6 checks passed
@luhenry
luhenry deleted the pyheck branch September 7, 2026 11:18
@luhenry luhenry linked an issue Sep 7, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pyheck riscv64 support

1 participant