Skip to main content

SketchSpGEMM

Crates.io PyPI version Documentation License: MIT

Adaptive, sketch-based sparse matrix multiplication in Rust.

SketchSpGEMM is a research prototype for computing C = A × B when A and B are sparse, the ordinary multiplication exposes many candidate scalar products, and the final matrix C is much sparser than that intermediate work suggests. It automatically chooses between exact multiplication and compressed moment-sketch recovery, then checks a recovered result with independent residual fingerprints.

The project is inspired by Graia, Optimal Deterministic Fully Sparse Matrix Multiplication, while its practical path uses an IBLT-style moment recovery strategy rather than being a literal implementation of the deterministic theorem.

Why SketchSpGEMM?

A conventional sparse matrix product may perform a large number of candidate multiplications even when relatively few nonzeros survive in the output. Define

F   = number of candidate scalar products
K   = nnz(C)
rho = F / K

When rho is large and the output is sparse, compressed measurements and sparse recovery can avoid materializing much of the intermediate work. SketchSpGEMM analyzes the input structure, samples output rows, predicts recovery cost, and selects the appropriate execution path without being given the true K.

Applications

The algorithm is intended for exact sparse products with high candidate-product amplification and a sparse final result. Candidate application areas include:

  • Graph analytics — sparse two-hop relations, path-count products, and signed or weighted graph composition when the resulting relation remains sparse.
  • Sparse relational joins — incidence-matrix formulations of joins or grouped aggregates where many input matches collapse into relatively few output pairs.
  • Incremental computation — products such as ΔA × B or A × ΔB when a sparse update affects only a small part of the result.
  • Discrete scientific models — composition of integer-valued incidence, connectivity, boundary, or other sparse combinatorial operators.
  • Sparse polynomial and combinatorial algebra — exact integer products in which many generated terms combine into a small output support.
  • Sparse-recovery research — experiments with sketch schedules, peeling decoders, residual certification, and output-sensitive SpGEMM.

These are workload shapes, not claims of production readiness. Measure the actual F, output geometry, recovery cost, and fallback rate for a particular dataset before choosing the sketch path.

Good fit

  • Exact integer arithmetic is acceptable.
  • Both inputs are sparse.
  • Candidate work is much larger than the number of output nonzeros.
  • Surviving output columns contain relatively few nonzeros.
  • Batch throughput matters more than single-operation latency.

Poor fit

  • The output is dense or nearly dense.
  • The candidate-product amplification ratio is small.
  • Floating-point, quantized, GPU, or distributed execution is required.
  • The workload is a dense neural-network layer or a full model-inference task.
  • A probabilistic certificate is unacceptable and exact correction is disabled.

For unsuitable inputs, auto_spgemm can select an exact kernel rather than forcing sketch recovery.

Quick start

Requirements:

  • Rust 1.91 or newer with Cargo

Clone the repository, run the tests, and execute the default benchmark:

cargo test
cargo bench --bench benchmark

For CSR builder, transpose, and residual certificate measurements, see BENCHMARKS.md.

Python bindings

The Python package supports CPython 3.9 or newer. CSR values use NumPy int32, int64, uint64, float32, or float64 buffers, while column indices and row pointers always use int64. Build and install it into the active virtual environment with Maturin:

python -m pip install maturin
maturin develop --release
import numpy as np
from sketch_spgemm import CsrMatrix, auto_spgemm

a = CsrMatrix(
    np.array([2, 3, 4], dtype=np.int64),
    np.array([0, 1, 1], dtype=np.int64),
    np.array([0, 2, 3], dtype=np.int64),
    (2, 2),
)
b = CsrMatrix(
    np.array([5, 7, 11], dtype=np.int64),
    np.array([0, 0, 1], dtype=np.int64),
    np.array([0, 1, 3], dtype=np.int64),
    (2, 2),
)

product, stats = auto_spgemm(a, b)
np.testing.assert_array_equal(product.to_dense(), [[31, 33], [28, 44]])
print(stats.choice, stats.timing.total)

data must be a contiguous one-dimensional int32, int64, uint64, float32, or float64 array. indices and indptr remain contiguous one-dimensional int64 arrays. Column indices in each row must be strictly increasing, duplicates and explicit zero values are rejected, and the constructor copies all input data. auto_spgemm and analyze_workload require int64 matrices; checked_spgemm supports every listed dtype and requires both operands to have the same dtype.

Python also exposes the checked exact kernel and fallible COO construction:

from sketch_spgemm import CsrBuilder, CsrMatrix, checked_spgemm

safe_product, direct_stats = checked_spgemm(a, b)

matrix = CsrMatrix.from_triplets(
    np.array([4, -1, 7], dtype=np.int64),
    np.array([0, 0, 2], dtype=np.int64),
    np.array([1, 1, 0], dtype=np.int64),
    (3, 3),
)

