Customized sparse solver with Numba support
Project description
Sparse_Numba
A lightweight, Numba-compatible sparse linear solver designed for efficient parallel computations in Python.
Why Sparse_Numba?
Existing sparse linear solvers in Python (e.g., SciPy, CVXOPT, KVXOPT) work well for single-task scenarios but face performance bottlenecks due to frequent data exchanges and the Global Interpreter Lock (GIL). Sparse_Numba provides a sparse linear solver fully compatible with Numba's JIT compilation, allowing computationally intensive tasks to run in parallel by bypassing the GIL.
Installation
pip install sparse-numba
Due to licensing, UMFPACK DLLs are not bundled. To use the UMFPACK solver, install SuiteSparse separately and add the DLLs to the system path or place them under:
.venv/site-packages/sparse_numba/vendor/suitesparse/bin
Platform Compatibility
| Platform | Python Versions | Pre-built Wheels | Status |
|---|---|---|---|
| Windows (x86_64) | 3.9 - 3.12 | Yes | Tested |
| Linux (x86_64) | 3.9 - 3.12 | Yes | Tested |
| macOS (ARM / Apple Silicon) | 3.9 - 3.12 | Yes | Tested |
| macOS (Intel x86_64) | 3.9 - 3.12 | Build from source | Supported |
Note: Starting from v0.1.11, macOS pre-built wheels target Apple Silicon (ARM64). Intel Mac users can install from source:
pip install sparse-numba --no-binary=sparse-numba. Python 3.8 support has been dropped to align with NumPy and Numba compatibility.
Building from Source (Windows)
- Install MinGW-w64 (x86_64-posix-seh) and add its
bindirectory to PATH. - Create
%USERPROFILE%\.distutils.cfg:[build] compiler=mingw32
Note: The setting ismingw32even for 64-bit builds. - Build and install:
python -m build --wheel pip install dist/sparse_numba-<VERSION>.whl
To build only the SuperLU extension (skip UMFPACK if headers are unavailable):
SPARSE_NUMBA_SKIP_UMFPACK=1 python setup.py build_ext --inplace
Detailed installation information: Installation Guide.
Troubleshooting: SIZEOF_VOID_P Compilation Error (Windows)
When building from source on Windows with MinGW and Microsoft Store Python, you may encounter:
error: enumerator value for '__pyx_check_sizeof_voidp' is not an integer constant
This happens because the MS Store Python's pyconfig.h defines SIZEOF_VOID_P=4 (32-bit) while MinGW compiles for 64-bit. Two fixes are needed:
-
In the generated Cython C files (
cy_superlu_wrapper.c,cy_umfpack_wrapper.c), find:enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
Replace with:
// enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; enum { __pyx_check_sizeof_voidp = 1 };
-
In
setup.py, the Windowsextra_compile_argsalready includes-DSIZEOF_VOID_P=8. If building manually, add this flag to yourgcccommand.
Note: The pre-built wheels on PyPI do not have this issue.
API Reference
Solver Functions (Combined Factorize + Solve)
All functions are @njit(nogil=True) compatible for use inside Numba-compiled code.
| Function | Input Format | Description |
|---|---|---|
superlu_solve_csc(data, indices, indptr, b) |
CSC | Factorize + solve in one call |
superlu_solve_csr(data, indices, indptr, b) |
CSR | Converts to CSC, then solves |
superlu_solve_coo(row, col, data, shape, b) |
COO | Converts to CSC, then solves |
umfpack_solve_csc(...) |
CSC | Same API, UMFPACK backend |
umfpack_solve_csr(...) |
CSR | Same API, UMFPACK backend |
umfpack_solve_coo(...) |
COO | Same API, UMFPACK backend |
Return: (x: float64[:], info: int) where info=0 is success.
Pre-Factorization API (Factorize Once, Solve Many Times)
For systems where the matrix A stays constant across many solves (e.g., linear ODE integration), pre-factorization avoids redundant LU decomposition. Factorize once, then solve with different right-hand side vectors.
| Function | Description |
|---|---|
superlu_factorize_csc(data, indices, indptr) |
Factorize CSC matrix, return (handle, info) |
superlu_factorize_csr(data, indices, indptr) |
Factorize CSR matrix (converts to CSC internally) |
superlu_factorize_coo(row, col, data, shape) |
Factorize COO matrix (converts to CSC internally) |
superlu_solve_factored(handle, b) |
Solve using pre-computed factors, return (x, info) |
superlu_free_factors(handle) |
Free LU factor memory (must be called to avoid leaks) |
umfpack_factorize_csc(...) |
Same API, UMFPACK backend |
umfpack_factorize_csr(...) |
Same API, UMFPACK backend |
umfpack_factorize_coo(...) |
Same API, UMFPACK backend |
umfpack_solve_factored(handle, b) |
Same API, UMFPACK backend |
umfpack_free_factors(handle) |
Same API, UMFPACK backend |
Note: The handle is an opaque int64 value. Each handle is independent and thread-safe. The user must call free_factors() when done.
Sparse Utilities
| Function | Description |
|---|---|
convert_coo_to_csc(row, col, data, n_rows, n_cols) |
COO to CSC conversion (handles duplicates) |
convert_csr_to_csc(data, indices, indptr) |
CSR to CSC conversion |
convert_coo_to_csr(row, col, data, n_rows, n_cols) |
COO to CSR conversion (handles duplicates) |
sparse_matvec_csr(data, indices, indptr, x) |
Sparse matrix-vector product y = A @ x |
Usage Examples
Basic Solve (Combined Factorize + Solve)
import numpy as np
from sparse_numba.sparse_superlu.superlu_numba_interface import superlu_solve_csc
# CSC format sparse matrix
indptr = np.array([0, 2, 3, 6], dtype=np.int32)
indices = np.array([0, 2, 2, 0, 1, 2], dtype=np.int32)
data = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
b = np.array([1.0, 2.0, 3.0])
# Solve Ax = b
x, info = superlu_solve_csc(data, indices, indptr, b)
Pre-Factorization (Factorize Once, Solve Many)
from sparse_numba.sparse_superlu.superlu_numba_interface import (
superlu_factorize_csc, superlu_solve_factored, superlu_free_factors
)
# Factorize once
handle, info = superlu_factorize_csc(A_csc.data, A_csc.indices, A_csc.indptr)
assert info == 0
# Solve many times with different RHS vectors
for b in list_of_rhs_vectors:
x, info = superlu_solve_factored(handle, b)
# Free when done
superlu_free_factors(handle)
Parallel Solving with Numba
from numba import njit, prange
@njit(parallel=True)
def solve_many_systems(A_data, A_indices, A_indptr, rhs_list, n_systems):
solutions = np.zeros((n_systems, len(rhs_list[0])))
for i in prange(n_systems):
sol, info = superlu_solve_csc(A_data, A_indices, A_indptr, rhs_list[i])
solutions[i] = sol
return solutions
Performance
Single Problem (vs. SciPy spsolve)
| Solver | Benchmark |
|---|---|
| UMFPACK | |
| SuperLU |
Multi-task Parallel (vs. sequential SciPy)
| Platform | Benchmark | Speedup |
|---|---|---|
| Intel Ultra 7 258V | ||
| Xeon W-2255 |
Note: Initial JIT compilation overhead is included in single-problem benchmarks. The performance advantage is most evident in parallel multi-task scenarios.
Pre-Factorization Speedup
For a constant matrix solved repeatedly (e.g., linear ODE time-stepping), pre-factorization avoids redundant LU decomposition at each step. Benchmark on a 200x200 matrix:
| Scenario | SciPy Sequential | sparse_numba Combined | sparse_numba Pre-Factored | Speedup vs Combined |
|---|---|---|---|---|
| 10 solves (same A) | 10.3 ms | 9.1 ms | 0.2 ms | 38x |
| 50 solves (same A) | 45.4 ms | 40.4 ms | 0.8 ms | 49x |
| 100 solves (same A) | 95.7 ms | 82.6 ms | 1.5 ms | 54x |
Combined with parallel execution (8 threads, 8 independent systems):
| Method | Time | Speedup vs SciPy |
|---|---|---|
| SciPy sequential | 7.5 ms | 1x |
| sparse_numba parallel (combined) | 2.6 ms | 2.9x |
| sparse_numba parallel (pre-factored) | 0.1 ms | 67x |
To reproduce these benchmarks:
python -m sparse_numba.benchmark_prefactorize_slu
This generates three figures:
benchmark_repeated_solve_prefactored.png— repeated solve timing and speedupbenchmark_parallel_prefactored.png— parallel multi-system comparisonbenchmark_thread_scaling_prefactored.png— thread scaling efficiency
Architecture
User code (@njit)
|
v
Python/Numba layer (ctypes function pointers, @njit(nogil=True))
|
v
Cython layer (thin cdef api wrappers)
|
v
C layer (superlu_wrapper.c / umfpack_wrapper.c)
|
v
SuperLU / UMFPACK C libraries (vendor DLLs)
All layers release the Python GIL, enabling true parallel execution across threads.
License
BSD 3-Clause License
Third-Party Licenses
- OpenBLAS: github.com/OpenMathLib/OpenBLAS
- SuperLU: github.com/xiaoyeli/superlu
- GNU runtime libraries (libgcc_s_seh-1.dll, libgfortran-5.dll, libgomp-1.dll, libquadmath-0.dll, libwinpthread-1.dll): redistributed from the GNU toolchain
Citation
@software{hong2025sparse_numba,
author = {Hong, Tianqi},
title = {Sparse_Numba: A Numba-Compatible Sparse Solver},
year = {2025},
publisher = {GitHub},
url = {https://github.com/th1275/sparse_numba}
}
Release Process
1. Bump version
Edit setup.py and update the version number:
version="0.1.11", # increment as appropriate
2. Push to main (build + test only, no publish)
git add -A && git commit -m "Release v0.1.11"
git push origin main
Wait for the GitHub Actions CI to pass. The workflow builds and tests wheels on Linux, macOS, and Windows for Python 3.8–3.12. No upload to PyPI occurs on a branch push.
3. Tag and publish to PyPI
git tag v0.1.11
git push origin v0.1.11
The upload_pypi job triggers automatically on tag push — it collects all wheels and publishes via trusted publishing.
4. If CI fails on a tag push
- If the
upload_pypistep never ran (build or test failed first): the version was never uploaded to PyPI. You can safely delete the tag, fix the issue, and re-tag:git tag -d v0.1.11 # delete local tag git push origin :refs/tags/v0.1.11 # delete remote tag # fix the issue, commit, push to main git tag v0.1.11 # re-create tag git push origin v0.1.11 # re-push tag
- If the version was already uploaded to PyPI: PyPI does not allow re-uploading the same version number, ever. You must bump to
v0.1.12and tag again.
5. Recommended workflow
push to main → CI builds + tests → green? → tag vX.Y.Z → CI publishes to PyPI
Always confirm CI passes on the main push before tagging. This avoids wasting version numbers. You can also use workflow_dispatch to manually trigger a build without pushing code.
Building Windows wheels locally (alternative)
If CI Windows builds are not available or you need to build locally:
# Requires MinGW-w64 installed
python setup.py bdist_wheel
# Wheel is created in dist/ folder, named like:
# sparse_numba-0.1.11-cp311-cp311-win_amd64.whl
Build once per Python version you want to support (3.8, 3.9, 3.10, 3.11, 3.12).
Upload manually:
pip install twine
twine upload dist/sparse_numba-0.1.11-cp311-cp311-win_amd64.whl
Contributing
Contributions are welcome. Please open an issue or pull request on GitHub.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sparse_numba-0.1.11.tar.gz.
File metadata
- Download URL: sparse_numba-0.1.11.tar.gz
- Upload date:
- Size: 16.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4629a89957258365bf0f57c7f1cdf29930de2e25565f871aea93cecf054305c0
|
|
| MD5 |
c3a6b51ead4bb32b1383c9876aef4a57
|
|
| BLAKE2b-256 |
a4cc810a191405068e17089eba9130d85f894d6075daee45a1b797f45ef6c42a
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11.tar.gz:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11.tar.gz -
Subject digest:
4629a89957258365bf0f57c7f1cdf29930de2e25565f871aea93cecf054305c0 - Sigstore transparency entry: 1166898707
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 16.8 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad2f2d634ece8e33917d937c13535f9bb3e9a8d275b97dac2fe66d3679640464
|
|
| MD5 |
7dad9ef8889ceedde29c6be4678a64c3
|
|
| BLAKE2b-256 |
53218398b555d8543ffa47482ccec9429a5fd7c7f3da3584d263c15377cff2b7
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp312-cp312-win_amd64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp312-cp312-win_amd64.whl -
Subject digest:
ad2f2d634ece8e33917d937c13535f9bb3e9a8d275b97dac2fe66d3679640464 - Sigstore transparency entry: 1166899171
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 14.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6399f71fe72e2a6b1d8b16e460700fda13f1a131343197ddda5bb6bb3ca5e45f
|
|
| MD5 |
f1c40cc794b439b744f8e2f4878666b4
|
|
| BLAKE2b-256 |
4e590bc9e7f58977c9cce8791315d9c731ab9e08017f496dea98ae34ea5327e2
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
6399f71fe72e2a6b1d8b16e460700fda13f1a131343197ddda5bb6bb3ca5e45f - Sigstore transparency entry: 1166899301
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp312-cp312-macosx_14_0_arm64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp312-cp312-macosx_14_0_arm64.whl
- Upload date:
- Size: 63.5 kB
- Tags: CPython 3.12, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4038f385595d00f0223cc82d476deeeaa3a352b5e749277af3ad8e4b5c8dd99
|
|
| MD5 |
e1044d7afdcced165f854f0b453088e0
|
|
| BLAKE2b-256 |
7fddd6d010d590b593800e834667f5a2d12ba39b4b4df726f5439923c91cf77e
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp312-cp312-macosx_14_0_arm64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp312-cp312-macosx_14_0_arm64.whl -
Subject digest:
b4038f385595d00f0223cc82d476deeeaa3a352b5e749277af3ad8e4b5c8dd99 - Sigstore transparency entry: 1166899370
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 16.8 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f98c8e540880658948baa59d2a916e095b7fcb6d89bf6f70be96831f38e879a
|
|
| MD5 |
7f2d994ce7fee891409aa7049383edf7
|
|
| BLAKE2b-256 |
8f5c5a7e54948ecd50bc235f33e29ee45a43c67fd51451597f2a76d215a88694
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp311-cp311-win_amd64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp311-cp311-win_amd64.whl -
Subject digest:
7f98c8e540880658948baa59d2a916e095b7fcb6d89bf6f70be96831f38e879a - Sigstore transparency entry: 1166898937
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 14.9 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9c0f97afc204d6e328b64da0555a1269e84e121506cca1c58e850750fcdbba1
|
|
| MD5 |
283fbefc685bd9201db577ef9e4ea532
|
|
| BLAKE2b-256 |
4c940baac7dc47eedf99440750c9dca5e9c381b4860e91b1087110aa4631d19a
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
d9c0f97afc204d6e328b64da0555a1269e84e121506cca1c58e850750fcdbba1 - Sigstore transparency entry: 1166899241
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp311-cp311-macosx_14_0_arm64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 63.2 kB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4474327313133b187d36f0dacd04a2273b9dadcc0e497c10ef2ac458481919ad
|
|
| MD5 |
4d0d2cbe1cd3cca2a3dcc0859e7de8c6
|
|
| BLAKE2b-256 |
fcc13ae45bdabc80939512fe843c3d4a9665ccbcde42fd442e025772cf96defa
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp311-cp311-macosx_14_0_arm64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp311-cp311-macosx_14_0_arm64.whl -
Subject digest:
4474327313133b187d36f0dacd04a2273b9dadcc0e497c10ef2ac458481919ad - Sigstore transparency entry: 1166899443
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 16.8 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff4ccb30b50d657575118ba8fb5e6b9592f03783e642021cdfe5544f229bffa6
|
|
| MD5 |
6cdb08d2d2f8cc9a79f042c94fd6baf8
|
|
| BLAKE2b-256 |
4d79899e0bc0a6bcecb08cb995be8eb83004c3ce901f10e2f9bb153cf8e99569
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp310-cp310-win_amd64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp310-cp310-win_amd64.whl -
Subject digest:
ff4ccb30b50d657575118ba8fb5e6b9592f03783e642021cdfe5544f229bffa6 - Sigstore transparency entry: 1166899000
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 14.9 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3abb5d93ecfaea066f406da3425483d2a61a5e4dc42657a15a8c3be500f8f16
|
|
| MD5 |
2c2d46b35a417d33016ceb86b7ae394f
|
|
| BLAKE2b-256 |
9a48466007c2966b5ca2109bca2509ca10cab9c523489a049cff6ccf19875979
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
d3abb5d93ecfaea066f406da3425483d2a61a5e4dc42657a15a8c3be500f8f16 - Sigstore transparency entry: 1166899058
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp310-cp310-macosx_14_0_arm64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp310-cp310-macosx_14_0_arm64.whl
- Upload date:
- Size: 63.8 kB
- Tags: CPython 3.10, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22a1f11c993ae55c0f6771d723ca2dc0b50ae774176f0282cebd5bac999c2cb3
|
|
| MD5 |
dc9c4bcf7db364484adeb4f1c74a2b49
|
|
| BLAKE2b-256 |
c4e726e10be408b68057c51b64d09d76daa52d2ba0ad44a18f60ca6e506b7a34
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp310-cp310-macosx_14_0_arm64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp310-cp310-macosx_14_0_arm64.whl -
Subject digest:
22a1f11c993ae55c0f6771d723ca2dc0b50ae774176f0282cebd5bac999c2cb3 - Sigstore transparency entry: 1166898878
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 16.8 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0528780e37a756d2cf248c5218e7798e2360c430cc94d3924ab48dbc1fff4217
|
|
| MD5 |
d7c31bebe7345f804ba912b67aef69e5
|
|
| BLAKE2b-256 |
11deed3974595ea944f8f72ed81ac56216774125b492001ce5b9eec48ff51a5c
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp39-cp39-win_amd64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp39-cp39-win_amd64.whl -
Subject digest:
0528780e37a756d2cf248c5218e7798e2360c430cc94d3924ab48dbc1fff4217 - Sigstore transparency entry: 1166899111
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 14.9 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d4a982e8aba20ba81a23a6b1de95a191616cb3846c3f4737c1d9480b56b7757
|
|
| MD5 |
065007b814b477b123955e6a39f5f905
|
|
| BLAKE2b-256 |
da81d6073d3587f548906254ad30eb3b7f1a4121d40f27f616dc6035d0c0ddb8
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
5d4a982e8aba20ba81a23a6b1de95a191616cb3846c3f4737c1d9480b56b7757 - Sigstore transparency entry: 1166898753
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparse_numba-0.1.11-cp39-cp39-macosx_14_0_arm64.whl.
File metadata
- Download URL: sparse_numba-0.1.11-cp39-cp39-macosx_14_0_arm64.whl
- Upload date:
- Size: 63.8 kB
- Tags: CPython 3.9, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ce8ebbfccce4c6a7aa4d5a7fe524ea84a0a7551244e21753ec156c2a2f8719f
|
|
| MD5 |
201f77cb007c10e699c75f0f06396fc5
|
|
| BLAKE2b-256 |
204e98b95402bac58cf66cb713fd7828a28483d39a37c538bc23e0646ba7da28
|
Provenance
The following attestation bundles were made for sparse_numba-0.1.11-cp39-cp39-macosx_14_0_arm64.whl:
Publisher:
build_wheels.yml on th1275/sparse_numba
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparse_numba-0.1.11-cp39-cp39-macosx_14_0_arm64.whl -
Subject digest:
6ce8ebbfccce4c6a7aa4d5a7fe524ea84a0a7551244e21753ec156c2a2f8719f - Sigstore transparency entry: 1166898819
- Sigstore integration time:
-
Permalink:
th1275/sparse_numba@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/th1275
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@11d9bb9cf41dcaee99d2aa134905ff23c85c582a -
Trigger Event:
push
-
Statement type: