Skip to main content

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.

Metadata

Release files for cutde 26.3.6

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

Source distribution (sdist)

Source distribution for cutde 26.3.6
File Size Uploaded
cutde-26.3.6.tar.gz 1.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for cutde 26.3.6
File
cutde-26.3.6-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
cutde-26.3.6-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
cutde-26.3.6-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
cutde-26.3.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
cutde-26.3.6-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
cutde-26.3.6-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
cutde-26.3.6-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
cutde-26.3.6-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
cutde-26.3.6-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
cutde-26.3.6-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
cutde-26.3.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
cutde-26.3.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
cutde-26.3.6-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
cutde-26.3.6-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
cutde-26.3.6-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
cutde-26.3.6-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
cutde-26.3.6-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
cutde-26.3.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
cutde-26.3.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
cutde-26.3.6-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
cutde-26.3.6-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
cutde-26.3.6-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
cutde-26.3.6-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
cutde-26.3.6-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
cutde-26.3.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
cutde-26.3.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
cutde-26.3.6-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
cutde-26.3.6-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
cutde-26.3.6-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
cutde-26.3.6-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
cutde-26.3.6-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
cutde-26.3.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
cutde-26.3.6-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
cutde-26.3.6-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
cutde-26.3.6-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
cutde-26.3.6-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
cutde-26.3.6-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
cutde-26.3.6-cp39-cp39-musllinux_1_2_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ ARM64 Details
cutde-26.3.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
cutde-26.3.6-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
cutde-26.3.6-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
cutde-26.3.6-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
cutde-26.3.6-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
cutde-26.3.6-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details
cutde-26.3.6-cp38-cp38-musllinux_1_2_aarch64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ ARM64 Details
cutde-26.3.6-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
cutde-26.3.6-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
cutde-26.3.6-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
cutde-26.3.6-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details

Total release size: 61.6 MB

Release files / cutde-26.3.6.tar.gz

Download URL cutde-26.3.6.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
0b7ee56dfab027e459d0504797824e910b9c334151c716f0815a7108a6e36c7b
BLAKE2b-256 checksum
How to use checksums
741e5205320df484817909955880d8d01e909ca807d15d448ec004c8ccf807d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp314-cp314-win_amd64.whl

Download URL cutde-26.3.6-cp314-cp314-win_amd64.whl
Size 618.4 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e601e048d607448c3faa2049f38220da08f0808ad335682be23cb58321f106e9
BLAKE2b-256 checksum
How to use checksums
24774ca8d2fc33635b77656a4a2f382bc9851f007ea475147a9156be542ace16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL cutde-26.3.6-cp314-cp314-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4f6bf12a4eec7a5b27cf4654686c3f85cc8b117285b32f7a9a3fa850838a4a27
BLAKE2b-256 checksum
How to use checksums
3c7835c7d8db3e6fac587656d9924ace8367a87b0ed58f560573366997ce3f50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL cutde-26.3.6-cp314-cp314-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
de06777c227829a775209eab957e421da7071780685523df3501bb1fa2cd6b52
BLAKE2b-256 checksum
How to use checksums
acc5412652280c681ca009f2efc95773d87d63de1371169ad04c56762eebff91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cutde-26.3.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 907.6 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
35e25da1d8d3d47437955736b300ad8aac7bb249d3f1dbfcca84ceeb90bb6c68
BLAKE2b-256 checksum
How to use checksums
6baf59d56ecd546e79cb9f28d4fb0c1d862fdbab5df85115641e95f2929bbcc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL cutde-26.3.6-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 849.1 kB
Tags CPython 3.14 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f051165b5cb0bbdf411450b5efb6ec707fc58b0eb3272790d5974e8cb3263451
BLAKE2b-256 checksum
How to use checksums
b61b265306beaaef383e39acb1f8b4b53855bf9c7009891deb9723ac2479e3d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp314-cp314-macosx_11_0_arm64.whl