builder = CsrBuilder(3, 3, capacity=3, dtype="int64")
builder.extend(
    np.array([4, -1], dtype=np.int64),
    np.array([0, 0], dtype=np.int64),
    np.array([1, 1], dtype=np.int64),
)
builder.push(2, 0, 7)
streamed_matrix = builder.finish()

CsrBuilder requires globally row-major sorted coordinates across every extend and push call. Duplicate aggregation and checked multiplication raise Python OverflowError; malformed coordinates raise ValueError. extend is streaming rather than transactional: if a later coordinate fails, the successfully processed prefix remains in the builder.

Direct multiplication and common transaction-graph transformations are available for every supported dtype. spgemm follows the ordinary arithmetic semantics of the selected dtype; use checked_spgemm when integer overflow or non-finite floating-point results must be reported:

import numpy as np

from sketch_spgemm import from_scipy, spgemm, to_scipy

two_hop, stats = spgemm(matrix, matrix, max_output_nnz=1_000_000)
incoming = matrix.transpose()
degrees = matrix.row_nnz()
outflow = matrix.row_sums()
binary = matrix.binarize()
combined = matrix.checked_add(matrix)
focused = matrix.select_rows(np.array([2, 0, 2], dtype=np.int64))

# SciPy remains optional; install with `pip install sketch-spgemm[scipy]`.
scipy_csr = to_scipy(matrix)
native = from_scipy(scipy_csr)

An exceeded max_output_nnz raises MemoryError before the completed row is appended to the result. SciPy adapters copy into canonical owned storage.

Library example

Add the library to a Cargo project:

cargo add sketch-spgemm
use sketch_spgemm::{auto_spgemm, AutoSpGemmConfig, CsrMatrix};

fn main() {
    let a = CsrMatrix::from_triplets(
        2,
        2,
        &[(0, 0, 2), (0, 1, 3), (1, 1, 4)],
    );
    let b = CsrMatrix::from_triplets(
        2,
        2,
        &[(0, 0, 5), (1, 0, 7), (1, 1, 11)],
    );

    let (c, stats) = auto_spgemm(&a, &b, AutoSpGemmConfig::default());

    assert_eq!(c.to_dense().data, vec![31, 33, 28, 44]);
    println!("selected path: {:?}", stats.choice);
}

The main automatic API is:

let (c, stats) = auto_spgemm(&a, &b, AutoSpGemmConfig::default());

It does not receive the true product or nnz(C).

For borrowed CSR implementations, use the fallible generic entry point:

use sketch_spgemm::{try_auto_spgemm, AutoSpGemmConfig, CsrInput};

fn multiply<A, B>(a: &A, b: &B)
where
    A: CsrInput<Scalar = i64>,
    B: CsrInput<Scalar = i64>,
{
    let (product, stats) =
        try_auto_spgemm(a, b, AutoSpGemmConfig::default()).unwrap();
    println!("{} nonzeros via {:?}", product.nnz(), stats.choice);
}

CsrInput has an associated scalar type and requires canonical CSR rows: sorted unique columns and no explicit zeros. It lets external sparse containers participate without first copying their complete input into CsrMatrix. try_auto_spgemm requires Scalar = i64. The scalar-aware try_spgemm entry point runs that automatic pipeline for i64 and transparently uses the direct kernel for other supported scalar types. External containers exposing usize CSR buffers can use the checked, zero-copy CsrView adapter instead of defining a dedicated wrapper.

Ecosystem integrations

Integrations are optional and disabled by default, keeping the core crate's dependency graph empty:

cargo add sketch-spgemm --features sprs
cargo add sketch-spgemm --features petgraph

The repository includes complete runnable examples:

cargo run --example sprs --features sprs
cargo run --example petgraph --features petgraph

It also includes end-to-end Criterion throughput comparisons:

cargo bench --bench sprs --features sprs
cargo bench --bench petgraph --features petgraph

Each benchmark first checks that the standard ecosystem result and the sketch-spgemm result are identical. Criterion then performs warm-up and statistical sampling, and reports timing and throughput estimates. The sprs comparison uses native CSR multiplication. The petgraph comparison uses direct weighted two-hop edge traversal. Both measurements are end to end, including output construction and, for sketch-spgemm, workload selection and adapter overhead. Pass Criterion options after --, for example --measurement-time 5 or --sample-size 50.

sprs

The sprs feature provides a generic SprsCsrView<'_, T, I, Iptr> for borrowed CSR operands. It can be passed directly to generic direct kernels without copying input values, indices, or row pointers. The sprs::auto_spgemm convenience function remains specialized to i64 and returns an owning CsMatI<i64, I, Iptr>. CSC is rejected because converting it would violate the zero-copy CSR contract. Explicit stored zeros are ignored.

use sketch_spgemm::AutoSpGemmConfig;
use sketch_spgemm::interop::sprs::auto_spgemm;
use sprs::CsMat;

