Skip to main content

sp_matmul_rs

Crates.io PyPI License: Apache-2.0

sp_matmul_rs provides a fast way to perform a sparse matrix multiplication (SpGEMM) followed by top-n multiplication result selection.

It is a Rust port of sparse_dot_topn, created and optimised for use in string_grouper — where the dominant workload is matching every row of a very large TF-IDF matrix against every other row and keeping only the top-n nearest neighbours.

sparse_dot_topn is based on Gustavson's algorithm but retains only the best n values per output row. sp_matmul_rs retains the same algorithmic core but is built around L1/L2 cache-blocking: the default driver column-chunks B so the dense per-row accumulator and the streamed B fragments stay resident in L1 (chunk sizes are automatically calculated based on cache size), which is the dominant performance lever once the working set stops fitting in cache. Parallelism is provided by rayon (enabled by default) and the Python distribution releases the GIL around the kernel. On Apple M5 Pro over a 663k × 193k TF-IDF self-similarity workload sp_matmul_rs runs in as little as 41% of the time of sparse_dot_topn when retaining the top 10 values per row and utilising 10 cores. See the benchmark directory for details.

Usage

sp_matmul_topn supports {CSR, CSC, COO} matrices with {32, 64}bit {int, float} data. Note that COO and CSC inputs are converted to the CSR format and are therefore slower. The Python surface (sp_matmul, sp_matmul_topn, zip_sp_matmul_topn) mirrors sparse_dot_topn, so migration from the C++ extension is typically a one-line import swap. Note that sp_matmul_topn(A, B, top_n=B.shape[1]) is equal to sp_matmul(A, B) and A.dot(B).

import numpy as np
import scipy.sparse as sparse
from sp_matmul_rs import sp_matmul, sp_matmul_topn

A = sparse.random(1000, 100, density=0.1, format="csr", dtype=np.float64)
B = sparse.random(100, 2000, density=0.1, format="csr", dtype=np.float64)

# Compute C and retain the top 10 values per row
C = sp_matmul_topn(A, B, top_n=10)

# or parallelised matrix multiplication without top-n selection
C = sp_matmul(A, B, n_threads=2)
# or with top-n selection
C = sp_matmul_topn(A, B, top_n=10, n_threads=2)
# pass n_threads=-1 to use all but one physical core
C = sp_matmul_topn(A, B, top_n=10, n_threads=-1)

# If you are only interested in values above a certain threshold
C = sp_matmul_topn(A, B, top_n=10, threshold=0.8)

# If you set the threshold we cannot easily determine the number of non-zero
# entries beforehand. Therefore, we allocate memory for `ceil(top_n * A.shape[0] * density)`
# non-zero entries. You can set the expected density to reduce the amount pre-allocated
# entries. Note that if we allocate too little an expensive copy(ies) will need to happen.
C = sp_matmul_topn(A, B, top_n=10, threshold=0.8, density=0.1)

The package imports as sp_matmul_rs and does not share its namespace with sparse_dot_topn — both can be installed side-by-side in the same environment.

Installation

sp_matmul_rs provides wheels for CPython 3.9 to 3.13 for:

  • Windows (64bit)
  • Linux (x86_64 and aarch64, both manylinux and musllinux)
  • macOS (x86_64 and ARM)
pip install sp_matmul_rs

sp_matmul_rs relies on a Rust extension for the computationally intensive multiplication routine. Note that the wheels ship with rayon enabled, providing parallelisation out-of-the-box. If you need to disable threading at runtime, omit the n_threads argument (or pass n_threads=1).

Installing from source requires a Rust toolchain (1.75+) and maturin:

pip install maturin
pip install sp_matmul_rs --no-binary sp_matmul_rs

Supported

Values Indices Python Platforms
f32, f64, i32, i64 i32, i64 3.9 – 3.13 manylinux x86_64/aarch64, musllinux x86_64, macOS x86_64/arm64, Windows x86_64

Rust crate

For Rust callers, the same kernels are available without the Python bindings:

[dependencies]
sp_matmul_rs = "0.1"
use sp_matmul_rs::{sp_matmul_topn, CsrView, SortMode, TopNOptions};

let c = sp_matmul_topn::<f64, i32>(
    a_view,
    b_view,
    10,
    TopNOptions { sort: SortMode::ByValue, ..Default::default() },
);

Features

Feature Default What it enables
rayon yes Parallel column-chunked driver (parallel::*).
python no PyO3 + numpy bindings — used by the Python distribution.

Module layout

Module Responsibility
scalar Scalar trait + impls for f32, f64, i32, i64
index Index trait + impls for i32, i64
csr CsrView (borrowed) and CsrMatrix (owned)
maxheap Bounded max-heap retaining top-n scores per row
matmul Sequential sp_matmul (no top-n)
matmul_topn Sequential sp_matmul_topn (single full-column path)
chunked Column-chunked driver — the L1/L2 cache-blocking pillar
zip zip_sp_matmul_topn for distributed/cluster results
parallel Rayon-backed variants (feature rayon)
python PyO3 + numpy bindings (feature python)

Build from source

# Rust crate
cargo build --release                       # default features: rayon
cargo build --release --no-default-features
cargo test
cargo bench

# Python extension (requires maturin and CPython >=3.9)
pip install maturin
maturin develop --release --features python,rayon
python -c "import sp_matmul_rs; print(sp_matmul_rs.kernel_info())"

x86-64: FMA/AVX2 via runtime dispatch

Baseline x86-64 builds (including the PyPI wheels) cannot assume FMA/AVX2 at compile time, so the chunked kernels ship AVX2+FMA clones selected by runtime CPU detection — worth ~17–18 % on real string-matching workloads, and available on effectively every x86-64 CPU since 2013 (Haswell/Zen). No configuration needed; check which path is active with sp_matmul_rs.kernel_info()['runtime_simd'] ("avx2+fma", "baseline", or "compile-time"), and set SP_MATMUL_RS_FORCE_BASELINE=1 to disable the clones for A/B measurements.

Building from source with RUSTFLAGS="-C target-cpu=native" still applies the full native feature set (including AVX-512 where present — the runtime dispatch tier is AVX2+FMA only) to the whole crate and compiles the dispatch machinery away; on AVX2-class hardware it measures the same as the runtime-dispatched wheel. See bench/results_x86_i7-6500U.md for x86-64 numbers and the chunk_cols / SP_MATMUL_RS_CHUNK_COLS tuning knob.

Benchmarks

bench/bench_rust_vs_cpp_scipy.py is a three-way comparison against the upstream C++ extension (sparse_dot_topn) and scipy.sparse on a word-level TF-IDF matrix over the EDGAR company-name corpus (Kaggle: dattapiy/sec-edgar-companies-list). Numbers below were measured on an Apple M5 Pro (10 performance cores), 48 GB, macOS 26.4, with both libraries built with parallelism enabled (sparse_dot_topn against Homebrew libomp, sp_matmul_rs with rayon). Times are per-call min across timed runs (one untimed warm-up first).

Full EDGAR corpus — A @ A.T (663 000 × 193 190)

The workload that string_grouper actually runs in production: every company name matched against every other. Scipy and the no-top-n baseline are omitted because the dense result is too large to materialise on a 48 GB machine. repeats = 3.

Benchmark top_n n_threads C++ (s) Rust (s) Rust vs C++
sp_matmul_topn 10 1 132.537 68.585 1.9x
sp_matmul_topn 10 8 28.143 12.903 2.2x
sp_matmul_topn 10 10 28.429 11.567 2.5x
sp_matmul_topn 20 1 131.878 70.350 1.9x
sp_matmul_topn 20 8 27.505 13.154 2.1x
sp_matmul_topn 20 10 27.524 11.415 2.4x