Download URL cutde-26.3.6-cp314-cp314-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eb6dafa03721ee1f7e578308878cc3f76fa93b3513eee2434d8a022ee3b9dd2f
BLAKE2b-256 checksum
How to use checksums
eed34a7989b72f83a4d2cfb4da9a0fad6557ffe506ad69e8faca11665e328b32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp314-cp314-macosx_10_15_x86_64.whl

Download URL cutde-26.3.6-cp314-cp314-macosx_10_15_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1c4cba254263e8ef8fd0c81b2e7779516f5966c73f4c790d6304cf549229c0e2
BLAKE2b-256 checksum
How to use checksums
9373f9772fc670abdb6a8b142915fb991183809bc56406ec6bca784965af4eb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp313-cp313-win_amd64.whl

Download URL cutde-26.3.6-cp313-cp313-win_amd64.whl
Size 612.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
1f128dadd7fcae78f5fe744856e2a42c86eea8652bc6042d705aff9d7eb2f95c
BLAKE2b-256 checksum
How to use checksums
5d53e6af5bd2baea2752885441ce5861b10dd71651df49f9a73a53e3b5e98da5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL cutde-26.3.6-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
db7926abdf1bbfca4b8b131314eff305c868393ed4a5fa3b8279dedfee7eb8cf
BLAKE2b-256 checksum
How to use checksums
950a7f5c094e53c0a91b484ebd30055afc875c216d586982848d83490a79b8dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL cutde-26.3.6-cp313-cp313-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
2d6e7ee2e61412792758d00aa52db0f9961c5f7b106cd4af1327e86847f0adb2
BLAKE2b-256 checksum
How to use checksums
66d859f2f5a085d6482c130d4aef2ae290ae6ebe03069f23c925054ba64b766c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cutde-26.3.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 907.0 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
93904d4556b07e63d9a7a51b5685691c7780456b6af5a49c6fcd2244205dd1b9
BLAKE2b-256 checksum
How to use checksums
680131364f316d2f2b6b4a7e73d80acb9bc0c991e6f1c8fb1a64255000f81423
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL cutde-26.3.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 847.9 kB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
95ed8e6989f5acb9afeb85747d4b8368dab045ec28981a8f5db9307f393f261e
BLAKE2b-256 checksum
How to use checksums
b18bd0eeb68c615c73b91ecb12a384f12e357cded67b628add8d1340608def52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp313-cp313-macosx_11_0_arm64.whl

Download URL cutde-26.3.6-cp313-cp313-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8356d1352d4394f2a45e67c31e804b14fdaf1564688e125c3c0a3babad848afa
BLAKE2b-256 checksum
How to use checksums
a64b6c09fdad8b9c547dcf2fce4640c2c931ec15a62f69e35a50d997a81c9b57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp313-cp313-macosx_10_13_x86_64.whl

Download URL cutde-26.3.6-cp313-cp313-macosx_10_13_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
dfa01875123f17447a89795117c6cd60879fe5a48b594b340a4f809ae5240d58
BLAKE2b-256 checksum
How to use checksums
979f5011aeeb984535e9938a81962f6c296f5d17797000f9959f2a8910902a15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp312-cp312-win_amd64.whl

Download URL cutde-26.3.6-cp312-cp312-win_amd64.whl
Size 612.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f5aa1985f8852fb19b61f92f7af5465e9493d25bbc2fe6a26301f79c78b8213a
BLAKE2b-256 checksum
How to use checksums
c488fae8acac81c24af006926b9af4f0783405260a00668fc9c67850cf36bf9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL cutde-26.3.6-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
27e57ddee9daec4cf39daa804f50d3e1d468199cbc206b08135a4905fdb21c7d
BLAKE2b-256 checksum
How to use checksums
b2d88ba0b6e1ebc649d0a92dee6ff312e1c13ed2965d0c91f96c9d31f5a40d94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL cutde-26.3.6-cp312-cp312-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
dc368b8b864fec36d1fc674ffda8239f25a4b700e3b69e2794e583b68a85ecd4
BLAKE2b-256 checksum
How to use checksums
3420851cde763af87f0a15604954f3ef40d8421378d4ea7d67d12b0530d3a975
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cutde-26.3.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 907.0 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
962e9e8bce92f04b37a6c066047b498a84719770a4a495e3bcbbae7411088a37
BLAKE2b-256 checksum
How to use checksums
b68afcaaa056097b1528e9370e3b7f679cf955399953b2db33381aad028904ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL cutde-26.3.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 847.9 kB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7327aa93873fdfcfd022ff73c18b88d819e0897862d47b3ea511b9f00fbb53cf
BLAKE2b-256 checksum
How to use checksums
0cd4a3548ba8c00047bafc5b86965512fcfc20d552ef6ead317e8dd274554213
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp312-cp312-macosx_11_0_arm64.whl

