Skip to main content

CubicalRipser: Persistent Homology for 1D Time Series, 2D Images, and 3D/4D Volumes

Authors: Takeki Sudo, Kazushi Ahara (Meiji University), Shizuo Kaji (Kyoto University)

CubicalRipser is an adaptation of Ripser by Ulrich Bauer, specialized in fast computation of persistent homology for cubical complexes.

Overview

Key Features

  • Support cubical complexes up to 4D
  • High performance for 3D
  • C++ command-line binaries and Python modules
  • PyTorch integration for differentiable workflows
  • Utility helpers for loading, plotting, and vectorization
  • Filtrations with both V- and T-constructions
  • Binary coefficients (field F2)
  • Optional creator/destroyer locations in outputs

Citation

If you use this software in research, please cite:

@misc{2005.12692,
  author = {Shizuo Kaji and Takeki Sudo and Kazushi Ahara},
  title = {Cubical Ripser: Software for computing persistent homology of image and volume data},
  year = {2020},
  eprint = {arXiv:2005.12692}
}

Contents

Getting Started

Try Online

Quickstart (Python)

pip install -U cripser
import numpy as np
import cripser

arr = np.load("sample/2d_hole.npy")
ph = cripser.compute_ph(arr, filtration="V", maxdim=2)
print(ph[:5])

Quickstart (CLI)

Build binaries first (see Installation), then:

./build/cubicalripser --maxdim 2 --output out.csv sample/3dimsample.txt
./build/tcubicalripser --maxdim 2 --output out_t.csv sample/3dimsample.txt

Installation

pip install -U cripser

If wheel compatibility is an issue on your platform:

pip uninstall -y cripser
pip install --no-binary cripser cripser

Building from source

Requirements:

  • Python >= 3.9 (Python 3.8 is no longer supported)
  • CMake >= 3.21
  • C++17+ compiler (GCC, Clang, MSVC; src/Makefile defaults to C++20)
  • nanobind (installed automatically as a build dependency via pyproject.toml)

Clone the repository:

git clone https://github.com/shizuo-kaji/CubicalRipser.git
cd CubicalRipser

Build CLI binaries:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j

Outputs:

  • build/cubicalripser (V-construction)
  • build/tcubicalripser (T-construction)

Install the Python package from source:

pip install .

Legacy alternative (from src/):

cd src
make all

Python Usage

CubicalRipser works on 1D/2D/3D/4D NumPy arrays (dtype convertible to float64).

Core APIs

  • cripser.computePH(...): low-level binding
  • cripser.compute_ph(...): convenience wrapper (converts essential deaths to np.inf)

Both support:

  • filtration="V" or filtration="T"
  • maxdim, top_dim, embedded, location
  • n_threads (see Parallelism)

Input limits

  • Arrays must be 1D-4D with no zero-length axis.
  • For 3D/4D inputs, and for 2D inputs using top_dim=True or representatives=True, each axis must be at most 32760 — cell coordinates are packed into 15 bits internally. Longer axes raise ValueError. Plain 1D/2D computations use a wider encoding and have no such limit.

Example (V-construction):

import numpy as np
import cripser

arr = np.load("sample/4d_hole.npy")
ph = cripser.compute_ph(arr, filtration="V", maxdim=3)

Output format

For 1D-3D input, each row is typically:

dim, birth, death, x1, y1, z1, x2, y2, z2

For 4D input:

dim, birth, death, x1, y1, z1, w1, x2, y2, z2, w2

See Creator and Destroyer Cells for interpretation of coordinates.

Notes:

  • computePH(...) and CLI may represent essential deaths as DBL_MAX.
  • compute_ph(...) converts essential deaths to np.inf.

Parallelism

The Python binding releases the GIL for the whole computation, so several images can be processed concurrently with plain threads:

from concurrent.futures import ThreadPoolExecutor
import cripser

with ThreadPoolExecutor(8) as pool:
    results = list(pool.map(lambda a: cripser.compute_ph(a, maxdim=2), volumes))