let a = CsMat::new((1, 2), vec![0, 2], vec![0, 1], vec![2_i64, 3]);
let b = CsMat::new((2, 1), vec![0, 1, 2], vec![0, 0], vec![5_i64, 7]);
let (c, _) = auto_spgemm(a.view(), b.view(), AutoSpGemmConfig::default())?;
assert_eq!(c.get(0, 0), Some(&31));
# Ok::<(), sketch_spgemm::SpGemmError>(())

This is a downstream adapter in sketch-spgemm; neither sprs nor its public API needs to change.

petgraph

The petgraph feature exposes adjacency_csr and two_hop_path_counts for any graph view implementing IntoNodeIdentifiers + IntoEdges + NodeIndexable. Edge weights are mapped to i64; parallel weights sum, undirected adjacency is symmetric, and NodeIndexable::node_bound preserves vacant StableGraph indices. The product remains sketch_spgemm::CsrMatrix<i64> for subsequent library operations.

use petgraph::graph::DiGraph;
use sketch_spgemm::AutoSpGemmConfig;
use sketch_spgemm::interop::petgraph::two_hop_path_counts;

let mut graph = DiGraph::<(), i64>::new();
let a = graph.add_node(());
let b = graph.add_node(());
let c = graph.add_node(());
graph.add_edge(a, b, 2);
graph.add_edge(b, c, 7);

let (paths, _) = two_hop_path_counts(
    &graph,
    |weight| *weight,
    AutoSpGemmConfig::default(),
)?;
assert_eq!(paths.row(a.index()).collect::<Vec<_>>(), vec![(c.index(), 14)]);
# Ok::<(), sketch_spgemm::SpGemmError>(())

This integration works entirely through petgraph visitor traits, so no upstream storage exposure or API adjustment is required.

Matrix types

The storage containers share a common scalar default and metadata interface:

use sketch_spgemm::{CsrMatrix, DenseMatrix, Matrix, MatrixLike, Scalar};

fn metadata<M: MatrixLike>(matrix: &M) -> ((usize, usize), usize) {
    (matrix.shape(), matrix.nnz())
}

let mut dense = DenseMatrix::<i32>::zeros(2, 2);
dense[(0, 1)] = 7;

let csr: CsrMatrix<i32> = dense.to_csr();
let matrix: Matrix<i32> = csr.into();

assert_eq!(metadata(&matrix), ((2, 2), 1));

let exact_value: Scalar = 7i64;
assert_eq!(exact_value, 7);
  • CsrMatrix<T = Scalar> stores compressed sparse rows.
  • DenseMatrix<T = Scalar> stores contiguous row-major values.
  • Matrix<T = Scalar> is an owning enum for interfaces that accept either representation.
  • MatrixLike exposes shared rows, cols, shape, and nnz metadata.
  • CsrInput::Scalar identifies the value type exposed by a borrowed CSR input.
  • SpGemmScalar is the minimal scalar contract for direct sparse and dense multiplication.
  • Scalar is the i64 type used by automatic sketch recovery and fingerprints.

COO input can be canonicalized with CsrMatrix::from_triplets. CSC buffers can be converted once with CsrMatrix::from_csc; the conversion is intentionally allocating because all sparse kernels use row-oriented access.

Generic direct multiplication accepts any numeric type satisfying SpGemmScalar, including integer and floating-point primitives:

use sketch_spgemm::{try_spgemm_hash, CsrMatrix};

let a = CsrMatrix::<i32>::from_triplets(1, 2, &[(0, 0, 2), (0, 1, 3)]);
let b = CsrMatrix::<i32>::from_triplets(2, 1, &[(0, 0, 5), (1, 0, 7)]);
let (c, _) = try_spgemm_hash(&a, &b)?;
assert_eq!(c.values, vec![31]);
# Ok::<(), sketch_spgemm::SpGemmError>(())

Here "direct" means that no probabilistic sketch is used. Unchecked floating-point arithmetic retains the usual primitive rounding and NaN behavior. Canonical sparse output omits values that compare equal to zero, so neither 0.0 nor -0.0 is stored as an explicit CSR entry. Checked floating-point APIs additionally reject non-finite multiplication or accumulation results.

For overflow-sensitive workloads, try_spgemm_checked and try_dense_matmul_checked use exact direct kernels and return SpGemmError::ArithmeticOverflow with the output coordinate and inner index:

use sketch_spgemm::{try_spgemm_checked, CsrMatrix};

let a = CsrMatrix::<i64>::try_from_triplets(1, 2, &[(0, 0, 2), (0, 1, 3)])?;
let b = CsrMatrix::<i64>::try_from_triplets(2, 1, &[(0, 0, 5), (1, 0, 7)])?;
let (c, _) = try_spgemm_checked(&a, &b)?;
assert_eq!(c.values, vec![31]);
# Ok::<(), Box<dyn std::error::Error>>(())

