Skip to content

Bump SparseDiffEngine to main (sparsediff_linalg 0.4.0 nested submodule) - #30

Merged
dance858 merged 1 commit into
mainfrom
bump-engine-sparsediff-linalg-0.4.0
Oct 12, 2026
Merged

dance858 merged 1 commit into
mainfrom
bump-engine-sparsediff-linalg-0.4.0

Conversation

@dance858

Copy link
Copy Markdown
Collaborator

Moves the engine pin from 06481d9 (0.8.0 dev start) to current main (c1e7e43, "Update to sparsediff_linalg 0.4.0"). Since the library split, the engine carries its sparse linear algebra as a nested git submodule, SparseDiffEngine/sparsediff_linalg, pinned to a tag (v0.4.0 here). Nothing in the bindings changes: they include only engine headers, and those include only the four library headers that still exist (CSR_matrix.h, CSC_matrix.h, COO_matrix.h, matrix.h).

Also drops the stale SparseDiffEngine/include/utils include directory from CMakeLists.txt; it has not existed since the split.

What this PR verifies, which had been an open claim since the split:

  • git ls-files --recurse-submodules sees the nested library files (33 sources), so scikit-build-core's sdist includes them. A locally built sparsediffpy-0.8.0.tar.gz contains SparseDiffEngine/sparsediff_linalg/ with its CMakeLists.txt, headers and sources.
  • A wheel builds from that sdist alone in a clean venv (no repo checkout), installs, and passes conda.recipe/test_sparsediffpy.py. This is the path conda-forge takes.

Note for the conda-forge recipe (staged-recipes #34978, still open): its 0001-use-conda-forge-blas.patch edits BLAS discovery and /WX in SparseDiffEngine/CMakeLists.txt. Both moved: BLAS discovery now lives in SparseDiffEngine/sparsediff_linalg/CMakeLists.txt and already handles conda-forge's split libcblas and config-less OpenBLAS, and the engine already turns /WX off under SKBUILD. When the recipe is updated to the next release the patch should be dropped rather than re-pointed; this repo's conda-recipe.yml CI builds without it.

Workflows (build-and-publish.yml, conda-recipe.yml) already check out submodules recursively, which now covers the nested one.

🤖 Generated with Claude Code

…bmodule)

The engine now carries its sparse linear algebra as a git submodule,
sparsediff_linalg (pinned to v0.4.0 in this engine commit). A recursive clone
or `git submodule update --init --recursive` brings it in; the sdist built by
scikit-build-core includes the nested files (verified: the tarball contains
SparseDiffEngine/sparsediff_linalg with its CMakeLists, headers and sources,
and a wheel builds from that tarball alone).

Also drops the stale SparseDiffEngine/include/utils include directory, which
has not existed since the library split.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@dance858
dance858 merged commit 07053df into main Oct 12, 2026
27 checks passed
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.

1 participant