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
- Installation
- Python Usage
- Command-Line Usage
- Input Formats
- V and T Constructions
- Creator and Destroyer Cells
- Representative Homology Cycles
- Deep Learning Integration
- Timing Comparisons
- Testing and Regression Checks
- Other Software for Cubical Complex PH
- Release Notes
- License
Getting Started
Try Online
- Google Colab Demo: CubicalRipser in Action
- Topological Data Analysis Tutorial: Hands-On Guide
- Applications in Deep Learning:
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
Using pip (recommended)
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/Makefiledefaults to C++20) nanobind(installed automatically as a build dependency viapyproject.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 bindingcripser.compute_ph(...): convenience wrapper (converts essential deaths tonp.inf)
Both support:
filtration="V"orfiltration="T"maxdim,top_dim,embedded,locationn_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=Trueorrepresentatives=True, each axis must be at most 32760 — cell coordinates are packed into 15 bits internally. Longer axes raiseValueError. 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 asDBL_MAX.compute_ph(...)converts essential deaths tonp.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, orCRIPSER_NUM_THREADS).n_threads=k— at mostkworkers.
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(...)(requiresmatplotlib) - vectorization:
cripser.persistence_image(...),cripser.create_PH_histogram_volume(...) - OT distance:
cripser.wasserstein_distance(...)(requirestorchandPOT/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
.npyoutputs - 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 dimensionk(default3)--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 noneto suppress output file creation.
Input Formats
Supported input formats (CLI)
- NumPy (
.npy) - Perseus text (
.txt): Specification - CSV (
.csv) - DIPHA complex (
.complex): Specification
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"orfiltration="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
-
- V-construction
-
Perseus by Vidit Nanda
- V-construction
Release Notes
- v0.0.36:
- The Python binding now releases the GIL during the computation, so
ThreadPoolExecutorover many images scales across cores. - New
n_threadsargument (--threadson 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_MAXinstead of the voxel value.
- The Python binding now releases the GIL during the computation, so
- 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-abi3wheel 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_3dimtoCubicalRipser.- update old remote if needed:
git remote set-url origin https://github.com/shizuo-kaji/CubicalRipser.git
- update old remote if needed:
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| cripser-0.0.36.tar.gz | 137.8 kB | Details |
Built distributions (wheels)
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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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