Each multiplication and intermediate accumulation is checked in canonical inner-index order. The kernels intentionally do not widen the accumulator, so temporary overflow is reported even if later cancellation would make the final mathematical sum fit in the scalar type. Use a wider scalar type when that behavior is required.

CsrBuilder constructs canonical CSR incrementally from row-major sorted triplets without retaining the complete COO input. It combines duplicates with checked addition, removes resulting zeros, preserves empty rows, and reports out-of-range or out-of-order coordinates:

use sketch_spgemm::CsrBuilder;

let mut builder = CsrBuilder::<i64>::with_capacity(3, 3, 4);
builder.try_extend([
    (0, 1, 4),
    (0, 1, -1),
    (2, 0, 7),
])?;
let matrix = builder.finish();
assert_eq!(matrix.row_ptr, vec![0, 1, 1, 2]);
assert_eq!(matrix.values, vec![3, 7]);
# Ok::<(), Box<dyn std::error::Error>>(())

Use CsrMatrix::try_from_triplets when input coordinates are not sorted. That path allocates per-row maps; try_from_sorted_triplets and CsrBuilder are the streaming alternatives for already ordered data. CsrBuilder::try_extend is non-transactional: entries preceding an error remain applied to the builder.

Canonical CSR matrices also provide transpose, try_add, structural, select_rows, row_nnz, column_nnz, try_row_sums, and try_column_sums. Direct products can enforce an output budget through SpGemmOptions. For domain-specific path algebras, implement Semiring<T> and call try_spgemm_semiring. Inputs can be losslessly converted to a wider checked output type with try_spgemm_checked_with_accumulator, such as i64 inputs accumulated into an i128 result.

Kernels continue to accept concrete dense or CSR types so representation dispatch happens outside performance-sensitive inner loops.

How automatic execution works

AutoSpGEMM:

  1. Counts candidate products F from row degrees in O(nnz(A)).
  2. Applies a structural amplification prefilter.
  3. Exactly multiplies a staged sample of evenly spaced rows of A.
  4. Estimates output nonzeros, active columns, output density, and rho.
  5. Predicts the moment-recovery row count at a likely useful schedule point.
  6. Chooses exact execution or moment-sketch recovery.
  7. Certifies a recovered candidate with residual fingerprints.
  8. Optionally falls back to exact multiplication if certification fails.

The default selector prefers sketching only when all of these conditions appear favorable:

estimated rho                 >= 256
estimated avg nnz/active col  <= 64
estimated output density      <= 10%
estimated moment rows / rows  <  80%

These are configurable engineering defaults, not theorem constants.

The exact branch is adaptive. Below exact_dense_cell_limit—16 million total A + B + C dense cells by default—it uses the adaptive rectangular kernel. Above that limit it remains in CSR and uses hash SpGEMM instead of forcing a large dense allocation.

Residual certification

SketchSpGEMM can test whether a reconstructed candidate D satisfies AB - D = 0 without knowing the exact K.

For each independent lane it selects random field weights r_i and s_j modulo the Mersenne prime 2^61 - 1 and computes:

phi(AB) = r^T A B s = (r^T A)(B s)
phi(D)  = sum_(i,j in supp(D)) r_i * D_ij * s_j

Verification requires phi(D) == phi(AB) in every lane in both the primary field and a second field modulo 2^64 - 59. The same nonzero weights are used in both fields. A conservative bound on each integer residual must be smaller than the product of the primes; otherwise verification returns false. This prevents nonzero residuals from disappearing modulo both primes before the random projection. Target setup is linear in the input nonzeros, and candidate checking is linear in nnz(D). Three independently seeded lanes are enabled by default.

This is a probabilistic residual certificate. Exact identity recovery and exact correction remain available when deterministic verification is required.

Relevant AutoSpGemmConfig fields:

residual_fingerprint: bool
fingerprint_lanes: usize
fingerprint_seed: u64     // 0 selects a runtime-derived seed

Recovery backends

  • moment — three-row-per-bucket algebraic moment peeling; the practical default.
  • signature — deterministic SplitMix bucket graph with binary index signatures.
  • guv — explicit Parvaresh–Vardy/GUV graph with a Bennett decoder.
  • identity — exact uncompressed recovery reference.

The moment backend stores:

S0 = sum x_i
S1 = sum (i + 1)x_i
S2 = sum (i + 1)^2 x_i

It combines peeling with exact remeasurement, support masking, and an observed-geometry scheduler. Once outer recovery identifies residual output columns, later multiplication can restrict work to that unresolved support.

Rectangular kernels

adaptive_matmul_prepared selects among:

dense-blocked
sparse-left
sparse-right
sparse-sparse

PreparedFactor caches sparse row views, row counts, and column counts so reused recovery factors do not pay repeated conversion costs. The one-shot adaptive_matmul API remains available for standalone and baseline use.

cargo bench --bench benchmark -- 'sparse-product/.*/sparse-output'

