Repository navigation
pyvista-zstd: Add version 0.4.1 - #3068
Merged
Merged
Conversation
pyvista-zstd builds a small CMake C++ core (libpvzstd.so) that vendors and statically links zstd 1.5.7 from source, loaded via ctypes and tagged py3-none-<platform> (no CPython ABI dependency), so one cp312 build serves every interpreter. zstd is portable C with existing riscv64 precedent in this repo (zstd, zstandard, pyzstd). Adds a patch to carry the vendored Zstandard BSD licence into the wheel, matching the fix already applied to the python-zstd port.
luhenry
added a commit
that referenced
this pull request
Oct 13, 2026
luhenry
marked this pull request as draft
October 14, 2026 11:34
Applying the licence patch leaves the v0.4.1 checkout dirty, so setuptools_scm versioned the wheel 0.4.2.dev0+ge3cbe68.d20261014 instead of 0.4.1. Pin it with SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYVISTA_ZSTD and drop the fetch-depth: 0 that only existed to reach the tag. The test install then failed with ResolutionImpossible: pyvista needs vtk, which has no riscv64 wheel on PyPI. Add our registry as an extra index (it carries vtk 9.7.1 for cp312), and set PIP_PREFER_BINARY for the test phase so numpy and matplotlib resolve to our wheels rather than building PyPI's newer sdist-only releases from source; pyvista-validation, which has no riscv64 wheel anywhere, still builds from its sdist.
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.
pyvista-zstd0.4.1Compiles a small CMake C++ core that vendors and statically links zstd 1.5.7, loaded via ctypes for PyVista's compressed file format. Upstream publishes no riscv64 wheel.
Mirrors upstream's
ci_cd.ymlwheelsjob.Differs from upstream
Matrix: cp312 only - the wheel is
py3-none-<platform>, so one build serves every interpreter.Testing
License: Wheel bundles zstd 1.5.7 (BSD) with no licence text; patch adds it, matching the fix already shipped for the python-zstd port in this repo.
Patches
0001-package-the-vendored-Zstandard-licence-with-the-wheels.patch- To upstream, not yet submitted. Adds the vendored zstd LICENSE; without it the wheel redistributes Zstandard binary with no copyright notice. Reproduces on every platform upstream ships.Built on cp312; smoke-tested against upstream's own C++-core-load check.