Download URL cutde-26.3.6-cp312-cp312-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
09410ac1d03d36bfc08b96ada3e65633b1b9748c061da435b9e15da22851b624
BLAKE2b-256 checksum
How to use checksums
767ba45266f54fe6e67b39b11deea21790cacca829e1b49e9adeec0ad4dd3f78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp312-cp312-macosx_10_13_x86_64.whl

Download URL cutde-26.3.6-cp312-cp312-macosx_10_13_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
0db54cc1d61e7a138de5f6c05fab955c9ef465b0817dbb49553f691b7c0b4118
BLAKE2b-256 checksum
How to use checksums
01449b887672b09cbf1bec7c6282d4f37491dc625d753a1253ebcac87b806004
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp311-cp311-win_amd64.whl

Download URL cutde-26.3.6-cp311-cp311-win_amd64.whl
Size 608.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
ab4021cf6e95cd41c7506d4654acedc23f09a1b23474e3278423fb34413a15a5
BLAKE2b-256 checksum
How to use checksums
7c85e076b7bc9903523c48f230a27f40a42c56b7f7ca9999e86a9bcc179933fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL cutde-26.3.6-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6cbaf83f45cf81159a22821342a2af35a3d637d48780b050bd21db5aedcbdff5
BLAKE2b-256 checksum
How to use checksums
4ca5f28f0080da0f2a6ca00fef65e22a45be4a5c033ec5c32aa63959d7e9b19f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL cutde-26.3.6-cp311-cp311-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
9688bfc19c86f34ccfbb4fad9d414defd04d03e209260667906cb9036ae825d8
BLAKE2b-256 checksum
How to use checksums
78272b5d6096036246a823244004d8a1167da815d35fd69b77f2da7857a16914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cutde-26.3.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 905.1 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cb57dc5140ee9c61c49dd64220ac3dd16f0643dc9d04e76a10df4ca5e78cad4a
BLAKE2b-256 checksum
How to use checksums
7cc73c5ef49eba95b3141e46d584399b9decc59e18d3287092cf194498c53021
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL cutde-26.3.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 845.2 kB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3b646be651f87f140d75f330e692323395be67448ae455f533a8e5e6c6fb38f7
BLAKE2b-256 checksum
How to use checksums
11817d8822c7e05b885e0a5283b70113c3d9cfbdb08eedecdcd3bf5c811d0a4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp311-cp311-macosx_11_0_arm64.whl

Download URL cutde-26.3.6-cp311-cp311-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
16174e1e76561e19a0c012d291ba89348f377c0c7507a8c2dc63d9120d858c9d
BLAKE2b-256 checksum
How to use checksums
56697a7db7dc283e5403a3c980f6eec24182ce6519bc4da4245e467f5ec1257c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp311-cp311-macosx_10_9_x86_64.whl

Download URL cutde-26.3.6-cp311-cp311-macosx_10_9_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9be6bc570190efe88621340a8517f7690da57cb9d739e2b0e1113188616c3142
BLAKE2b-256 checksum
How to use checksums
d8e8afe7631ab7b092b636e344e9b5a50c26aa9973f0143db49fd804f9908bbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp310-cp310-win_amd64.whl