The benchmark uses fixed deterministic overlap and sparse-output workloads and checks every measured implementation against the exact CSR result before sampling. Run the complete suite with cargo bench --bench benchmark, or tune Criterion after --, for example with --measurement-time 5 --sample-size 50.

Criterion stores detailed reports under target/criterion/ when its plotting backend is available.

Public API

auto_spgemm(...)                   automatic exact/sketch selection
try_auto_spgemm(...)               fallible i64 automatic entry point
try_spgemm(...)                    scalar-aware automatic/direct dispatch
analyze_workload(...)              workload estimator
try_analyze_workload(...)          fallible generic workload estimator
nested_spgemm(...)                 theorem-oriented control flow
nested_spgemm_with_policy(...)     custom rectangular policy
nested_spgemm_with_options(...)    engineering controls
adaptive_matmul(...)               one-shot rectangular multiplication
adaptive_matmul_prepared(...)      cached-factor rectangular multiplication
spgemm_hash(...)                   direct CSR baseline
try_spgemm_hash(...)               fallible scalar-generic CSR baseline
try_spgemm_checked(...)            overflow-detecting exact CSR product
try_spgemm_hash_checked(...)       checked hash-accumulator kernel
try_spgemm_hash_checked_with_options(...) checked product with output budget
try_spgemm_hash_with_options(...)  direct product with output budget
try_spgemm_semiring(...)           configurable path algebra
try_spgemm_checked_with_accumulator(...) widened checked result
try_dense_matmul_checked(...)      checked dense product
CsrMatrix::try_from_triplets(...)  checked unsorted COO conversion
CsrBuilder                         checked streaming sorted COO conversion
CsrMatrix::transpose/try_add(...)  canonical graph transformations
CsrMatrix::try_row_sums/try_column_sums(...) checked reductions
CsrMatrix::select_rows(...)        checked row selection

Changelog

Release-to-release changes are maintained in changelog.md.

Limitations

  • Automatic sketch recovery and fingerprint APIs currently operate on exact signed 64-bit integers. Other scalar types use the direct kernels.
  • Automatic sketch execution follows ordinary i64 overflow semantics; callers requiring recoverable overflow must use the checked exact kernels.
  • Execution is CPU-only and currently single-process.
  • There are no CUDA, Metal, or distributed integrations.
  • The practical moment/fingerprint path is probabilistic rather than the deterministic theorem from the motivating paper. Verification checks two prime fields (2^61 - 1 and 2^64 - 59) and a conservative absolute residual bound to avoid systematic aliases of either modulus. Extremely large bounds cause certificate rejection and, when enabled, an exact fallback. fingerprint() and target() still expose the original primary-field values; use verifies() for certification.
  • Performance depends strongly on output geometry. Sparse inputs alone do not imply that sketch recovery will be beneficial.

Source layout

src/
├── auto.rs        workload sampling and exact/sketch selection
├── dispatch.rs    scalar-aware automatic/direct dispatch
├── error.rs       structured construction and arithmetic errors
├── fingerprint.rs bilinear residual certificate over two prime fields
├── guv.rs         explicit GUV finite-field construction
├── interop/       optional sprs and petgraph adapters
├── matrix.rs      scalar-generic CSR and dense matrix containers
├── ops.rs         CSR transformations, reductions, and checked addition
├── recovery.rs    recovery backends, masks, schedulers, and caches
├── rect.rs        adaptive rectangular kernels and prepared factors
├── sketch.rs      probes and the Graia q/p/t schedule
├── spgemm.rs      direct, checked, semiring, and output-budget kernels
├── synthetic.rs   synthetic sparse-output workloads
└── lib.rs         public library exports
benches/
├── benchmark.rs   Criterion product and sketch-kernel benchmarks
├── petgraph.rs    Criterion petgraph comparison
└── sprs.rs        Criterion sprs comparison
examples/
├── petgraph.rs    petgraph integration example
└── sprs.rs        sprs integration example

Project status

SketchSpGEMM is suitable for research, reproducible experiments, and evaluation of high-amplification sparse products. It should be benchmarked and validated on representative data before being embedded into a larger system.

Contributions are welcome, particularly around generic arithmetic, parallel kernels, additional datasets, property testing, and reproducible benchmarks.

License

Licensed under the MIT License.

Version updates

In GitHub Actions, run Bump version on main. Choose patch, minor, or major, or supply a greater stable MAJOR.MINOR.PATCH version. The workflow updates both Cargo manifests, Python metadata and module version, regenerates Cargo.lock with Cargo, and moves Unreleased notes into a dated release section. It tests the Rust workspace, creates a version PR, and explicitly dispatches Rust and Python CI on that branch. Review and merge the PR before creating a release tag. The workflow itself does not create tags or publish releases.

Repository Actions settings must allow GitHub Actions to create pull requests. An existing version branch or tag is rejected rather than overwritten.