Within a single computation, n_threads parallelises the grid scans and sorts:

  • n_threads=1 (default) — sequential.
  • n_threads=0 — auto (hardware concurrency, or CRIPSER_NUM_THREADS).
  • n_threads=k — at most k workers.

GUDHI conversion helpers

dgms = cripser.to_gudhi_diagrams(ph)
persistence = cripser.to_gudhi_persistence(ph)

GUDHI plotting example:

import gudhi as gd
gd.plot_persistence_diagram(diagrams=dgms)

Differentiable PyTorch wrapper

import torch
import cripser

x = torch.rand(32, 32, requires_grad=True)
ph = cripser.compute_ph_torch(x, maxdim=1, filtration="V")
loss = cripser.finite_lifetimes(ph, dim=0).sum()
loss.backward()

The gradient is propagated through birth/death values to creator/destroyer voxel locations. Pairing changes are discrete, so the gradient is piecewise-defined.

Additional utilities

  • plotting: cripser.plot_diagrams(...) (requires matplotlib)
  • vectorization: cripser.persistence_image(...), cripser.create_PH_histogram_volume(...)
  • OT distance: cripser.wasserstein_distance(...) (requires torch and POT/ot)

Helper Python script (demo/cr.py)

A convenience wrapper for quick experiments without writing Python code.

Typical capabilities:

  • Accepts a single file (.npy, image, DICOM, etc.) or a directory of slices
  • Builds 1D-4D arrays from files
  • Chooses V- or T-construction
  • Computes PH up to a chosen max dimension
  • Writes CSV or .npy outputs
  • Optional sorting for DICOM/sequence inputs

Help:

python demo/cr.py -h

Examples:

# single NumPy array
python demo/cr.py sample/2d_hole.npy -o ph.csv

# increase max dimension, use T-construction
python demo/cr.py sample/bonsai128.npy -o ph.csv --maxdim 3 --filtration T

# directory of DICOM files (sorted)
python demo/cr.py dicom/ --sort -it dcm -o ph.csv

# directory of PNG slices
python demo/cr.py slices/ -it png -o ph.csv

# save PH as NumPy for reuse
python demo/cr.py sample/bonsai128.npy -o ph.npy

# invert intensity sign
python demo/cr.py sample/bonsai128.npy -o ph.csv --negative

Selected options (see -h for full list):

  • --maxdim k
  • --filtration V|T
  • --sort
  • -it EXT
  • -o FILE
  • --embedded
  • --negative
  • --transform ..., --threshold ..., --threshold_upper_limit ...

Command-Line Usage

Basic examples

Perseus-style text input:

./build/cubicalripser --print --maxdim 2 --output out.csv sample/3dimsample.txt

NumPy input (1D-4D):

./build/cubicalripser --maxdim 3 --output result.csv sample/bonsai128.npy

T-construction:

./build/tcubicalripser --maxdim 3 --output volume_ph.csv sample/bonsai128.npy

Common options (cubicalripser --help)

  • --maxdim, -m <k>: compute up to dimension k (default 3)
  • --threshold, -t <value>: threshold for births
  • --print, -p: print pairs to stdout
  • --embedded, -e: Alexander dual interpretation
  • --top_dim: top-dimensional computation using Alexander duality
  • --location, -l yes|none: include or omit creator/destroyer coordinates
  • --algorithm, -a link_find|compute_pairs: 0-dimensional PH method
  • --cache_size, -c <n>: cache limit
  • --min_recursion_to_cache, -mc <n>: recursion threshold for caching
  • --threads <n>: worker threads for grid scans and sorts (1 = sequential, default; 0 = auto). Output is identical either way.
  • --output, -o <FILE>: write .csv, .npy, or DIPHA-style persistence binary
  • --verbose, -v

Notes:

  • CLI does not use --filtration; V/T are separate binaries.
  • Use --output none to suppress output file creation.

Input Formats

Supported input formats (CLI)

Image-to-array conversion (demo/img2npy.py)

