Skip to content

pyreadstat: add build-pyreadstat.yml for riscv64 wheels - #988

Merged
luhenry merged 4 commits into
mainfrom
pyreadstat
Sep 6, 2026
Merged

pyreadstat: add build-pyreadstat.yml for riscv64 wheels#988
luhenry merged 4 commits into
mainfrom
pyreadstat

Conversation

@luhenry

@luhenry luhenry commented Sep 6, 2026

Copy link
Copy Markdown
Member

Compiles a Cython wrapper around the vendored ReadStat C library (reads/writes SAS, SPSS and Stata files into pandas/polars). Upstream publishes no riscv64 wheel.

Mirrors the test job of upstream's ci.yml (upstream has no separate wheel-building workflow, only cibuildwheel-shaped CI tests).

Differs from upstream

  • carries upstream's CFLAGS=-O2 -fno-strict-aliasing - works around a gcc 13+ miscompile of readstat_writer.c's strict-aliasing violations
  • test_narwhalified.py dropped - unconditionally imports polars, which has no riscv64 wheel
  • polars-only cases in test_runtime_types.py/test_typing.yml deselected for the same reason

Matrix: cp310-cp314, no cp314t - matches upstream's own PyPI wheel matrix; the registry also has no free-threaded pandas wheel

Testing

  • same as upstream, minus the polars cases above

License: OK - Apache-2.0 wrapper, vendored ReadStat is MIT; both texts ship in the wheel's LICENSE file already.

Built on cp312 locally (macOS); wheel imports and the compiled extensions load correctly.

@luhenry
luhenry merged commit 5791c05 into main Sep 6, 2026
10 checks passed
@luhenry
luhenry deleted the pyreadstat branch September 6, 2026 11:03
@luhenry luhenry linked an issue Sep 6, 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.

pyreadstat riscv64 support

1 participant