Download URL cutde-26.3.6-cp310-cp310-win_amd64.whl
Size 607.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
0c1f353dea8ecb827c4e482788058bda356c1e3706ad262c6d91d0971362c287
BLAKE2b-256 checksum
How to use checksums
3e3909fb12128d39736484e9b8107fcd020c2312165d3569f6d29664d7237107
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL cutde-26.3.6-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
67b30bbbd55ef9f54e1e083d85bc6787cd375cce8181e93bd5c1c3fa9974dab8
BLAKE2b-256 checksum
How to use checksums
e97dc090781593902bf801b17621ea641bc6c52415ae03785ca0812abfde237c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL cutde-26.3.6-cp310-cp310-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
2db78593eefc802a16394d7ac1a5cba5028e781934025c4d1164a0f6a71f0274
BLAKE2b-256 checksum
How to use checksums
3e7147a2eceb1ee39d69a9cd0fc41c4e8bd7be01821a584268a88a6363053ad4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cutde-26.3.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 901.0 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5f5eded0ce0a4213d8ca65cc0aed3b49ce4f7d0a6bf70621c7f3a9039e0f3da4
BLAKE2b-256 checksum
How to use checksums
4f95f6334316c65f01e06f13e81facc90f0f074606309975193ced7ba3997970
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL cutde-26.3.6-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 844.3 kB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
30363a5995f04ee694eddf9e29377e7bbbecfa62af9b874ad10d918b08de1473
BLAKE2b-256 checksum
How to use checksums
36c8d9d27bf2356a9d7bcd7c43a2c1274770b663758d68fc30ad35f6dc963b25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp310-cp310-macosx_11_0_arm64.whl

Download URL cutde-26.3.6-cp310-cp310-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
212c20f9c7341082a94a8d89645230773fbc5f933fa75f0cf1cf25d5b90dbd12
BLAKE2b-256 checksum
How to use checksums
02940f5ec8b4e59519de89a6375df8845544ff2d4b340f28a079182a202960e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp310-cp310-macosx_10_9_x86_64.whl

Download URL cutde-26.3.6-cp310-cp310-macosx_10_9_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
e55a9b45f75dc22810f710ae7bc0cdbc8e02d8f40968b14c9960f81ad75a5e36
BLAKE2b-256 checksum
How to use checksums
2fd64292b5348c8a5c1e8023dff949eee114501e234870536d23cf7210dd5804
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp39-cp39-win_amd64.whl

Download URL cutde-26.3.6-cp39-cp39-win_amd64.whl
Size 611.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
28a0034b8e372fb2de235c30dd2035ae802dfe8557801d0f411fa68dce4e08c4
BLAKE2b-256 checksum
How to use checksums
93a2bdbe55c025bfb5825813ac29556b24bb8f52d0b21afa64c032677bb7e298
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL cutde-26.3.6-cp39-cp39-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
549c89574d06c552739c3c213a5ead3ab78d1b4dea119b33e9bd831d708e70fe
BLAKE2b-256 checksum
How to use checksums
4245ca08d66cf552dd839bd99eb9f3d5ee47fc76f3d1dbd89c0d337420eaca4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp39-cp39-musllinux_1_2_aarch64.whl

Download URL cutde-26.3.6-cp39-cp39-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
2ebd6f7f95d8ae763deb32bd5e89c6d046e290699a92bd829b36ce0ede35edc4
BLAKE2b-256 checksum
How to use checksums
0578d290393e7be1202f52dee16ca1421b0774240f635aed083d58720b6fbf65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cutde-26.3.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 901.5 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
eae9c12ca66d897496144e5ee23883836ddd3213e11262b4f9ff1526f58bdab7
BLAKE2b-256 checksum
How to use checksums
bee68380976fbe6a0f9647a9bbf0e730325b309556af74b696df5fe67972a5df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL cutde-26.3.6-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 844.5 kB
Tags CPython 3.9 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2aa889f51615807a6f0a1fe99bc38fb09a5f26e9ed7f1c1e55ffb9d0cf2d72aa
BLAKE2b-256 checksum
How to use checksums
39bd9773240acb06e78e7a42c650acd3a7c65545f16e4c913c768f450837d654
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp39-cp39-macosx_11_0_arm64.whl

