Skip to main content

130 million TDEs per second, Python + CUDA TDEs from Nikkhoo and Walter 2015

Project description

DOI

Python CPU and GPU accelerated TDEs, over 100 million TDEs per second!

Note from Dec 2022: The code here work beautifully and I plan to continue making minor bug fixes maintaining the current functionality. But I no longer will be making any improvements to this project. I would be happy to chat or email to help anyone who wants to dive in. For the biggest potential improvement, see this issue: https://github.com/tbenthompson/cutde/issues/23

cutde: CUDA, OpenCL and C++ enabled fullspace and halfspace triangle dislocation elements (TDEs), benchmarked at 130 million TDEs per second. cutde is a translation and optimization of the original MATLAB code from Nikhoo and Walter 2015.. In addition to the basic pair-wise TDE operations for displacement and strain, cutde also has:

  • all pairs matrix construction functions.
  • matrix free functions for low memory usage settings.
  • block-wise functions that are especially helpful in an FMM or hierarchical matrix setting.
  • an adaptive cross approximation implementation for building hierarchical matrices.

See below for basic usage and installation instructions. For more realistic usage examples, please check out the TDE examples in these BIE tutorials. You'll find examples of using all the above variants.

import matplotlib.pyplot as plt
import numpy as np

import cutde.fullspace as FS

xs = np.linspace(-2, 2, 200)
ys = np.linspace(-2, 2, 200)
obsx, obsy = np.meshgrid(xs, ys)
pts = np.array([obsx, obsy, 0 * obsy]).reshape((3, -1)).T.copy()

fault_pts = np.array([[-1, 0, 0], [1, 0, 0], [1, 0, -1], [-1, 0, -1]])
fault_tris = np.array([[0, 1, 2], [0, 2, 3]], dtype=np.int64)

disp_mat = FS.disp_matrix(obs_pts=pts, tris=fault_pts[fault_tris], nu=0.25)

slip = np.array([[1, 0, 0], [1, 0, 0]])
disp = disp_mat.reshape((-1, 6)).dot(slip.flatten())

disp_grid = disp.reshape((*obsx.shape, 3))

plt.figure(figsize=(5, 5), dpi=300)
cntf = plt.contourf(obsx, obsy, disp_grid[:, :, 0], levels=21)
plt.contour(
    obsx,
    obsy,
    disp_grid[:, :, 0],
    colors="k",
    linestyles="-",
    linewidths=0.5,
    levels=21,
)
plt.colorbar(cntf)
plt.title("$u_x$")
plt.tight_layout()
plt.savefig("docs/example.png", bbox_inches="tight")

docs/example.png

Usage documentation

Simple pair-wise TDEs

Computing TDEs for observation point/source element pairs is really simple:

from cutde.fullspace import disp, strain

disp = disp(obs_pts, src_tris, slips, nu)
strain = strain(obs_pts, src_tris, slips, nu)

Replace the cutde.fullspace with cutde.halfspace to use halfspace TDEs.

The parameters:

  • obs_pts is a np.array with shape (N, 3)
  • src_tris is a np.array with shape (N, 3, 3) where the second dimension corresponds to each vertex and the third dimension corresponds to the cooordinates of those vertices.
  • slips is a np.array with shape (N, 3) where slips[:,0] is the strike slip component, while component 1 is the dip slip and component 2 is the tensile/opening component.
  • the last parameter, nu, is the Poisson ratio.

IMPORTANT: N should be the same for all these arrays. There is exactly one triangle and slip value used for each observation point.

  • The output disp is a (N, 3) array with displacement components in the x, y, z directions.
  • The output strain is a (N, 6) array representing a symmetric tensor. strain[:,0] is the xx component of strain, 1 is yy, 2 is zz, 3 is xy, 4 is xz, and 5 is yz.

I want stress.

Use:

stress = cutde.fullspace.strain_to_stress(strain, sm, nu)

to convert from stress to strain assuming isotropic linear elasticity. sm is the shear modulus and nu is the Poisson ratio. The strain array here is expected to have a shape (N, 6). In case you have a matrix or other shaped array, this snippet might help:

strain_to_stress(strain_matrix.reshape((-1, 6)), mu, nu).reshape(strain_matrix.shape)

All pairs interactions matrix

If, instead, you want to create a matrix representing the interaction between every observation point and every source triangle, there is a different interface:

from cutde.fullspace import disp_matrix, strain_matrix

disp_mat = disp_matrix(obs_pts, src_tris, nu)
strain_mat = strain_matrix(obs_pts, src_tris, nu)
  • obs_pts is a np.array with shape (N_OBS_PTS, 3)
  • src_tris is a np.array with shape (N_SRC_TRIS, 3, 3) where the second dimension corresponds to each vertex and the third dimension corresponds to the cooordinates of those vertices.
  • the last parameter, nu, is the Poisson ratio.
  • The output disp_mat is a (N_OBS_PTS, 3, N_SRC_TRIS, 3) array. The second dimension corresponds to the components of the observed displacement while the fourth dimension corresponds to the component of the source slip vector. The slip vector components are ordered the same way as in disp(...) and strain(...).
  • The output strain_mat is a (N_OBS_PTS, 6, N_SRC_TRIS, 3) array. Like above, the dimension corresponds to the components of the observation strain with the ordering identical to strain(...).

Note that to use the strain_to_stress function with a matrix output like this, you'll need to re-order the axes of the strain array so that the 6-d strain axis is the last axis. You can do this with np.transpose(...).

Matrix-free all pairs interactions

A common use of the matrices produced above by disp_matrix(...) would be to perform matrix-vector products with a input vector with (N_SRC_TRIS * 3) entries and an output vector with (N_OBS_PTS * 6) entries. But, building the entire matrix can require a very large amount of memory. In some situations, it's useful to compute matrix-vector products without ever computing the matrix itself, a so-called "matrix-free" operation. In order to do this, the matrix entries are recomputed whenever they are needed. As a result, performing a matrix-vector product is much slower -- on my machine, about 20x slower. But, the trade-off may be worthwhile if you are memory-constrained.

from cutde.fullspace import disp_free, strain_free
disp = disp_free(obs_pts, src_tris, slips, nu)
strain = strain_free(obs_pts, src_tris, slips, nu)

The parameters are the same as for disp_matrix(...) with the addition of slips. The slips array is a (N_SRC_TRIS, 3) array containing the source slip vectors.

Block-wise interaction matrices

In some settings, it is useful to compute many sub-blocks of a matrix without computing the full matrix. For example, this is useful for the nearfield component of a hierarchical matrix or fast multipole approximation.

from cutde.fullspace import disp_block, strain_block
disp_matrices, block_idxs = disp_block(
    obs_pts, src_tris, obs_start, obs_end, src_start, src_end, nu
)
strain_matrices, strain_block_idxs = strain_block(
    obs_pts, src_tris, obs_start, obs_end, src_start, src_end, nu
)
  • obs_pts, src_tris and nu are the same as for disp_matrix.
  • obs_starts and obs_end are arrays with N_BLOCKS elements representing the first and last observation point indices in each block.
  • src_starts and src_end are arrays with N_BLOCKS elements representing the first and last source triangle indices in each block.

The output disp_matrices and strain_matrices will be a densely packed representation with each block's boundaries demarcated by block_idxs. As an example of extracting a single block:

disp_matrices, block_idxs = disp_block(obs_pts, src_tris, [0, 5], [5, 10], [0, 2], [2, 4], nu)
block1 = disp_matrices[block_idxs[0]:block_idxs[1]].reshape((5, 3, 2, 3))

Adaptive cross approximation (ACA)

Sometimes the matrix blocks we want to compute represent far-field interactions where the observation points are all sufficiently far away and separated as a group from the source triangles. In this situation, the matrix blocks are approximately low rank. An approximate matrix will require much less storage space and allow for more efficient matrix-vector products. Adaptive cross approximation is an algorithm for computing such a low rank representation. See Grasedyck 2005 for an accessible and general introduction to ACA. Or, see the ACA section here for an introduction that builds up to using the cutde.fullspace.disp_aca(...) implementation.

disp_appxs = cutde.fullspace.disp_aca(
    obs_pts, tris, obs_start, obs_end, src_start, src_end, nu, tol, max_iter
)

Like all the other functions, this function is provided by both cutde.fullspace and cutde.halfspace.

The parameters are the same as disp_block(...) with the addition of tol and max_iter. The tolerance, tol, is specified as an array of length N_BLOCKS in terms of the Frobenius norm of the error matrix between the true matrix and the approximation. The algorithm is not guaranteed to reach the specified tolerance but should come very close. The maximum number of iterations (equal to the maximum rank of the approximation) is also specified as an array of length N_BLOCKS.