Metadata

Release files for sketch-spgemm 0.12.0

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

Source distribution (sdist)

Source distribution for sketch-spgemm 0.12.0
File Size Uploaded
sketch_spgemm-0.12.0.tar.gz 107.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for sketch-spgemm 0.12.0
File
sketch_spgemm-0.12.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details
sketch_spgemm-0.12.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ ARM64 Details
sketch_spgemm-0.12.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details
sketch_spgemm-0.12.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64 Details
sketch_spgemm-0.12.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
sketch_spgemm-0.12.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
sketch_spgemm-0.12.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
sketch_spgemm-0.12.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
sketch_spgemm-0.12.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
sketch_spgemm-0.12.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
sketch_spgemm-0.12.0-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
sketch_spgemm-0.12.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
sketch_spgemm-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
sketch_spgemm-0.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
sketch_spgemm-0.12.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
sketch_spgemm-0.12.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
sketch_spgemm-0.12.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
sketch_spgemm-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
sketch_spgemm-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
sketch_spgemm-0.12.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
sketch_spgemm-0.12.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
sketch_spgemm-0.12.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
sketch_spgemm-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
sketch_spgemm-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
sketch_spgemm-0.12.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
sketch_spgemm-0.12.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
sketch_spgemm-0.12.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
sketch_spgemm-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
sketch_spgemm-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
sketch_spgemm-0.12.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
sketch_spgemm-0.12.0-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details
sketch_spgemm-0.12.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
sketch_spgemm-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
sketch_spgemm-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
sketch_spgemm-0.12.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
sketch_spgemm-0.12.0-cp39-cp39-macosx_10_12_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.12+ x86-64 Details

Total release size: 19.9 MB

Release files / sketch_spgemm-0.12.0.tar.gz

Download URL sketch_spgemm-0.12.0.tar.gz
Size 107.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d773e247db325f6e1ca413a9f3ddede293abf681e4e6874e5b06e1a97425e842
BLAKE2b-256 checksum
How to use checksums
f33253959d9e45e68d3dd1710c842d63dfe8f665297c9912d7de5d9dd7cf6966
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sketch_spgemm-0.12.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 598.2 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
9eae2dd9376c510ab5c2cdcafabca92db785628e1160b00ca901e8c35046aef2
BLAKE2b-256 checksum
How to use checksums
2f4bd51d5567cd15b8d019c0b50613800849616799f6dcfb8db078a16078faca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sketch_spgemm-0.12.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 571.5 kB
Tags Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
2abc0f4713ae30275e6a626d25b9cef851764a208a9c9d3003d14959d668ed29
BLAKE2b-256 checksum
How to use checksums
51364eb47332587a634c2343d79e7b61ae3b3a3c0d214fb8718cfed46a153c9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 589.8 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2cd14d97937b77d9833bb4d1ae2ffe32c3b8c2ff5ea8391668f6be15fcc92947
BLAKE2b-256 checksum
How to use checksums
c1a71188a8326a91f2b36388ebcbf48d71e4050bae6a7576e985bcb6768bfe0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 591.7 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1e3a475fcfe2432349b9b74b34baa776cc409f3148ac2f340418875071f5c2db
BLAKE2b-256 checksum
How to use checksums
fae76b531d540340e3640f5f3eaab1f583b5b1f9618fc7267ec3d8132aaa63dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 589.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1a88f58274445d163d4eda0b25ba58d3c6e10a3cdd2e49abdaeb79aedec0d295
BLAKE2b-256 checksum
How to use checksums
16de4809ac08a05a9ebd09baea416dd8cb5cee55d08d5a845244129092e2f074
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sketch_spgemm-0.12.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 562.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7d568b5c9d3dda20dbba89597a162ac757220c74787af3a22a8816652e12e0bd
BLAKE2b-256 checksum
How to use checksums
e2ea4b18c237f5113bb32bc9bf7381f4801eaae9ec0c6e368ecdea6686f311ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp314-cp314-win_amd64.whl