Download URL cutde-26.3.6-cp39-cp39-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5033a9f2b0487397bb656b6d9f285bef2805b1eac9764000736a9a6caae9c755
BLAKE2b-256 checksum
How to use checksums
4b924728d48be16e514b6aa311c075e8c9879db4fc1ca3d41c2bfe77e0722179
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp39-cp39-macosx_10_9_x86_64.whl

Download URL cutde-26.3.6-cp39-cp39-macosx_10_9_x86_64.whl
Size 1.2 MB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
8f605d6f7123747cc6ce6a539d91f0f43da44053a44aac20f005c31a2305a8fa
BLAKE2b-256 checksum
How to use checksums
dce7969b55a0c3ae30e8f3239b7243c945d7da4c389453908095aa7fe9711add
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp38-cp38-win_amd64.whl

Download URL cutde-26.3.6-cp38-cp38-win_amd64.whl
Size 607.1 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
d2728f433f2741fb2e10c4176b25d3b7d77124d7d31e7fa696daf0fdef8ae25b
BLAKE2b-256 checksum
How to use checksums
226bda7f6f7d2dddee11fe12a6ea4fde751a73703480673812b0f1090bc27583
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL cutde-26.3.6-cp38-cp38-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2133f4d401dd62a7da4849516efc3991a3d42552b916d0fd57cf55777bc9528b
BLAKE2b-256 checksum
How to use checksums
f75021cd7759e1951f9d1bb8034799c3709314b7d0ff37bb785bd942d1e2a255
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp38-cp38-musllinux_1_2_aarch64.whl

Download URL cutde-26.3.6-cp38-cp38-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.8 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
46814a503fa23021f6c1849e1e0410f14813a2fe758f9f3da0689c2ec665b88f
BLAKE2b-256 checksum
How to use checksums
83fe0ee455cb16d5a595ef9cc84c565fc5c6613d84db723986c0d011d60f65ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL cutde-26.3.6-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 899.9 kB
Tags CPython 3.8 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
51072eabe9183af60f43b225e4931bdae44cc30d20b2cd5f5de1f2e42bfc3e86
BLAKE2b-256 checksum
How to use checksums
58cfc9971b85b2b75b51cead6e661e3a368e240436e252aa8ec17a08c2690dbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL cutde-26.3.6-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 843.0 kB
Tags CPython 3.8 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5a4075b7f249d75023fa7f4dafaa64dc67841aaa49bd652f73f6551246f31c20
BLAKE2b-256 checksum
How to use checksums
6506029245c7da5656129713081a9b7a12a277f1900c9f59b181d9fc9e08fb9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp38-cp38-macosx_11_0_arm64.whl

Download URL cutde-26.3.6-cp38-cp38-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
af5a91dddc684d26ceb0532060404a8b2b6bf9b7c77bb249cdd098cb82f3bb74
BLAKE2b-256 checksum
How to use checksums
66102f80e70e60f8176604933362cf3d58ce1fc214aeb32b5c656712c02469ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / cutde-26.3.6-cp38-cp38-macosx_10_9_x86_64.whl

Download URL cutde-26.3.6-cp38-cp38-macosx_10_9_x86_64.whl
Size 1.2 MB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
30878570b0b9094507b5ee4fb9b13bf6395756c8119a7ac4262ea3b9f4eeed1f
BLAKE2b-256 checksum
How to use checksums
9b5a1cfe22ebf0f95344f90fae84be75970d3ff8f45a177adfd00aa97cd6df08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

26.3.6 This release

50 release files

23.6.25

1 release file

22.3.17

1 release file

21.8.22

1 release file

21.8.20

1 release file

21.8.13

1 release file

21.8.11

1 release file

21.6.14

1 release file

21.6.12

1 release file

21.4.13

1 release file

21.4.5

1 release file

21.4.1

1 release file

18.5.29

1 release file

18.5.15

1 release file

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