At workload-realistic scale, sp_matmul_rs consistently runs in 40–50 % of the time of the C++ extension and continues to scale past 8 threads where the OpenMP build plateaus. The L1/L2 cache-blocking driver does the heavy lifting — at 663 000 rows the per-row working set no longer fits in cache, and the chunked layout keeps the dense accumulator L1-resident.

Sampled shape — 20 000 × 193 190 × 20 000

The same shape as the upstream C++ bench README, included for direct comparability. repeats = 5.

Benchmark top_n n_threads Scipy (s) C++ (s) Rust (s) Rust vs Scipy Rust vs C++
sp_matmul_topn 10 1 0.110 0.102 0.083 1.3x 1.2x
sp_matmul_topn 10 8 0.107 0.014 0.015 6.9x -1.1x
sp_matmul_topn 30 1 0.108 0.124 0.119 -1.1x 1.0x
sp_matmul_topn 30 8 0.109 0.017 0.021 5.3x -1.2x
sp_matmul_topn 100 8 0.107 0.031 0.041 2.6x -1.3x
sp_matmul_topn 1000 8 0.107 0.112 0.180 -1.7x -1.6x

At this smaller shape the per-row working set still fits in cache, so the C++ extension's flat layout is competitive (Rust trails by ~1.2–1.6× at large top_n). The sampled bench is included for direct comparability with the upstream C++ project's published table — the full-corpus numbers above are the more relevant indicator for real string-matching workloads.

The full {top_n, n_threads} grid (including the plain sp_matmul baseline and Scipy timings) lives in bench/README.md.

License

Apache-2.0. See LICENSE.

Metadata

Release files for sp-matmul-rs 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sp-matmul-rs 0.2.1
File Size Uploaded Provenance
sp_matmul_rs-0.2.1.tar.gz 116.6 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for sp-matmul-rs 0.2.1
File
sp_matmul_rs-0.2.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
sp_matmul_rs-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
sp_matmul_rs-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
sp_matmul_rs-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
sp_matmul_rs-0.2.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
sp_matmul_rs-0.2.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
sp_matmul_rs-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
sp_matmul_rs-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
sp_matmul_rs-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
sp_matmul_rs-0.2.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
sp_matmul_rs-0.2.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
sp_matmul_rs-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
sp_matmul_rs-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
sp_matmul_rs-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
sp_matmul_rs-0.2.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
sp_matmul_rs-0.2.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
sp_matmul_rs-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
sp_matmul_rs-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
sp_matmul_rs-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
sp_matmul_rs-0.2.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
sp_matmul_rs-0.2.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
sp_matmul_rs-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
sp_matmul_rs-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
sp_matmul_rs-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
sp_matmul_rs-0.2.1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 15.6 MB

Release files / sp_matmul_rs-0.2.1.tar.gz

Download URL sp_matmul_rs-0.2.1.tar.gz
Size 116.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d3654a5abcadd33a6a30e5a953e8495abf45b87f27049a81458fc9fd21df2e8e
BLAKE2b-256 checksum
How to use checksums
d5035d89223cbdf0510e16ed3fe904e768609b16a566dd7ae370f2b436b0c6f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp313-cp313-win_amd64.whl

Download URL sp_matmul_rs-0.2.1-cp313-cp313-win_amd64.whl
Size 467.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
0804d173494397c10970b80a2a4a2c9126c303bd672d571da9c6ee0d939ebbe5
BLAKE2b-256 checksum
How to use checksums
272abfd70d09016bfcbae68594f13d485f91b58d9add796e5acea06a3d32ad8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL sp_matmul_rs-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 836.6 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
7e5c9e64ddab1c97bbbe27c07917a048264f8e25c3f076a532df4fcf8deeb395
BLAKE2b-256 checksum
How to use checksums
8e9072246d74b750cab2afb9709590883b7b6e1cdf42fe1a51c0a5974c33f3e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sp_matmul_rs-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 626.4 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
07dd62d68fcbe2238938cf13edd9bbf8220279fce67c1b429f525a6d21042685
BLAKE2b-256 checksum
How to use checksums
6f060df3b14a97b9f0f245f07fe2112994e0cdcba112c45da4bbed258283dbf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sp_matmul_rs-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 599.7 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
60af7c166c4981ce9292c740f7b901b88b20e1ee56a7c9c12c402a47b3a50df4
BLAKE2b-256 checksum
How to use checksums
80b6a13125a7b3bc66038b7b2f097493b46148e74c24df0c74262d6ac6dbcd30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL sp_matmul_rs-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
Size 561.6 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
83d632c6cd30a9bd7468d584fa048abbf75a0858644600a5a17a6701ef0233b9
BLAKE2b-256 checksum
How to use checksums
2cac5ccb05da81ccfab6c87d239001fdff3d532f5b71dba3b3650df52344206a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp312-cp312-win_amd64.whl