The output disp_appxs will be a list of (U, V) pairs representing the left and right vectors of the low rank approximation. To approximate a matrix vector product:

U, V = disp_appxs[0]
y = U.dot(V.dot(x))

Installation

Installing from conda-forge is preferable because there should be fewer issues involving compilers. To install cutde from conda-forge:

conda install -c conda-forge cutde

or to install from pypi with pip:

pip install cutde

Installing via pip will build the C++ extensions from source which will require access to a non-ancient version of either GCC or Clang.

That should be sufficient to use the C++/CPU backend. If you want to use the GPU backend via PyCUDA or PyOpenCL, follow along below.

GPU installation

Install either PyCUDA or PyOpenCL following the directions below.

PyCUDA

If you have an NVIDIA GPU, install PyCUDA with:

conda config --prepend channels conda-forge
conda install -c conda-forge pycuda

Mac OS X

Install PyOpenCL and the PoCL OpenCL driver with:

conda config --prepend channels conda-forge
conda install pocl pyopencl

Ubuntu + PyOpenCL/PoCL

Just like on a Mac:

conda config --prepend channels conda-forge
conda install pocl pyopencl

Ubuntu + PyOpenCL with system drivers

conda install pyopencl ocl-icd ocl-icd-system

You will need to install the system OpenCL drivers yourself depending on the hardware you have. See the "Something else" section below.

Windows

See the PyCUDA instructions if you have an NVIDIA GPU.

I'm not aware of anyone testing cutde on OpenCL on Windows yet. It should not be difficult to install. I would expect that you install pyopencl via conda and then install the OpenCL libraries and drivers that are provided by your hardware vendor. See the "Something else" section below.

Something else

I'd suggest starting by trying the instructions for the system most similar to yours above. If that doesn't work, never fear! OpenCL should be installable on almost all recent hardware and typical operating systems. These directions can be helpful.. I am happy to try to help if you have OpenCL installation issues, but I can't promise to be useful.

Why can't I use Apple CPU OpenCL?

You might have gotten the message: cutde does not support the Apple CPU OpenCL implementation and no other platform or device was found. Please consult the cutde README.

The Apple OpenCL implementation for Intel CPUs has very poor support for the OpenCL standard and causes lots of difficult-to-resolve errors. Instead, please use the PoCL implementation. You can install it with conda install -c conda-forge pocl.

Development

For developing cutde, clone the repo and set up your conda environment based on the environment.yml with:

conda env create

Then, pip install -e ..

Next, for developing on a GPU, please install either pycuda or pyopencl as instructed in the Installation section above.

Then, you should re-generate the baseline test data derived from the MATLAB code from Mehdi Nikhoo. To do this, first install octave. On Ubuntu, this is just:

sudo apt-get install octave

And run

./tests/setup_test_env

which will run the tests/matlab/gen_test_data.m script.

Finally, to check that cutde is working properly, run pytest!

Architecture

A summary of the modules.

  • halfspace.py and fullspace.py - the main entrypoints. These are very thin wrapper layers that provide the user-facing API.
  • coordinators.py - the driver functions that call the CUDA kernels. I would suggest starting here!
  • geometry.py - geometry helper functions
  • common.cu - a semi-direct translation of the main computation kernels in the MATLAB. These are called by the other CUDA kernels below.
  • pairs.cu - the CUDA kernels for the pair-wise TDE calculations.
  • matrix.cu - the CUDA kernels for the all pairs TDE calculation that constructs a matrix.
  • blocks.cu - the CUDA kernels for the block-wise matrix calculation.
  • free.cu - the CUDA kernels for the matrix-free matrix-vector product calculation. This can be used if the matrix you'd like to construct is too large to hold in memory.
  • aca.cu - the CUDA kernels for the adaptive cross approximation implementation.
  • backend.py - a layer that abstracts between the CUDA, OpenCL and C++.
  • gpu_backend.py - some helper functions for the CUDA and OpenCL backends
  • cuda.py - the PyCUDA backend.
  • opencl.py - the PyOpenCL backend.
  • cpp.py and cutde.cpp_backend - combined, these two files provide a portability layer so that the CUDA code can actually be compiled as C++ and run, albeit a bit slowly, on the CPU.

