Conversation
Mirrors upstream's own release.yml cibuildwheel build (CIBW_BEFORE_BUILD: pip install cython, test with pytest + benchmark.py), matrixed over cp312/cp313/cp314/cp314t for manylinux_riscv64. Adds an explicit compiled- extension assertion ahead of the test suite since setup.py silently falls back to a pure-Python wheel on any Cython/build failure.
luhenry
added a commit
that referenced
this pull request
Sep 7, 2026
setup.py has no [build-system] table, so pypa/build's default isolated venv never sees CIBW_BEFORE_BUILD's cython install and setup.py's bare try/except falls back to a pure-Python wheel, which cibuildwheel then rejects (gotcha 57).
CI showed two real failures beyond the earlier build-isolation fix:
Cython 3.x never wires the compiled Statistics type's __rmul__ (the
"__rmul__ = __mul__" alias only adds a dict entry, it does not retroactively
fill the nb_multiply slot), so "2 * stats" raised TypeError; and running
pytest against {project}/tests let the checkout's own runstats/ package
shadow the installed wheel under tox.ini's discovered config, which also
pulled in a --cov-fail-under=100 gate unrelated to the port. Patches the
__rmul__ definition and stages just tests/ into an empty cwd instead.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
runstats2.0.0Compiles a Cython extension for online statistics and regression (mean, variance, skewness, kurtosis). Upstream publishes no riscv64 wheel.
Mirrors upstream's
release.ymlcibuildwheel build.Differs from upstream
--no-build-isolation) - setup.py has no[build-system]table, so the default isolated build env never sees the installed Cython and silently falls back to a pure-Python wheel.tests/for pytest instead of{project}/tests- the checkout's ownrunstats/package otherwise shadows the installed wheel, and drops tox.ini's unrelated--cov-fail-under=100gate.Testing
License: OK, Apache-2.0, no vendored third-party code.
Patches
0001-core-define-Statistics.__rmul__-explicitly-instead-o.patch- To upstream. Cython 3.x never wires the compiled type's__rmul__when it's assigned from__mul__rather than defined withdef, so2 * statsraisedTypeError; reproduces on any architecture.