Download URL sp_matmul_rs-0.2.1-cp312-cp312-win_amd64.whl
Size 468.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
723043a2b6950670878afd6ac090d66094fed2dcb4783a1e119b3e7f111e2a02
BLAKE2b-256 checksum
How to use checksums
7044a221a3ebfdb6d370303df3bbda88ebff05107c4670df4ca7c7e56aa4ff4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL sp_matmul_rs-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 836.7 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4b362e98823588e38044e3df37b2c9d0b7c525825d7cdbf982474087ecea00cf
BLAKE2b-256 checksum
How to use checksums
3efeaf3fb56b63e02fa80f4f22efbb759d81e3e13b8ed4ce7fdeaf668c8958cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sp_matmul_rs-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 626.4 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
aed6dd1633152e23319e2c0972c28e667a07aeef3c076c1d509d5984afceb8a5
BLAKE2b-256 checksum
How to use checksums
cb56ace7ec2be21681fe96b4d66ef37cb5bf820ec7d0a74c130ee5d50848db8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sp_matmul_rs-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 599.7 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
54fd573a3309be30690c025b9ed38051a3f7f78b59760d041ce2921876702f49
BLAKE2b-256 checksum
How to use checksums
ad2b1dcc72e31d7cf7f1075f5ec2e0d94af7c67872b49d12caf120f5c921075e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL sp_matmul_rs-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Size 562.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d18652edb94525ffb2ca24968912db9a83b71acba3f99f0be3a40d4ca996cb14
BLAKE2b-256 checksum
How to use checksums
9abb601411dcffed2f1d7ce4bd9a55e6d66fc1b20c78c31c56b887d9966fa3fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp311-cp311-win_amd64.whl

Download URL sp_matmul_rs-0.2.1-cp311-cp311-win_amd64.whl
Size 466.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
6bdf156a75a950947a60b990ff04f9dcdbe063362f8fe3b572154f70c67a0d26
BLAKE2b-256 checksum
How to use checksums
5ea697274a8f0c62e0ea3d10b6f509c67603bd953fbd51752f89f9441a9e0978
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL sp_matmul_rs-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 835.8 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9dd0c558f4336672e7adfe38affd6d93b305b4fbdf47a5231e110ed7befc40a8
BLAKE2b-256 checksum
How to use checksums
bc66c87dd63e867da3fd6b32bef2c84876bbb442b11115e1dd31ebe6c7f3ef32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sp_matmul_rs-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 625.6 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6051237a461d2618ae3553bd00450c42c2af0677098399a4b674a903c69a5b42
BLAKE2b-256 checksum
How to use checksums
51c8686aa07eb9858a361896a02b191f38f91d1db66f729d6345534f575f6f5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sp_matmul_rs-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 599.0 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
18f98734832579edc92564416275af2f907546a9cb12a21ae352fa7d52e2744a
BLAKE2b-256 checksum
How to use checksums
46fdead7ed4f893d9eb8ebf44fca73c8476655415f5b5bc5644442c7e9824919
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL sp_matmul_rs-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
Size 563.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a750744377e9b0f7021498d52b3fde793ae97e90c857775aa607f2fed2ec0c5d
BLAKE2b-256 checksum
How to use checksums
387a25006a05b9ae78557798be28a2c6212e2cada5eb57a9fc245326ec7086fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp310-cp310-win_amd64.whl