A helper utility converts images/volumes between multiple formats.

# image -> .npy
python demo/img2npy.py image.jpg output.npy

# image series glob -> volume .npy (shell expansion)
python demo/img2npy.py input*.jpg volume.npy

# explicit files -> volume .npy
python demo/img2npy.py input00.dcm input01.dcm input02.dcm volume.npy

DICOM volume conversion:

python demo/img2npy.py dicom/*.dcm output.npy

Direct DICOM PH computation:

python demo/cr.py dicom/ --sort -it dcm -o output.csv

DIPHA conversions:

# NumPy -> DIPHA complex
python demo/img2npy.py img.npy img.complex

# DIPHA complex -> NumPy
python demo/img2npy.py img.complex img.npy

# DIPHA persistence output (.output/.diagram) -> NumPy
python demo/img2npy.py result.output result.npy

1D time series

A scalar time series can be treated as a 1D image, so CubicalRipser can compute its persistent homology.

For this special case, other software may be more efficient.

A related frequency-regression example is demonstrated in the TutorialTopologicalDataAnalysis repository.

V and T Constructions

  • V-construction: pixels/voxels represent 0-cells (4-neighborhood in 2D)
  • T-construction: pixels/voxels represent top-cells (8-neighborhood in 2D)

Use:

  • Python: filtration="V" or filtration="T"
  • CLI: cubicalripser (V), tcubicalripser (T)

By Alexander duality, the following are closely related:

./build/cubicalripser input.npy
./build/tcubicalripser --embedded input.npy

The difference is in the sign of filtration and treatment of permanent cycles. Here, --embedded converts input I to -I^infty in the paper's notation.

For details, see Duality in Persistent Homology of Images by Adelie Garin et al.

Creator and Destroyer Cells

The creator of a cycle is the cell that gives birth to the cycle. For example, in 0-dimensional homology, the voxel with lower filtration in a component creates that class, and a connecting voxel can destroy the class with higher birth time.

Creator and destroyer cells are not unique, but they are useful for localizing cycles.

For finite lifetime in the default convention:

arr[x2,y2,z2] - arr[x1,y1,z1] = death - birth = lifetime

where (x1,y1,z1) is creator and (x2,y2,z2) is destroyer.

With --embedded, creator and destroyer roles are swapped:

arr[x1,y1,z1] - arr[x2,y2,z2] = death - birth = lifetime

Thanks to Nicholas Byrne for suggesting this convention and providing test code.

Representative Homology Cycles

The Python APIs can optionally return a representative homology cycle for every persistence interval. This uses direct boundary reduction over F2, so it is intended for inspection and visualization rather than high-throughput PH calculation.

pairs, cycles = cripser.compute_ph(image, maxdim=1, representatives=True)

# cycles[i] is the cycle for persistence row pairs[i].
# Each cell is [x, y, z, cell_type] (or [x, y, z, w, cell_type] in 4D).

All listed cells have coefficient one in F2. cell_type identifies the cell orientation; for example, planar 1-cycles use 0 for x-edges and 1 for y-edges. Convert an individual chain to an array with np.asarray(cycles[i], dtype=np.uint32) if convenient.

Use plot_cycle for a single planar H₁ representative, or plot_cycles for several representatives. Passing the original 2-D image draws the cycles in the same (x, y) coordinates over the image; use overlay=False to omit the background.

ax = cripser.plot_cycles(
    [cycles[i] for i in selected_indices],
    image=image,
    labels=["H₁ #1", "H₁ #2"],
)

For an example with two figure-eight peaks, see the representative-cycles section of the main tutorial.

The option is disabled by default. In that mode CubicalRipser keeps using its existing optimized cohomology/coboundary reduction without allocating or tracking representative chains. It cannot be combined with top_dim=True, which uses a separate Alexander-duality shortcut.

Vectorization

import numpy as np
import cripser

arr = np.load("sample/2d_hole.npy")
ph = cripser.compute_ph(arr, maxdim=1)

# Persistence image (channels = selected homology dimensions)
pi = cripser.persistence_image(
    ph,
    homology_dims=(0, 1),
    n_birth_bins=32,
    n_life_bins=32,
)

# PH histogram volume (channels encode dim x life-bin x birth-bin)
hist = cripser.create_PH_histogram_volume(
    ph,
    image_shape=arr.shape,
    homology_dims=(0, 1),
    n_birth_bins=4,
    n_life_bins=4,
)

Other Software for Cubical Complex PH

The following notes are based on our limited understanding and tests and may be incomplete.

  • Cubicle by Hubert Wagner

    • T-construction
    • slices the volume, simplifies each slice in parallel with discrete Morse theory, then reduces a single global boundary matrix
    • streams slices through external memory, so volumes larger than RAM can be processed
    • the choice for very large volumes, and whenever memory is the binding constraint
    • input is a raw binary file, 8-bit by default (other element types need a recompile)
  • HomcCube by Ippei Obayashi

    • V-construction
    • integrated into HomCloud, which provides a full TDA workflow around it
  • DIPHA by Ulrich Bauer and Michael Kerber

    • V-construction
    • MPI-parallelized; the choice when a compute cluster is available
  • GUDHI (INRIA)

    • V- and T-construction in arbitrary dimensions
    • extensive documentation, and a broad TDA library beyond cubical complexes
    • the choice for dimensions above 4, or when the surrounding toolkit is useful
  • diamorse

    • V-construction
  • Perseus by Vidit Nanda

    • V-construction

Release Notes

  • v0.0.36:
    • The Python binding now releases the GIL during the computation, so ThreadPoolExecutor over many images scales across cores.
    • New n_threads argument (--threads on the CLI) for intra-computation threading.
    • Fix: 3D/4D inputs with an axis longer than 32767 segfaulted. Such shapes now raise ValueError.
    • Fix: a single-voxel 3D/4D input reported birth = DBL_MAX instead of the voxel value.
  • v0.0.35: Added support for computation of cycle representatives (homology cycles) for each persistence interval.
  • v0.0.34: Switched the Python binding layer from pybind11 to nanobind so a single cp312-abi3 wheel covers Python 3.12+. Python 3.8 is dropped (nanobind requires ≥ 3.9).
  • v0.0.31: Changed module structure (hopefully, backward compatible)
  • v0.0.30: Improved cache resulting in large speedup
  • v0.0.24: Repository renamed from CubicalRipser_3dim to CubicalRipser.
    • update old remote if needed:
      git remote set-url origin https://github.com/shizuo-kaji/CubicalRipser.git
      
  • v0.0.23: Added torch integration
  • v0.0.22: Changed birth coordinates for T-construction to better match GUDHI for permanent cycles
  • v0.0.19: Added support for 4D cubical complexes
  • v0.0.15: Added support for Fortran-indexed numpy arrays (F_CONTIGUOUS arrays): Up to v0.0.14, C_CONTIGUOUS was assumed, which caused incorrect results for Fortran-indexed arrays.
  • v0.0.8: Fixed memory leak in Python bindings (pointed out by Nicholas Byrne)
  • v0.0.7: Speed improvements
  • v0.0.6: Changed birth/death location definition
  • up to v0.0.5, differences from the original version:
    • optimized implementation (lower memory footprint and faster on some data)
    • improved Python usability
    • much larger practical input sizes
    • cache control
    • Alexander duality option for highest-degree PH
    • both V and T constructions
    • birth/death location output

License

Distributed under GNU Lesser General Public License v3.0 or later. See LICENSE.

Metadata

Release files for cripser 0.0.36

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

Source distribution (sdist)

Source distribution for cripser 0.0.36
File Size Uploaded
cripser-0.0.36.tar.gz 137.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for cripser 0.0.36
File
cripser-0.0.36-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
cripser-0.0.36-cp312-abi3-musllinux_1_2_x86_64.whl CPython 3.12 abi3 Linux musl 1.2+ x86-64 Details
cripser-0.0.36-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
cripser-0.0.36-cp312-abi3-macosx_11_0_x86_64.whl CPython 3.12 abi3 macOS 11.0+ x86-64 Details
cripser-0.0.36-cp312-abi3-macosx_11_0_universal2.whl CPython 3.12 abi3 macOS 11.0+ universal2 (ARM64, x86-64) Details
cripser-0.0.36-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details
cripser-0.0.36-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
cripser-0.0.36-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
cripser-0.0.36-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
cripser-0.0.36-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
cripser-0.0.36-cp311-cp311-macosx_11_0_universal2.whl CPython 3.11 CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64) Details
cripser-0.0.36-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
cripser-0.0.36-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
cripser-0.0.36-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
cripser-0.0.36-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
cripser-0.0.36-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
cripser-0.0.36-cp310-cp310-macosx_11_0_universal2.whl CPython 3.10 CPython 3.10 macOS 11.0+ universal2 (ARM64, x86-64) Details
cripser-0.0.36-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
cripser-0.0.36-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
cripser-0.0.36-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
cripser-0.0.36-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
cripser-0.0.36-cp39-cp39-macosx_11_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 11.0+ x86-64 Details
cripser-0.0.36-cp39-cp39-macosx_11_0_universal2.whl CPython 3.9 CPython 3.9 macOS 11.0+ universal2 (ARM64, x86-64) Details
cripser-0.0.36-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 12.9 MB

Release files / cripser-0.0.36.tar.gz

Download URL cripser-0.0.36.tar.gz
Size 137.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7e2c60dcf1246e20eac26d1e7688bf136d82ef34977d5a707d07e7a95c88c05c
BLAKE2b-256 checksum
How to use checksums
fbb7c64dc1ced9354a47d68a320669968f4e94e3a9275ac939da393dc8a26f32
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp312-abi3-win_amd64.whl

Download URL cripser-0.0.36-cp312-abi3-win_amd64.whl
Size 332.8 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
8836a537c3c6fa8ac98d4be607b3a5ce9d572623b82dcc86fcb0f2856867c207
BLAKE2b-256 checksum
How to use checksums
0e6f26778d75f0b91e55a5a8d36ec80083cbc2b6ec3e537fcf0e7ffda1cd6d2e
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL cripser-0.0.36-cp312-abi3-musllinux_1_2_x86_64.whl
Size 1.3 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
bd4aff562921fc48a32fe3cbcfe5dfbb2747a8aac4b6d41904f27a5de3a6b30e
BLAKE2b-256 checksum
How to use checksums
5ab855f193f3422a699e6715c0d42f363e21e41b30971f514e5b0dabf8d500c4
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cripser-0.0.36-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 428.5 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
7e10594cede014473f2c9c5c8ccaad07d63859e84a66ae0fba3895b7fc9a6d91
BLAKE2b-256 checksum
How to use checksums
f57f2709ed7962fe3a6174adc569cd846cbd4481e3f8a37304b15369c000fc07
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp312-abi3-macosx_11_0_x86_64.whl

Download URL cripser-0.0.36-cp312-abi3-macosx_11_0_x86_64.whl
Size 317.4 kB
Tags CPython 3.12 abi3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
41289e5ad83f0d3f66811dc69f5e146a77e60b01e6c359e500c645cab2740a14
BLAKE2b-256 checksum
How to use checksums
5097b3eb05768b1274e6aa34a580f56cab1c1623705f8f60c80457ba23a68689
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp312-abi3-macosx_11_0_universal2.whl

Download URL cripser-0.0.36-cp312-abi3-macosx_11_0_universal2.whl
Size 531.5 kB
Tags CPython 3.12 abi3 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
a343112a322d07db08358a1b5c70032c14fb190145480195c258de926c202ad6
BLAKE2b-256 checksum
How to use checksums
6441c23c322d930e2cd85d1375e1cd86839905957b8e457e48fbcde215a5affc
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp312-abi3-macosx_11_0_arm64.whl

Download URL cripser-0.0.36-cp312-abi3-macosx_11_0_arm64.whl
Size 275.1 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ac7865104d50a47b5070f7056f5ad4d22404f255c75a297d56ecb785c40821ba
BLAKE2b-256 checksum
How to use checksums
0cddc231c90bf9488a720fc5ec17b4293010238000c6f35adcfd7b8eb1a21804
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp311-cp311-win_amd64.whl

Download URL cripser-0.0.36-cp311-cp311-win_amd64.whl
Size 333.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
6ad59091b69707057e856176c5742b0e396ce7487165a7cef52157ef74563da6
BLAKE2b-256 checksum
How to use checksums
cde7c4927e0721e0e880d5c4e4dbcfe6c26787e3208f034885871f0088cd0144
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL cripser-0.0.36-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.3 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f1056ec75f5e7195ce7b611e72f5c1ec34aca477915af0be1ed1be542427ca6b
BLAKE2b-256 checksum
How to use checksums
1c21d5493f3bdd0cb96ae711a44ef9c9ccebba5e807a3b5e09a74368131e5155
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cripser-0.0.36-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 436.6 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6f4f3c2a7b40bf5eb73ac4fd7134bf589ed6e80f13d39f73182db5b09db460a0
BLAKE2b-256 checksum
How to use checksums
e8ac04c8c12fe8ff5630edbd5b2e46e97977a3ea2fa3e62f1d9235f00cfc155a
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp311-cp311-macosx_11_0_x86_64.whl

Download URL cripser-0.0.36-cp311-cp311-macosx_11_0_x86_64.whl
Size 320.8 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
8bdeccaba22d4b131c308eb2892b4254d43c892fc5aae3ec97e8aaf2b2078990
BLAKE2b-256 checksum
How to use checksums
35232fa1f552bff91747f6cb016c66cc031e2cafd1290f4106157ed26992e089
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp311-cp311-macosx_11_0_universal2.whl

Download URL cripser-0.0.36-cp311-cp311-macosx_11_0_universal2.whl
Size 539.0 kB
Tags CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
df95a9dfbd04298c62fa5bf3ffb61eefa33fcfb9e9b23bbc822ffe471281bf9c
BLAKE2b-256 checksum
How to use checksums
4a1c6b625056b95a04993350a57e3062ca150ceb55e6573c1995f80e14f8a940
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp311-cp311-macosx_11_0_arm64.whl

Download URL cripser-0.0.36-cp311-cp311-macosx_11_0_arm64.whl
Size 279.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a04a02f4cbbcee34e84a304bf94964ad0716eeabacaddceb6de6910305a4a953
BLAKE2b-256 checksum
How to use checksums
4d0cd59cc1812b81483ce2efe6e32bf75b4810fa93fff9a976b8969e8496f64c
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp310-cp310-win_amd64.whl

Download URL cripser-0.0.36-cp310-cp310-win_amd64.whl
Size 333.1 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
253587a850fd44c28fbe896763156389bf482411984a094f5d50e6a86d01d797
BLAKE2b-256 checksum
How to use checksums
e7237df28c0ea6c51d40405d9d7b1f5b5da474d443c963afbbbff7bc5c5c2aea
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL cripser-0.0.36-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
1cee7bea00a47a9696a0dc0f0c0d90d8f5593126c3c99325a0a9463d5ba8ce70
BLAKE2b-256 checksum
How to use checksums
b005ee050968b3fa59998a99238c15dfe79310736113216332f14bf10697f215
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cripser-0.0.36-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 437.5 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4265abf98bf2e7db6ac073ce1bef82af1fcca60d728f3679e67cfa3c413fdf01
BLAKE2b-256 checksum
How to use checksums
405b6c4ef1748e29075a7022caa8b3eef724dce05534377c34c2a258810df268
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp310-cp310-macosx_11_0_x86_64.whl

Download URL cripser-0.0.36-cp310-cp310-macosx_11_0_x86_64.whl
Size 321.5 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
19ace6c47155ce00d55f679ee99f40d3e3cf70b81294c47e602eecef72409662
BLAKE2b-256 checksum
How to use checksums
b493aadfba1e7a489c94f6cf750fe67f55e4df47c978e3d47858a07347c81227
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp310-cp310-macosx_11_0_universal2.whl

Download URL cripser-0.0.36-cp310-cp310-macosx_11_0_universal2.whl
Size 540.3 kB
Tags CPython 3.10 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
00811ea1a4f4ea469409aade75b733f9a0f7dc73b95616eebf8a4c0447b27c7f
BLAKE2b-256 checksum
How to use checksums
b1a046c749fbbf266998ca3bcc36385f41d2faede2e413efead9d2a18a43918b
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp310-cp310-macosx_11_0_arm64.whl

Download URL cripser-0.0.36-cp310-cp310-macosx_11_0_arm64.whl
Size 279.8 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
18d22db2a04b00a1f9c5d98da83e092a0f5f449837ed31ae163c93591ff32f5f
BLAKE2b-256 checksum
How to use checksums
59bc1deff9f8b60fdeaf37dfd728080ed04657c1f5cb32d26db4da310726bf77
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp39-cp39-win_amd64.whl

Download URL cripser-0.0.36-cp39-cp39-win_amd64.whl
Size 281.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
f972839b30656937bfe0abe931673ab9fa321e731f0724e7c83070ea8443b126
BLAKE2b-256 checksum
How to use checksums
8431d4ac4d676a97baf914cab5bb8d04530b73a50b164427dccd8b3f3989e0ae
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL cripser-0.0.36-cp39-cp39-musllinux_1_2_x86_64.whl
Size 1.3 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2c46b7d594b2f1c4ca76e87f4d51e07bc9ab3ec3697c4b736544bd3774bee387
BLAKE2b-256 checksum
How to use checksums
928bc15ece34a3f9af32c3b308ba01013e6b58928497346e898fee814cabf9da
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL cripser-0.0.36-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 428.4 kB
Tags CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f78569e9d064152defc1f59996353dcfe96afab84873eb7a4f3e1590766fb2ba
BLAKE2b-256 checksum
How to use checksums
e0f158c4658446b6e9dd6f275cc88eb7d890172895ceae3b81d04aad4469c45e
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp39-cp39-macosx_11_0_x86_64.whl

Download URL cripser-0.0.36-cp39-cp39-macosx_11_0_x86_64.whl
Size 303.5 kB
Tags CPython 3.9 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
87c7238dce788578574e97b53f2b15c3b6f6f853d6dd9a19285bfb38966ab160
BLAKE2b-256 checksum
How to use checksums
4f9550b48d1f70935e8f0c64f3ee775edefe5f252519536664c6eed338f86166
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp39-cp39-macosx_11_0_universal2.whl

Download URL cripser-0.0.36-cp39-cp39-macosx_11_0_universal2.whl
Size 514.5 kB
Tags CPython 3.9 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
dee6541b70d2952c41a750082a7a215ac8ca0af50d9cb754c7cf2a4a0abd119f
BLAKE2b-256 checksum
How to use checksums
6321391f8ead8e4a57866c4ae2c0ef28d145add660ef7225502534d4b2a49db3
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 Sep 11, 2026.

Transparency log

Release files / cripser-0.0.36-cp39-cp39-macosx_11_0_arm64.whl

Download URL cripser-0.0.36-cp39-cp39-macosx_11_0_arm64.whl
Size 272.4 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8f19318bb7f2005408c3ab1308238bdecb6f7cc76cac349e5032bc460ad01bf8
BLAKE2b-256 checksum
How to use checksums
854cbc9daf4a16943609d2c2c8881d29739b557380cbb0ef101144f3ae463c0b
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 Sep 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.36 This release

25 release files

0.0.12

5 release files

0.0.11

5 release files

0.0.10

5 release files

0.0.9

2 release files

0.0.8

1 release file

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