Download URL sketch_spgemm-0.12.0-cp314-cp314-win_amd64.whl
Size 461.2 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
60efe7b3e8844fc73a0b1e46948d99738f9dc9010d44d59e564fa4a7c9ae8dfa
BLAKE2b-256 checksum
How to use checksums
f6d83651f20363d0e103576c79126691a7af966ec755cdcebab5d882fd73df29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 591.7 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b6d258595d808ce9a62f8bb960d7a72d331840fd4f0c6079e5e10e9f7684401a
BLAKE2b-256 checksum
How to use checksums
2bd9590088f0d0f267b8ac4ce8a5f12517e5aa34ce835fa278f04e2b2727d6e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sketch_spgemm-0.12.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 564.9 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
baac2f90f2f42b822f1df3c49ff314a01c2ad958ceeb2abd678d1b63383ec2d8
BLAKE2b-256 checksum
How to use checksums
024d055c8762cde3c252f8729c920d784d8c9504934d49ac0fda5d8b45b02f6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL sketch_spgemm-0.12.0-cp314-cp314-macosx_11_0_arm64.whl
Size 523.7 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
76b3436971d88a20dd5f2f558fe2aaa25c920821a49a0e5371c13cbcd3e0ae8e
BLAKE2b-256 checksum
How to use checksums
3601e5470011bd7c4c0f02e87e90a6e9074ba1abec82a425f509a05f0087f23d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp314-cp314-macosx_10_12_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp314-cp314-macosx_10_12_x86_64.whl
Size 562.5 kB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
ad36e92473ee11db1e577b75076015da0d4aab2b33d068431f7de3922bc21132
BLAKE2b-256 checksum
How to use checksums
03af6d6697ae21a080a5d5deb47d2e7fefe26ea17e43a2f0becd9a8f743123b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp313-cp313-win_amd64.whl

Download URL sketch_spgemm-0.12.0-cp313-cp313-win_amd64.whl
Size 461.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
fcf466a71952cf3f3809e004b9cdd83b3b106388673e7f9008849fa4ee48efd4
BLAKE2b-256 checksum
How to use checksums
2411920ef71d461f46dd4ff4ac664ffd24dd39dd3d859b595642e96445d0ce2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 591.4 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f8348237a407bb8af70d070ab25735e9ba0f8a210b72f5a7d9306579038df616
BLAKE2b-256 checksum
How to use checksums
a6354def62270ab217ef9c9f48ac8d23b23e03c73d0c210fc74dd5c383911f1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sketch_spgemm-0.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 564.8 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
15b368f224e063d6ded3011f2a9c1dbe7761bedbc50d5ad7d62101d4a3513dbe
BLAKE2b-256 checksum
How to use checksums
618b90cfbe938bb5d776649052c9b6e366dfa6ad3d517afdb72fbb7f9c95458f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL sketch_spgemm-0.12.0-cp313-cp313-macosx_11_0_arm64.whl
Size 524.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3c43dee5d8245b88aacd1dc32943889fb36a78b4f17658da6801b041fd3fa4e3
BLAKE2b-256 checksum
How to use checksums
27f6dfa381f64dc287d79bf6a6b4c55a1afaeb233f94065f9b2542616b3f6e92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 562.2 kB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
89dca284b5e744dc88504942a680090102b0f37f7088eca9030a7a1fb87372bd
BLAKE2b-256 checksum
How to use checksums
081e7bda75dea9f2ea18c2f5715b30fcdf82fbdc956b38285d6cb553d1bd1114
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp312-cp312-win_amd64.whl

Download URL sketch_spgemm-0.12.0-cp312-cp312-win_amd64.whl
Size 461.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
b7df619c88543b5f1c93bca5f1f3ddd51a8c9121e16af85ce75a124ad6abb75a
BLAKE2b-256 checksum
How to use checksums
85b045f9921bcb8bba1d82d4483b6440688e57655488feadabd1e96c77ac124c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 591.9 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5040eb1034060ca105477a24cfd97f213ee1361376bad61afbef5014e87f2197
BLAKE2b-256 checksum
How to use checksums
cc8478f0fbd77ddda3f5c4ef1562e187842ceaa0285f827fdc4281d46646015f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sketch_spgemm-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 565.1 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
f65581fca8bf5c9f707949b9ccc7128a48b9be71d64e33143acd8b58d567d5ba
BLAKE2b-256 checksum
How to use checksums
f6fa5a5702916ae2c039146eb0da992b6be32550389b88fcd485887e62d1a5d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL sketch_spgemm-0.12.0-cp312-cp312-macosx_11_0_arm64.whl
Size 524.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f4731aa237ce1a0950f7baa813bb05679341fe689a610e4d85806a63a7ebdd7d
BLAKE2b-256 checksum
How to use checksums
65cad15aa3f8d54c38daeb298820f22f59765d1a105f45a8f345dd4858c64ee5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 562.4 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
b28c8a961a9af7f46f49b0ee33f79d1ef6dbd72fba27b7ad7713cc8f0d512d4a
BLAKE2b-256 checksum
How to use checksums
95aadcc8610478983aaf98165bb4325f3107999e47e1751362576b1e5d4f6fa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp311-cp311-win_amd64.whl