Download URL sp_matmul_rs-0.2.1-cp310-cp310-win_amd64.whl
Size 466.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
8e1b6d190a04a010cfb8817f3cddad4a9c3243e17f8f816075f34968232d3e6b
BLAKE2b-256 checksum
How to use checksums
a0ea1f5e27e7ba08d99df9e9fd610ccf16ae0c9206e154612cf0d512dbe47ba2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL sp_matmul_rs-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
Size 835.9 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
0296d07ee46e842ab12420f3625440977a613298094496f5ebd4bc0691f633bc
BLAKE2b-256 checksum
How to use checksums
720cfbe1111d46c8dd3e1860c66d8bb2d59b8809e642fad62e0dbc0671edc806
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sp_matmul_rs-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 625.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
107df351fdbe5fc659053a80bbe1f04e9197d16ab235b8b00c2b01094fde0232
BLAKE2b-256 checksum
How to use checksums
a1e455a380e5a7fe76e1345df09b83655835d6dab78905009e228f3969e0eaea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sp_matmul_rs-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 599.2 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
50939db8dc5ebfa04ff2d2c6c7e4cee19e83b60d114e0e9a6a77e5ddefea1d6f
BLAKE2b-256 checksum
How to use checksums
660e19ba82a074a50fcb9e1e9a52b0565ad32b299045d5609f88a5b6d93ece87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL sp_matmul_rs-0.2.1-cp310-cp310-macosx_11_0_arm64.whl
Size 563.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3570632d2a8b03e176555b9fdd7f2e3db80015101ce07d27293d08cddbf2f7b0
BLAKE2b-256 checksum
How to use checksums
3bcce35d6523228430abf737edb0b9535e2a9294b0f5145455558e27e1710f03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp39-cp39-win_amd64.whl

Download URL sp_matmul_rs-0.2.1-cp39-cp39-win_amd64.whl
Size 468.8 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
cbff374a3e4070ca5a906f43e37e669cbfef07344874af8697f1f193b7df0279
BLAKE2b-256 checksum
How to use checksums
36ac5da46672bc252076d07375c46df5c3cecac03e4c1c3f3f8943b4c771a32b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL sp_matmul_rs-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl
Size 838.2 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
aacbd33bc538e8cb8eaf764fd89d8eb4d169880dfe336c7c67e679cf81b71c6f
BLAKE2b-256 checksum
How to use checksums
785719fdf8da84c999160a692237b6ae2fc2395cc72ea8e14df0ff9882628768
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sp_matmul_rs-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 628.3 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b05a114f6e04761f0aaaf2ae1e5a39da50fd5b081b9f61bc08b53773351730e0
BLAKE2b-256 checksum
How to use checksums
4c9666dc7592b95da6e10b263fac2c1f17c1643e9b3d727411afe1a73dcab736
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sp_matmul_rs-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 601.8 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
c27e2ef01d121156119f9216a07b59d6c877721b61b342bcd78561a0daaebff7
BLAKE2b-256 checksum
How to use checksums
0ac551f0c63e73aea3f0fc2927f5dd9bb774675cb29a2e2115ceda7c1ff0f803
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / sp_matmul_rs-0.2.1-cp39-cp39-macosx_11_0_arm64.whl

Download URL sp_matmul_rs-0.2.1-cp39-cp39-macosx_11_0_arm64.whl
Size 565.5 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8ae18c777ed0107d039a4e4c2f275b3262d17d93703be35ac41022fae16a4507
BLAKE2b-256 checksum
How to use checksums
37ab7465191148d357da16ce8f93735d1f85b789a22b219186f6924a6794bceb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Security for sp-matmul-rs 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 26 files in this release have been uploaded with provenance metadata.

Select from 26 files

Attestation for sp_matmul_rs-0.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page