The tests/tde_profile.py script is useful for assessing performance.

Some tests are marked as slow. To run these, run pytest --runslow.

If you several backends available and installed cutde will prefer CUDA, then OpenCL and finally fall back to the C++ backend. If you would prefer to specify which backend to use, you can set the environment variable CUTDE_USE_BACKEND to either cuda, opencl or cpp.

The README.md is auto-generated from a template in docs/. To run this process, run docs/build_readme.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cutde-25.7.24.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cutde-25.7.24-cp313-cp313-win_amd64.whl (602.5 kB view details)

Uploaded CPython 3.13Windows x86-64

cutde-25.7.24-cp313-cp313-win32.whl (549.8 kB view details)

Uploaded CPython 3.13Windows x86

cutde-25.7.24-cp313-cp313-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

cutde-25.7.24-cp313-cp313-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

cutde-25.7.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (882.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cutde-25.7.24-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (830.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cutde-25.7.24-cp313-cp313-macosx_14_0_arm64.whl (885.7 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

cutde-25.7.24-cp313-cp313-macosx_13_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

cutde-25.7.24-cp312-cp312-win_amd64.whl (602.5 kB view details)

Uploaded CPython 3.12Windows x86-64

cutde-25.7.24-cp312-cp312-win32.whl (549.8 kB view details)

Uploaded CPython 3.12Windows x86

cutde-25.7.24-cp312-cp312-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

cutde-25.7.24-cp312-cp312-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

cutde-25.7.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (882.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cutde-25.7.24-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (831.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cutde-25.7.24-cp312-cp312-macosx_14_0_arm64.whl (885.7 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

cutde-25.7.24-cp312-cp312-macosx_13_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

cutde-25.7.24-cp311-cp311-win_amd64.whl (599.6 kB view details)

Uploaded CPython 3.11Windows x86-64

cutde-25.7.24-cp311-cp311-win32.whl (548.4 kB view details)

Uploaded CPython 3.11Windows x86

cutde-25.7.24-cp311-cp311-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

cutde-25.7.24-cp311-cp311-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

cutde-25.7.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (882.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cutde-25.7.24-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (830.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cutde-25.7.24-cp311-cp311-macosx_14_0_arm64.whl (883.7 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

cutde-25.7.24-cp311-cp311-macosx_13_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

cutde-25.7.24-cp310-cp310-win_amd64.whl (598.5 kB view details)

Uploaded CPython 3.10Windows x86-64

cutde-25.7.24-cp310-cp310-win32.whl (546.2 kB view details)

Uploaded CPython 3.10Windows x86

cutde-25.7.24-cp310-cp310-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

cutde-25.7.24-cp310-cp310-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

cutde-25.7.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (878.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cutde-25.7.24-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (828.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cutde-25.7.24-cp310-cp310-macosx_14_0_arm64.whl (881.1 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

cutde-25.7.24-cp310-cp310-macosx_13_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

cutde-25.7.24-cp39-cp39-win_amd64.whl (602.5 kB view details)

Uploaded CPython 3.9Windows x86-64

cutde-25.7.24-cp39-cp39-win32.whl (546.0 kB view details)

Uploaded CPython 3.9Windows x86

cutde-25.7.24-cp39-cp39-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

cutde-25.7.24-cp39-cp39-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

cutde-25.7.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (879.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cutde-25.7.24-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (829.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cutde-25.7.24-cp39-cp39-macosx_14_0_arm64.whl (881.6 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

cutde-25.7.24-cp39-cp39-macosx_13_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

cutde-25.7.24-cp38-cp38-win_amd64.whl (598.1 kB view details)

Uploaded CPython 3.8Windows x86-64

cutde-25.7.24-cp38-cp38-win32.whl (546.1 kB view details)

Uploaded CPython 3.8Windows x86

cutde-25.7.24-cp38-cp38-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

cutde-25.7.24-cp38-cp38-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

cutde-25.7.24-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (877.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cutde-25.7.24-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (827.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cutde-25.7.24-cp38-cp38-macosx_14_0_arm64.whl (880.8 kB view details)

Uploaded CPython 3.8macOS 14.0+ ARM64

cutde-25.7.24-cp38-cp38-macosx_13_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8macOS 13.0+ x86-64

File details

Details for the file cutde-25.7.24.tar.gz.

File metadata

  • Download URL: cutde-25.7.24.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24.tar.gz
Algorithm Hash digest
SHA256 09fcdbac63a43ebfaaf5bb5445cb84df9aac0b63a3f87eb069a70cc68bd15312
MD5 8fcfac4b1eb62b1db31a6a3db4f44c94
BLAKE2b-256 cbcb83af3f7808b572da2b8f45d25611decf74a789978ec96114d4d80acf90ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24.tar.gz:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cutde-25.7.24-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 602.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 65b5c1663a306ae8717ac160fcef8ebecce2d09cb328aae9e410ec0af1cb0197
MD5 6a1b84e77326e4db653c7c880699a15a
BLAKE2b-256 acf500acee827b403ea360ebd283610374a573dfa9d286a913ec23ad4e54dd37

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp313-cp313-win_amd64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp313-cp313-win32.whl.

File metadata

  • Download URL: cutde-25.7.24-cp313-cp313-win32.whl
  • Upload date:
  • Size: 549.8 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 512b1c28bf4c58f01a1841fbb246c22dbe2e94b98b3b5ed0e045f60931c9d1f9
MD5 0eda175bd5b74c5135389e045fa835a9
BLAKE2b-256 e907961bbccffb34d9250f6c97397e6107b4da79e1afe7b5099d9284f4e9013b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp313-cp313-win32.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 667bd2d17036ff504b3e32f7ca0ab741e829ed7c0071be03103a9234223ffbc4
MD5 fe050f4b4ad2c4eaf9458a522ef96f27
BLAKE2b-256 fb8dee0613438a5b54a9b571d796460aa0b2683c1f20af01ed196cdea67606a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 17cdff7de62b8c376a6dfc274b8701f19a19bcc0d8fb109ae0e741dbf1c26427
MD5 4b3fb8496ac422f10dc5c5dc8daafa03
BLAKE2b-256 26cbc62947278cae4c62038a863e9c0776009b1b14c819e9feeb6c2a95752554

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9bb29af9e4de2100ecf0d220a4518805b1cf0065cb8dd55d300e69f8b5884dc0
MD5 0af9880dd69994f55ccb191f48796a96
BLAKE2b-256 2556082e0d8fb8acf75ede234e6f6a9dcde399d18fcf1e8bf5158b223a952034

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 78c59d89d681cff693689d35aba0aed666f08d997cfd639b069e07bc8c654d71
MD5 84d7fcf68ff3769743fbbfe3b83cd0d4
BLAKE2b-256 6b2ddfd0868c448bdfd95721552602702731ec64ec0f38ff7a726eb8f1caff96

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 07e467e9ab35bd1f470ec293b77fd913a901ea82949008accdb8f53a6e2c9103
MD5 6259b8218a9954f3b9eadac72f3649b3
BLAKE2b-256 d768f0cb8e2bab3eabcf77081824e47038be154e780d4ab7d7ac41a01e9daaf5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4e6896b07e9e2d70937b236164c8ad4f4cbbc6f00866a46942a432caf7dd648f
MD5 6355aba294291e7c48fc03d5a5df9444
BLAKE2b-256 30b051e9062cb95c7fd9d915df1858af4bc5a1b7273d4892a34b3378038486b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: cutde-25.7.24-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 602.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f335cb03270f561052c12f26a509458783718f788167fe05a57542b503d97371
MD5 53afcf23ea56fad8a90f396e2bc5e975
BLAKE2b-256 58e22df52d51112a002a0c11821d3126cde0f88902cbe76ca3e28f4bdddbea28

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp312-cp312-win_amd64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp312-cp312-win32.whl.

File metadata

  • Download URL: cutde-25.7.24-cp312-cp312-win32.whl
  • Upload date:
  • Size: 549.8 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 cebc95369249b3107cc0de38d238ffc9aa6fd7c7746b25869d98758bc59ae420
MD5 701f9c997939da3a0c18e71a3f5ff4b9
BLAKE2b-256 197b184c59132e74cce45263db7e4825a4f295cf02bf98b046b6cd631e8525e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp312-cp312-win32.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d18457c29958be2b7969dc189783af3bb98385cdd2c123eaf2b17c92e7fb3a5a
MD5 31e854a2318de6cd1f2a04018dc4d564
BLAKE2b-256 919dd40b6b5a603ebdf0156e8bb6161b7ef6ddeb50ec36467eab2ecef708c4a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 eddaccf1745b898e3f7874ccac48de8b12481fe65f6a5a35bc4f7f32e1fe0a8f
MD5 dc1a0b0a7151d832bf7648f332d8ab17
BLAKE2b-256 5a62b06b0b70ca35e67be7d2e8044917c31fae7f1a7418722ff43b4ba1d8a16a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bdf51e56e3f51f9108c6a947934d722f74258013e46f891b3be0b72fe1db3b6d
MD5 7df20200c0249f3c21af093a8e772262
BLAKE2b-256 628a9c3369fb578ad271630679628f56a7553e8d5f6d4610971304a302129094

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 83f60d8700133718f828056a9a3746e86138f75f0d63333534fd2b1611cec565
MD5 bd8a2f3b4dea4f56122b930d3415c7d6
BLAKE2b-256 aa32f346f457b75b79fa93aa6166796e5392868b3957b4926e978f906b78f1e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7b6e139d6e69ff6cecbffd0c0b188209ddf8bd02c3e1da916ab1a5cbb92ab9fb
MD5 d6c537b668c02acdd44e86a27d4d2a3f
BLAKE2b-256 a2b64d04bf1c694f504bca05daa9edb13611c82fd02306e8853b09ceae96d87b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 bbf01eedffd3e87b24da479a30050ca0f689495e3558dd0ab60f3d5211827652
MD5 daefc7e080e6541b819b8fb3bd53bc14
BLAKE2b-256 bdf45a4aea285be82e0d871d5b82166b5c416da6df623eb240f6f7a4cbb985cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: cutde-25.7.24-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 599.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c1f21968692eba0fbdb309fd8568c663ff3354769646d493b9eeef03953dc041
MD5 2128435cbbd9e7892f646d2768f88238
BLAKE2b-256 b05e48eb7d863b4bb7898d28796bde79d55e51bc00b4f1a014cf21417b605119

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp311-cp311-win_amd64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp311-cp311-win32.whl.

File metadata

  • Download URL: cutde-25.7.24-cp311-cp311-win32.whl
  • Upload date:
  • Size: 548.4 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f74469a2b0cecaa5db692c26fdee7684ac1b5df44027c592c5651d4e94932416
MD5 bc63a91417965122a54418c8e03187d8
BLAKE2b-256 5091fee9c678f31bf465a9b404a395bbe0975b038f7245a9f1b369780f1012f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp311-cp311-win32.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ea83282d260ec84c82d5918c68ed4e6e89d862e62a7b91de3c837d7cb3f3ad31
MD5 cc788c6365539925dfac299bd1703356
BLAKE2b-256 948f8abf3c2362a8d46ea436472c91f30eb59628ff8c918fac85025899f7768c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c94eaec65e31663082fa4ec64116c20317e1f4b15907fb51fe9bc8c056e82109
MD5 c7af0b623c396c71c861d2de4ab1c43c
BLAKE2b-256 8e7a1a773c21ee0f7a5f9624f9ddf6568b708d93790c9dc2c0289cad4bb936f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 47229c924794c7e3407ce75d88b55e23ea1a786c337c7967204b721c03d0c3a4
MD5 421cda63fb4febb1c2b9d8685e724b8d
BLAKE2b-256 2d4f4c05164e666244569b0dd8faea1e7e4b2d41ee4a1ce444e17599caa88ded

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ca91fe4d8000330122404ce1a60eca3d048d003a51ee3156331287c69c4ad7c2
MD5 61d95da8edff0f5334ff2c3c3d9554ff
BLAKE2b-256 ff41452a31a8b31e530809dd9b935861e02bbc18b69cac6b723bdb068f8c1263

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ff844ebfe6ce61d926dcbb56c446cb1f8e89c76dadc749239424a5d267bfd482
MD5 6d9e8a48c85549a0bd2c353b517b79db
BLAKE2b-256 b37b63dac6bb90d94178342d3dcbd52410a1ec82e4c37ca3db23aa8623bf0c0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4581ccf3338cdc1fcd5f7b3816917a1a9b89c2a2e66cbd046e926646cd97ff9e
MD5 6557f47dd3bc63b3c799d2dc923641d3
BLAKE2b-256 760f6c4f541ee88b2cdfd493610bd0692140c55ec8ade927b90bf297e4ef9441

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: cutde-25.7.24-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 598.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0e415ac15d17444035ff13aac7baff206bd7e45005b8961f353e26198503b331
MD5 b353739162ef8ed2a2944455c3f59b94
BLAKE2b-256 17f00334b55f9358fcbe91b26dd04530a3ed0de8129a57e887ac47c306058fcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp310-cp310-win_amd64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp310-cp310-win32.whl.

File metadata

  • Download URL: cutde-25.7.24-cp310-cp310-win32.whl
  • Upload date:
  • Size: 546.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 f56312dd97676c77e5e0c5cd9dbdfb4bdebe146b280743433142d828774a7d1b
MD5 aded20b5f68b863dd95e16ed28e8f666
BLAKE2b-256 d140045d9265b37aee85715fa9d0136cd904e526619fff98db4fe0084f0f670c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp310-cp310-win32.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1e291235cdb8e1b14ba6b43c926424cb6f179941040aa4339780ef61331d2eb0
MD5 3d8096ca5fb5e4af47f9c7682f0a8e20
BLAKE2b-256 7f6aba54696c6d8b29128f936e499a43454a37c4e63b9bfbeeb6fda37c6952b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b068bfa20a2e2db5f5c17d0d874c34545c7a7d62490411dd47ed9a51587b184e
MD5 89ab0684ac186646e6ff20fbe69fc847
BLAKE2b-256 1829a2e0441fe5cb1644de2d96cfd9a5b3d2ca0cd632761a4d6573e902244fa0

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5fdaf3c571a839946b5f5680753e5d643fc866a37f937371ea430c95bbda2978
MD5 90fd880312a8d16dce262fc3548e1d16
BLAKE2b-256 1161dad312aff2d23892f5d3ba564a0693c4eca1506e1a5ba7f04f9f3a67075d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 76b9d1f996796b50b13de158fe05e46d73c3d28002fe6543efa9144d8c85ba3a
MD5 6df8b3b61063c9df9ca72d8aad1f838f
BLAKE2b-256 045a29ec7b93bf9d55ab50cedba95249290977497c70db51e73a8612da678828

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a76639bc0451fcba20d2a3718a63497b6beff40a1418fde8f33f1bce033c0377
MD5 523c8b694e7e6475cf3536d98af56b13
BLAKE2b-256 d00643985bbf15eb6e7c40aad13a608cf1917d26e3ffd49b6b80723fad261d2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 ce89cb345c4c96a93e316d3129f9c430c975ba2b4f46845bde90dec557f1d137
MD5 ceedd168c849c39d95d51286b57102dd
BLAKE2b-256 4108a9b7ff9711cc8c89211f608e656a3ca2259c9fce6f2ae3406187519c6abe

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp310-cp310-macosx_13_0_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: cutde-25.7.24-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 602.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a7782fdefe967ead4952500f2b485a139fb57e6a75a533e095c0c92fdc5ba01b
MD5 bebd1b7ed0b63f8e146d7b529ef8d634
BLAKE2b-256 48f81aa70c187c16ee4ef8da1497efc4c365a7c86b6acb5c37b4634a8f6f99c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp39-cp39-win_amd64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp39-cp39-win32.whl.

File metadata

  • Download URL: cutde-25.7.24-cp39-cp39-win32.whl
  • Upload date:
  • Size: 546.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 710f2658eee4a0f9dec9ab0ffde5e29a1f6a28bf65ed546800b336774f012447
MD5 2d80f160c5654b2ffe585ec4beff89f1
BLAKE2b-256 43c9eebbcdc6172fd26bbba29d5f39a17828589e6bdb38406c08dd9252203480

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp39-cp39-win32.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dc20c27c4922e05893420f4e8988ba17ad4f0c6e047980a603ff477508a0dc76
MD5 6071d55fba115d896e72d6569bc9ba06
BLAKE2b-256 e284f60f2bd026cf6fa90da15472d859610858eb805fe520730f878f50268546

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dd767382a5f34f12dbb15b1ea1e7ca1b948ca783d70abc8650fd6fc4cdb65746
MD5 f52366f0cec019c9e06b77b3e51a9033
BLAKE2b-256 56ac15bd9b30190a55aa3466488bc5ed830d1a64f8992063f99fd4ba90f4e76f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 485798698cfefa59c11eaaf5eac794d991717ed72e617426dcb10cbc12f31358
MD5 e65709011d9004f06a98d9428b115fe2
BLAKE2b-256 061c526cf3ff2387c57c3e7879f724f9e0b0967425ef4829de45f58106ec7592

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e1e321f9146842c5be4fb3cd6c1edd2ffd3ec97983e1d74ecc6c77f535c8fb35
MD5 645f3595a17c2ab5d7beca3122f54d34
BLAKE2b-256 2dffb819890106e02bb2e4504e19c120df351c6a6ae13bf8eddf08c648b2d1c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e0e35fbde1b1d4e46703da2db23cdd4582fdc746279559ea6cad638f39f40aa2
MD5 155abc494d6c524fbe63e3c008bdb2a4
BLAKE2b-256 9537ecc751e51d6398b1c2666774829d8411c9d596d4024f539b70305c20276a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp39-cp39-macosx_14_0_arm64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 cb2de1a204c1fbed1acb705824f9e3633d42209f0830853ff3d2c75eda5caa3f
MD5 498f6e2c8203220c94e8614e0640d2ec
BLAKE2b-256 edb81065412a2492bd673e1d0d2bd05f92a82d0c90ec0a9bfc15d24f0bb43778

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp39-cp39-macosx_13_0_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: cutde-25.7.24-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 598.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 99c8fafc4b07b40521a6fb89ce451ae83ce709da24b2c6a6a04560438a67a957
MD5 95ed894a92d5fca57eabe859350f0f86
BLAKE2b-256 f7f316faf5bc4e20ea37250275e33b302d62eee0e2e7129499429a79eb06391f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp38-cp38-win_amd64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp38-cp38-win32.whl.

File metadata

  • Download URL: cutde-25.7.24-cp38-cp38-win32.whl
  • Upload date:
  • Size: 546.1 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cutde-25.7.24-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 e08c28f8910b22f7177b1a554a660aa0d59fc0b1c528f01816326a4a8a338052
MD5 e47ae4e0ef6e18477682e4ff7a6bb45e
BLAKE2b-256 29ced5f5ab967695a9f1a1ba76722ee17e08bf5f24285b9feebb013948630ee2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp38-cp38-win32.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bdbe0b4d90de56a4d091380ab60ec066d157cb9941db2165fc3610e2d82553ab
MD5 30cc041c53c902ec4f6485cddfd6d4ee
BLAKE2b-256 09056e977e81efa7ced70df27b9e5db0948dddf478ba88b8baa1f00d3cdcc9c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp38-cp38-musllinux_1_2_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 421ee42dd1777f3007d79e7e0095e295c788327532328122f43369c9cad2f42d
MD5 4db5d3ebf3e09dd484fa1e2495501273
BLAKE2b-256 18344ec1b0d3b1ea6351880d48413fccdd2aaafd9c34d7a978edc55d3a0200ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp38-cp38-musllinux_1_2_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 980ac4753558a180747b6fdb7809deaa0f4c0e5ca6fe7e79f259291f95280260
MD5 e7ea95c2a78b2e590037f4d78b9120ac
BLAKE2b-256 abb9b6e13071d7b0c6f66d35ca0d61a1665c8c757d3946399a20a010936a18cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e613d07c8116c574ab2be7c7c3e178d26c096dafa615b07c7f22c8425a6fcde6
MD5 29bd137bdbe7f3d079c8b6e89442f0fa
BLAKE2b-256 cf4be852ddd6d3ec4c834c3db1cc2f404e1fefab63d3159112c28f05ab1ddac5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp38-cp38-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp38-cp38-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9b97134e3352449385d12f709afdcf44ee96f40a9062b538efb68bf21f05902d
MD5 c28d9ba3507b2f8654edcd602c938197
BLAKE2b-256 f427243eb6989df1719792c61b4e8308d015bc546d8591a48779eb0ac5e51f13

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp38-cp38-macosx_14_0_arm64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cutde-25.7.24-cp38-cp38-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for cutde-25.7.24-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a29771f069fbcfb3d337fa1ed4d6bab798b994ff879f4c83d189f1df4132377d
MD5 a1e835c0ae4f2ac81987622f17ec82ca
BLAKE2b-256 1ba0be9424c55a74a80fa0ad5c1b16973643077c0ea7ee47d71a41c61e97110f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cutde-25.7.24-cp38-cp38-macosx_13_0_x86_64.whl:

Publisher: cibuildwheel.yml on cutde-org/cutde

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page