Download URL sketch_spgemm-0.12.0-cp311-cp311-win_amd64.whl
Size 465.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
6ae72c3345dde5615ac68f756115b43d467ac53aee6244bd5d9733a3e2e83e58
BLAKE2b-256 checksum
How to use checksums
5f7a0771209605a9c58f14251a299b08a5d9d714ca4fbbecc7d8885179ba514d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 593.2 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4c92cd256f58e4c9acbd63520206363c89dafba98de4fbcf721f41ff4de39bae
BLAKE2b-256 checksum
How to use checksums
4ca7336ac9fd8f0ec29672efcd56e7275d527ea62fc39d2a5897b49cc8ded6ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sketch_spgemm-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 568.2 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
3c6a0fc5cc58427dbb3d86978cfe48c3128098513fd2cddd2e749492223c8ff1
BLAKE2b-256 checksum
How to use checksums
ffe949a5e723a355d5f3b02547cda5227f8a8bf3d410244df6ed7fe94a6dcb31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL sketch_spgemm-0.12.0-cp311-cp311-macosx_11_0_arm64.whl
Size 531.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5459ac03cdaf405cdfc63fc56cf4f358c9ff10225675c6a7e254d9fe29559260
BLAKE2b-256 checksum
How to use checksums
91d6e55731118c109d274d9da1ac70a2424255d69a0eef2a35091de74a07d022
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 558.3 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
9c41fbb4c20c5dd2d13aecd140bd03ed6f64362bbd16243695b6a7bcab3100eb
BLAKE2b-256 checksum
How to use checksums
d749c7d38d600892ce4265f9c1ea60957ab8c3407e36bae03b687c26b6a2f25c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp310-cp310-win_amd64.whl

Download URL sketch_spgemm-0.12.0-cp310-cp310-win_amd64.whl
Size 465.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e9e222717257b3f3cb29ad60c35e71bcb104840ebcb1c00ca8d269ee53880f4b
BLAKE2b-256 checksum
How to use checksums
3688140f2f5acd1dd414282e823c9cc515755e99b0c01d3823f2db602fe1fbcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 593.6 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
15fb7c93c0fd3f92e0caeaf8872fde2a1ff156b3a35133fa021c0cabdbbd3612
BLAKE2b-256 checksum
How to use checksums
4c41b28d0dedad9073cec55b5e548dbd21888958cbdeecb33951efc540ae73a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sketch_spgemm-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 568.3 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
d3aa315febd1b6325a1deaf4ceb02956ed828192a5ab135d6b2731f5b6f1707b
BLAKE2b-256 checksum
How to use checksums
6076682c45dfef6258ee6345c39ff738a5a0cb7ebfb5064ef737036681e42473
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL sketch_spgemm-0.12.0-cp310-cp310-macosx_11_0_arm64.whl
Size 531.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c98b13324210dfebd81e1c34629b70421ab2513c010b94caa5a8da32f48c99df
BLAKE2b-256 checksum
How to use checksums
5bff830a0acb4b345dfe98ce8fc26b515eb7f60a554d994d866337de829f49e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp310-cp310-macosx_10_12_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp310-cp310-macosx_10_12_x86_64.whl
Size 558.6 kB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
3022276fb65968e58a9df97c04731395e7e4d57bdae7cb66d52ae44dbaf2824f
BLAKE2b-256 checksum
How to use checksums
9283f05c0bb61f8d2974aad61c4388d9f6430bbe26dbacbd3850024b2978bc4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp39-cp39-win_amd64.whl

Download URL sketch_spgemm-0.12.0-cp39-cp39-win_amd64.whl
Size 468.3 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
53ae31c1d003f48a9c2ab3468d1a924255a66cf975ae3b2364adfc9934b623ed
BLAKE2b-256 checksum
How to use checksums
487477a85f174d05aa8501639f63b6e1e188dbba882d81c83bb9a3d8a271d44e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 597.1 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e6064a1c8880d77c8417ec3807cdd622c579e757c2df540e08b31e5994ef1c64
BLAKE2b-256 checksum
How to use checksums
7e38bdb1fb7944700da7add8ff3e8a5d02954841c699e95cfc29ee56fa2c8f30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sketch_spgemm-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 570.8 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
503440221d1b289d322f13f4cefd5f55b3fddebb23f4dc377972ebe2aa64d39f
BLAKE2b-256 checksum
How to use checksums
3ed913b3d20f64071de047e766a8c7f392515dd12abb836fffddf55387864702
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL sketch_spgemm-0.12.0-cp39-cp39-macosx_11_0_arm64.whl
Size 533.4 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7d255009f01ac6bfc802b9b33c248133816c5000fb2f8812ed2d197dd33a0118
BLAKE2b-256 checksum
How to use checksums
d3f1b95bab93f9fc5ccbf2a3391002528e30b044a034c5022435e0390a3bd10d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release files / sketch_spgemm-0.12.0-cp39-cp39-macosx_10_12_x86_64.whl

Download URL sketch_spgemm-0.12.0-cp39-cp39-macosx_10_12_x86_64.whl
Size 560.6 kB
Tags CPython 3.9 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
b83d970b03ec113ab3a98303ae04505c484d296356cc533fe1f94dca1351c984
BLAKE2b-256 checksum
How to use checksums
0531d3755d9cae5adfceb3f83b20b49a71019df2758da462dc64467519b4271b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.12.0 This release

37 release files

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