Skip to main content

PyPI version

Crackle: Next gen. 3D segmentation compression codec.

# Command Line Interface
# cckl (compress) and dckl (decompress) are single purpose command line
# utilities like gzip and gunzip 
cckl data.npy # creates data.ckl
cckl -m 5 data.npy # use a 5th order context model
cckl --allow-pins data.npy # use pin encoding for labels
cckl --allow-pins -m 5 data.npy # use pins and markov model
cckl -m 0 data.ckl # change markov model order

dckl data.ckl # recovers data.npy

# crackle is a fully featured utility with a command tree

crackle test data.ckl # check for file corruption

# convert between file types if you have the libraries installed
crackle convert -z --to tiff -k data.ckl # data.ckl -> zlib compressed data.tiff
crackle convert --to nrrd data.ckl # data.ckl -> data.nrrd

crackle info data.ckl # print basic info about the file
crackle labels data.ckl # print labels
crackle view data.ckl # visualize the file

crackle downsample data.ckl -o data_downsampled.ckl # perform 2x2x1 mode pooling and write the output
crackle meta data.ckl # generate data.ckl.meta.parquet

# if you have a directory of 0000.ckl, 0001.ckl, ... etc
# where each incremental number is a z-slice
# you can combine them into a single file
# filenames are sorted in alphabetical order, ensure they 
# are padded
crackle stack ./  # outputs merged.ckl
import crackle
import numpy

labels = np.load("example.npy") # a 2D or 3D dense segmentation

binary = crackle.compress(labels, allow_pins=False, markov_model_order=0)
labels = crackle.decompress(binary, parallel=0) # use all cores (default)

# faster extraction of binary images
binary_image = crackle.decompress(binary, label=1241)

# get unique labels without decompressing
uniq = crackle.labels(binary) 
# get unique labels for a z-range
uniq = crackle.labels_for_z_range(binary, 5, 10)
# get num labels without decompressing
N = crackle.num_labels(binary) 
# get min and max without decompressing
mn = crackle.min(binary)
mx = crackle.max(binary)
# check if label in array in log(N) time
has_label = crackle.contains(binary, label)
# extract a range of labels in something like log(N) time
labels = crackle.contains_range(binary, low, high)

# iterate over all binary images rapidly. crop
# close crops to the ROI and makes iteration a bit faster
for label, binimg in crackle.each(binary, crop=True):
  pass

# iterate over 255 labels at a time. Useful if your downstream
# processing supports multilabel images but you need an 8x reduction
# in memory usage compared to a uint64 image. Much faster than binary
# image iteration. img is reused for 255 iterations before being replaced.
for label, tmp_label, img in crackle.each(binary, multi=True):
  pass

# Remap labels without decompressing. Could
# be useful for e.g. proofreading.
remapped = crackle.remap(
  binary, { 1: 2, 2: 3, ... },
  preserve_missing_labels=True
)

# change dtype to smallest possible w/o precision loss
remapped = crackle.refit(binary)
# renumber array and change dtype to smallest possible
remapped = crackle.renumber(binary, start=0)

is_equal = crackle.array_equal(binary1, binary2)
arr == arr2 # syntactic sugar for CrackleArrays
arr.array_equal(arr2) # method call for CrackleArrays

# for working with files
# if .gz is appended to the filename, the file will be
# automatically gzipped (or ungzipped)
crackle.save(labels, "example.ckl.gz")
labels = crackle.load("example.ckl.gz")

# Save a crackle array as a numpy array
# in a memory efficient manner.
crackle.save(binary, "example.npy.gz")

arr = crackle.CrackleArray(binary, parallel=0) # 0 means use all cores (default)
res = arr[:10,:10,:10] # array slicing (efficient z ranges)
arr[:,:,30] = 20 # write to a crackle array (whole z slices write faster)
20 in arr # log(N) check
arr = arr.numpy() # convert to a numpy array

# low memory extraction of point clouds
ptc = crackle.point_cloud(binary) # { label: np.ndarray, ... }
ptc = crackle.point_cloud(binary, label=777)
ptc = crackle.point_cloud(binary) 

# rapid and low memory
voxel_counts = crackle.voxel_counts(binary)
centroids = crackle.centroids(binary)
bbxes = crackle.bounding_boxes(binary)

# extract the 4-way or 6-way voxel connectivity graph
# note: 4-way is stored in the format so is extremely fast
vcg = crackle.voxel_connectivity_graph(binary, connectivity=6)

# surface area for 6-connected region contacts
contacts = crackle.contacts(binary, anisotropy=(32,32,40))

# low memory CCL, the more memory you provide, the faster it goes
ccl_binary = crackle.connected_components(
  binary, 
  connectivity=26, # 6 (faces) & 26 (faces,edges,corners) supported
  memory_target=int(1e9), # bytes
  progress=True,
  return_mapping = False, # can also return { cc label: original label }
)

# Create a 2x2 downsampled crackle volume
downsampled_binary = crackle.mode_pooling_2x2x1(binary)

# building big arrays with low memory
binary = crackle.zeros([5000,5000,5000], dtype=np.uint64, order='F')

part1 = np.zeros([1000, 1000, 1000], dtype=np.uint32)
part2 = crackle.ones([1000, 1000, 1000], dtype=np.uint32)

binary = crackle.asfortranarray(binary)
binary = crackle.ascontiguousarray(binary)

# creates a crackle binary with part1 stacked atop part2
# in the z dimension. x and y dimensions must match
# without needing to decompress anything.
binary = crackle.zstack([ part1, part2 ])

# splits a crackle binary into before, middle (single slice),
# and after sections without decompressing.
before, middle, after = crackle.zsplit(binary, z=742)

# splits binary into individual z slices
sections = crackle.zshatter(binary)

This repository is currently Beta. It works and the format is reasonably fixed. There may be some improvements down the line (such as 3d compression of crack codes, 2d chunking), but they will be a new format version number if necessary to retain backwards compatibility.

Crackle is a compression codec for 3D dense segmentation (labeled) images. The algorithm accepts both signed and unsigned integer labels (though the implementation currently has some restrictions on signed integers). It is written in C++ and has Python bindings. Crackle uses a two pass compression strategy where the output of crackle may be further comrpessed with a bitstream compressor like gzip, bzip2, zstd, or lzma. However, if the Crackle binary, which is already small, is not further compressed, it supports several efficient operations:

  • Query if a label exists in the image
  • Extract unique labels
  • Remap labels
  • Decode by Z-Range
  • Computing slice by slice multithreaded

Crackle is inspired by Compresso [1]. Compresso innovated by separating labels from boundary structures. There were conceptually four (but really five) elements in the format: header, labels, bit packed and RLE encoded binary image boundaries, and indeterminate boundary locations.

Crackle improves upon Compresso by replacing the bit-packed boundary map with a "crack code" and can also use 3D information to reduce redundancy in labels using "pins".

See benchmarks for more information on Crackle's size and compute effiency.

Optional Performance Enhancing Sidecar .ckl.meta.parquet File

Counting voxels or measuring bounding boxes is fully supported by the bare crackle file, but requires computation which on large images or numerous images can become substantial. Therefore, crackle comes with a facility for generating a .parquet file containing this metadata information for faster retrieval. Currently, to avoid engineering complexity, crackle does not make use of this file, so use pyarrow, duckdb, or similar to read it. This extra file adds nothing except performance enhancement for some use cases. All data can be generated from the crackle file alone, and nothing is lost if the sidecar file is lost.

You will need pyarrow installed to generate this file: pip install pyarrow

crackle -M myfile.ckl # generates myfile.ckl.meta.parquet
import crackle

arr = crackle.aload("myfile.ckl")
arr.cache_meta("myfile.ckl.meta.parquet") # generate the sidecar file

You can then read the parquet files using your favorite parquet reader. Sometimes it is faster to use crackle methods on single files, but when tested on hundreds of thousands of files, reading voxel counts out of parquet was 100x faster (20 files per second versus 2000 on a Macbook M3).

Parquet Schema

Bbox type is uint16 unless the xy dimensions of the crackle file exceed 16-bits (65,535) in which case it is uint32.

label: uint64
voxel_count: uint32
min_x: uint16 or uint32
max_x: uint16 or uint32
min_y: uint16 or uint32
max_y: uint16 or uint32
# if it's a 3d crackle file
min_z: uint16 or uint32
max_z: uint16 or uint32

Reading Example

import pyarrow.parquet as pq
table = pq.read_table("myfile.ckl.meta.parquet")
print(table)

Installation

pip install crackle-codec 

Building from source (requires cmake and a c++ compiler):

git clone https://github.com/seung-lab/crackle.git
cd crackle
git submodule update --init --recursive # fetches google/crc32c library
python setup.py develop

Versions

Format Version Description
0 Initial release w/ flat, pins, crack codes with finite context modeling. Beta.
1 Incr. header to 29 bytes from 24. num_label_bytes u32->u64, adds crcs to protect stream components.

Stream Format

Section Bytes Description
Header v0: 24, v1: 29 Metadata incl. length of fields.
Crack Index header.sz * sizeof(uint32), v1: +4 Number of bytes for the crack codes in each slice + CRC32c(le)
Labels header.num_label_bytes Can be either "flat" labels or "pins". Describes how to color connected components.
Crack Codes Variable length. Instructions for drawing crack boundaries.
Labels crc32c (v1 only) 4(le) v0: n/a, v1: crc32c of the labels binary.
Crack crc32c (v1 only) header.sz * 4(le) v0: n/a, v1: crc32c of the uncompressed uint32_t fortran order connected component labeling of each z-slice.

A Note on CRCs

CRCs protect each step of the decoding process. The fixed width header is protected by crc8, which contains information for decoding the crack index. The crack index is in turn protected by a crc32c. This is not overkill because a very large volume or a volume that is randomly accessible in XY as well as Z would need a crc32 vs a crc16.

The crack index is used for decoding the structural information (the connected components for each slice). We store a crc32c for each z-slice. This allows random z access to be validated while balancing against the storage cost of creating too many crc (e.g. vs. once per a grid).

We also store a crc32c for the labels binary independently of the crack codes.

All crcs are stored little endian.

Why not store a single crc for the entire uncompressed image? This would make it difficult to validate as a single crackle file could represent many terabytes of data. It would also make it difficult to edit the labels (remap) independently of the structure. Storing a crc32c per a z-slice also allows for z-stacking independent slices without recalculating crcs.

The downside to this strategy is a small increase in the file size and an increase in false positives for crc32s. This is the price of having the format be more of a random-access array format than a bitstream format. However, as crackle is designed to be two stage compressed, for example, with lzip, an LZMA variant with error correction properties, these issues are mitigated when archived.

crc8 (0xe7, initialized with 0xFF) was selected due to its ability to reliably detect two bit flips in up to 247 bits of message data, the best available for our header length.

crc32c was selected as the polynomial due to the availability of high performance implementations. This is important to avoid CRC calculation being a significant cost to the codec.

Error Detection and (Limited, Human Assisted) Correction

Due to this mutli-crc strategy, it is possible to narrow down corruptions to the section of the binary where they occur. For example, if you are concerned with only z=1-100 and the error occurs at z=200, you're ok. If the error occurs in the labels_binary, but you were planning on applying a full new mapping anyway, you can get away with discarding the extant labeling. Certain bit flips in the labels binary will create out of range keys, which will aid in identifying exactly where the error occured. Headers can be repaired potentially be human inspection (if they know the dataset).

Header

Attribute Value Type Description
magic crkl char[4] File magic number.
format_version 0 or 1 u8 Stream version.
format_field bitfield u16 See below.
sx, sy, sz >= 0 u32 x 3 Size of array dimensions.
grid_size log2(grid_size) u8 Stores log2 of grid dimensions in voxels.
num_label_bytes Any. u64 Number of bytes of the labels section. Note the labels come in at least two format types.
crc8 Any. u8 CRC8 of format_field thru num_label_bytes using polynomial 0xe7 (implicit) and 0xFF initialization.

Format Field (u16): DDSSCLLFGOOOOURR (each letter represents a bit, left is LSB)

DD: 2^(DD) = byte width of returned array (1,2,4,8 bytes)
SS: 2^(SS) = byte width of stored labels (sometimes you can store values in 2 bytes when the final array is 8 bytes)
C: 1: crack codes denote impermissible boundaries 0: they denote permissible boundaries.
LL: 0: "flat" label format, 1: fixed width pins (unused?) 2: variable width pins 3: reserved
F: whether the array is to be rendered as C (0) or F (1) order
G: Signed (if (1), data are signed int, otherwise unsigned int)
OOOO: Nth-Order of Markov Chain (as an unsigned integer, typical values 0, or 3 to 7). If 0, markov compression is disabled.
U: if 0, unique labels are sorted, else, unsorted
R: Reserved

CRC8 only covers the header. It doesn't cover the magic number or format version since those are easily human correctable if needed.

Flat Label Format

Attribute Type Description
num_unique u64 Number of unique labels in this volume.
unique_labels stored_type[num_unique] Sorted ascending array of all unique values in image, stored in the smallest data type that will hold them.
cc_per_grid smallest_type(sx * sy)[sz] Array containing the number of CCL IDs in each grid (usually a z-slice).
cc_to_labels smallest_type(num_labels)[sum(cc_per_grid)] Array mapping CCL IDs to their proper value by indexing the unique labels array.

Flat labels are random access read, allow efficient reading of unique labels, efficient remapping, and efficient search for a given label's existence. Since the connected component labels can often use a smaller byte width than the unique values, even noise arrays can see some value from compression.

Encoding flat labels is fast.

Condensed (Variable Width) Pins Label Format

Attribute Type Description
background_color stored_data_width Background color of image.
num_unique u64 Number of unique labels in this volume.
unique_labels stored_type[num_unique] Sorted ascending array of all unique values in image, stored in the smallest data type that will hold them.
cc_per_grid smallest_type(sx * sy)[sz] Array containing the number of CCL IDs in each grid (usually a z-slice).
fmt_byte u8 00CCDDNN DD: 2^(DD) is the depth width NN: 2^(NN) is the num pins width, CC: 2^(CC) is the single components width.
pin_section Bitstream to end of labels section. Contains pin information.

PIN SECTION: | PINS FOR LABEL 0 | PINS FOR LABEL 1 | ... | PINS FOR LABEL N |

PINS: | num_pins | INDEX_0 | INDEX_1 | ... | INDEX_N | DEPTH_0 | DEPTH_1 | ... | DEPTH_N | num_single_labels | CC 0 | CC 1 | ... | CC N |

Both num_pins and num_single_labels use the num_pins_width.

Note that INDEX_0 to INDEX_N are stored with a difference filter applied to improve compressibility.

A pin (color, position, depth) is a line segment that joins together multiple connected component IDs and labels them with a color (an index into UNIQUE LABELS) in order to use 3D information to compress the labels as compared with the flat label format. Pins are slow to compute but fast to decode, however random access is lost (a full scan of the labels section is needed to decode a subset of crack codes). The most frequent pin is replaced with a background color. Like with flat, efficient reading of unique labels, efficient remapping, and search are supported.

Depending on the image statistics and quality of the pin solver, pins can be much smaller than flat or larger (some heuristics are used to avoid this case). An excellent example of where pins do well is a binary image where remarkable savings can be achieved in the labels section (though overall it is probably a small part of the file).

For very short pins (e.g. depth 0 or 1) that take more bytes to record than simply listing the corresponding CC label, we list the CC label instead. This calculation is made depending on the dimensions of the image and the max pin depth, and the byte width of the CCL labels.

Example calculation. For a 512 x 512 x 32 file with an average of 1000 CCL's per a slice and a maximum pin depth of 30, a pin takes 4 index + 1 depth = 5 bytes while a CCL takes 2 bytes. Therefore, depth 1 and 2 pins can be efficiently replaced with 1 and 2 CCL labels for a 60% and 20% savings respectively. CCLs are also difference coded to enhance second stage compressibility.

Fixed Width Pins (disabled)

| BACKGROUND COLOR (STORED_DATA_WIDTH) | NUM_LABELS (u64) | UNIQUE LABELS (NUM_LABELS \* STORED_DATA_WIDTH) | PIN SECTION |

PIN SECTION: |PIN0|PIN1|PIN2|...|PINN| PIN: |LABEL|INDEX|DEPTH|

A fixed width variant of pins has also been developed but is not enabled. It frequently is not significantly smaller than flat outside of special circumstances such as a binary image. An advantage this format would have over condensed is that the pins can be sorted and searched rapidly by index, which reduces the amount of reading one might have to do on an mmapped file. Please raise an issue if this seems like something that might be useful to you.

Crack Code Format

CRACK CODE: MARKOV MODEL | CHAIN 0 | CHAIN 1 | ... | CHAIN N |

CHAIN: | BEGINNING OF CHAIN INDEX (sizeof(sx * sy)) | BIT PACKED MOVES (2 bits each) |

MARKOV MODEL (if enabled): priority order of moves UDLR packed per a byte. 4^order bytes.

The BEGINNING OF CHAIN INDEX (BOC) locates the grid vertex where the crack code will begin. Vertices are the corners of the pixel grid, with 0 at the top left and sx*sy-1 at the bottom right (fortran order).

The crack code is a NEWS code (up,right,left,down). Impossible combinations of directions are used to signal branching and branch termination. The next chain begins in the next byte when a termination signal causes the current branch count to reach zero.

There may be ways to further improve the design of the crack code. For example, by applying a difference filter a few more percent compression under gzip can be obtained. In the literature, there are other shorter codes such as a left,right,straight (LRS) code and fancy large context compressors that can achieve fewer than one bit per a move.

Boundary Structure: Crack Code

Our different approach is partially inspired by the work of Zingaretti et al. [2]. We represent the boundary not by border voxels, but by a "crack code" that represents the edges between voxels. This code can be thought of as directions to draw edges on a graph where the vertices are where the corners of four pixels touch and the edges are the cracks in between them.

Since this regular graph is 4-connected, each "move" in a cardinal direction can be described using two bits. To represent special symbols such as "branch" and "terminate", an impossible set of instructions on an undirected graph such as "left-right" or "up-down" can be used (occupying 4 bits). In order to avoid creating palendromic sequences such as (3, 0, 3) meaning (down, branch) but can be read (terminate, down), we can use the left-right impossible directions to rewrite it as (3, 2, 1).

While the image is 3D, we treat the image in layers because working in 3D introduces a large increase in geometric complexity (a cube has 6 faces, 12 edges, and 8 corners while a square has 4 edges and 4 corners). This increase in complexity would inflate the size of the crack code and make the implementation more difficult.

Label Map: Method of Pins

Each 2D CCL region must has a label assigned. Due to the 2D nature of the crack code, we cannot use 3D CCL. However, for example, a solid cube of height 100 would need 100 labels to represent the same color on every slice as in Compresso.

It is still possible to reduce the amount of redundant information even without 3D CCL. For each label, we find a set of vertical line segments ("pins") that fully cover the label's 2D CCL regions. Sharp readers may note that this is the NP-hard set cover problem.

Once a reasonably small or minimal set of pins are found, they can be encoded in two forms:

Condensed Form: [label][num_pins][pin_1][pin_2]...[pin_N] Fixed Width Form: [label][pin_1][label][pin_2]...[label][pin_N] Pin Format: [linear index of pin top][number of voxels to bottom]

Fixed width example with label 1 with a pin between (1,1,1) and (1,1,5) on a 10x10x10 image: [1][111][4]

An alternative formulation [label][idx1][idx2] was shown in an experiment on connectomics.npy.cpso to compress slightly worse than Compresso labels. However, this alternative formulation theoretically allows arbitrary pin orientations and so might be useful for reducing the overall number of pins.

The condensed format is a bit smaller than the fixed width format, but the fixed width format enables rapid searches if the set of pins are sorted by either the label (enables fast label in file) or the likely more useful sorting by top index to filter candidate pins when performing random access to a z-slice.

References

  1. Matejek, B., Haehn, D., Lekschas, F., Mitzenmacher, M., Pfister, H., 2017. Compresso: Efficient Compression of Segmentation Data for Connectomics, in: Descoteaux, M., Maier-Hein, L., Franz, A., Jannin, P., Collins, D.L., Duchesne, S. (Eds.), Medical Image Computing and Computer Assisted Intervention − MICCAI 2017, Lecture Notes in Computer Science. Springer International Publishing, Cham, pp. 781–788. https://doi.org/10.1007/978-3-319-66182-7_89

  2. Zingaretti, P., Gasparroni, M., Vecci, L., 1998. Fast chain coding of region boundaries. IEEE Transactions on Pattern Analysis and Machine Intelligence 20, 407–415. https://doi.org/10.1109/34.677272

  3. Freeman, H., 1974. Computer Processing of Line-Drawing Images. ACM Comput. Surv. 6, 57–97. https://doi.org/10.1145/356625.356627

Metadata

Release files for crackle-codec 0.47.1

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

Source distribution (sdist)

Source distribution for crackle-codec 0.47.1
File Size Uploaded
crackle_codec-0.47.1.tar.gz 139.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for crackle-codec 0.47.1
File
crackle_codec-0.47.1-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
crackle_codec-0.47.1-cp315-cp315-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ x86-64 Details
crackle_codec-0.47.1-cp315-cp315-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ ARM64 Details
crackle_codec-0.47.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
crackle_codec-0.47.1-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
crackle_codec-0.47.1-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
crackle_codec-0.47.1-cp315-cp315-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.15+ x86-64 Details
crackle_codec-0.47.1-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
crackle_codec-0.47.1-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
crackle_codec-0.47.1-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
crackle_codec-0.47.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
crackle_codec-0.47.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
crackle_codec-0.47.1-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
crackle_codec-0.47.1-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
crackle_codec-0.47.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
crackle_codec-0.47.1-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
crackle_codec-0.47.1-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
crackle_codec-0.47.1-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
crackle_codec-0.47.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
crackle_codec-0.47.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
crackle_codec-0.47.1-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
crackle_codec-0.47.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
crackle_codec-0.47.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
crackle_codec-0.47.1-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
crackle_codec-0.47.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
crackle_codec-0.47.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
crackle_codec-0.47.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
crackle_codec-0.47.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
crackle_codec-0.47.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
crackle_codec-0.47.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
crackle_codec-0.47.1-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
crackle_codec-0.47.1-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
crackle_codec-0.47.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
crackle_codec-0.47.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
crackle_codec-0.47.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
crackle_codec-0.47.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
crackle_codec-0.47.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
crackle_codec-0.47.1-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
crackle_codec-0.47.1-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
crackle_codec-0.47.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
crackle_codec-0.47.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
crackle_codec-0.47.1-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
crackle_codec-0.47.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
crackle_codec-0.47.1-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
crackle_codec-0.47.1-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
crackle_codec-0.47.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
crackle_codec-0.47.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
crackle_codec-0.47.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
crackle_codec-0.47.1-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
crackle_codec-0.47.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
crackle_codec-0.47.1-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
crackle_codec-0.47.1-cp39-cp39-musllinux_1_2_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ ARM64 Details
crackle_codec-0.47.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
crackle_codec-0.47.1-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
crackle_codec-0.47.1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
crackle_codec-0.47.1-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details

Total release size: 46.5 MB

Release files / crackle_codec-0.47.1.tar.gz

Download URL crackle_codec-0.47.1.tar.gz
Size 139.8 kB
Tags Source
SHA-256 checksum
How to use checksums
886ac891b8fede248c591804a39b2d536abfd18302ec258aeadfed9b4a9e675f
BLAKE2b-256 checksum
How to use checksums
9d8d33714d785f501f959a4a8d862ca17e6374a0e63115de24b7ee22753a5f7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp315-cp315-win_amd64.whl

Download URL crackle_codec-0.47.1-cp315-cp315-win_amd64.whl
Size 598.9 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
e97cf71b37670fdc75a21934833744e5b606ba20db5c3d49bd097d08fc949fdc
BLAKE2b-256 checksum
How to use checksums
1daf0452b145e15d1189cf2b58198d297d038b6959482bcc08cb706a9d0caa17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL crackle_codec-0.47.1-cp315-cp315-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.15 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d1a9dffcab0449cd21006d0c4fb1ebd97138df8a92c28ea0b9634ab00c198787
BLAKE2b-256 checksum
How to use checksums
a12b236d387fc199317b00ac01428e907cfe5b018d9582d7e5a06cd8468c16d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp315-cp315-musllinux_1_2_aarch64.whl

Download URL crackle_codec-0.47.1-cp315-cp315-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.15 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
19c03f198273197bb8f6e0dce5903636f4b3bbc98fb6db8963f5807eb4e45048
BLAKE2b-256 checksum
How to use checksums
c7ea94e0bf1f8001ed1c180b510af7eb696d2f432200c6060a704570e1fd77a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL crackle_codec-0.47.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 527.2 kB
Tags CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e7582595a4dc8228a1fa8da3223b294a38ee2d6d6d62410c455048e1e98012c2
BLAKE2b-256 checksum
How to use checksums
49582c2a0d5a54d41d976179eabe2d827945b98a68e6ae8c89fa1848328952d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL crackle_codec-0.47.1-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 507.0 kB
Tags CPython 3.15 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
605e009b73bbfc70619e7e6883e8c7ac1d867efaf43320321e1e0cd28c98f7c7
BLAKE2b-256 checksum
How to use checksums
fe1f6e5fcf939b78859f10c357212c092480899a6a6f3f51637be00adbc1ae8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp315-cp315-macosx_11_0_arm64.whl

Download URL crackle_codec-0.47.1-cp315-cp315-macosx_11_0_arm64.whl
Size 531.8 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
db6bb636371db7cb9791938480e46fbdd433091431a32dee62010c8fb7776f24
BLAKE2b-256 checksum
How to use checksums
4f78cee00a21218dfc785c35af8d323486be866f75130d005d4e518ef8e84f07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp315-cp315-macosx_10_15_x86_64.whl

Download URL crackle_codec-0.47.1-cp315-cp315-macosx_10_15_x86_64.whl
Size 557.2 kB
Tags CPython 3.15 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1ffb2de62de70fcd50c110e69570dce869413f106dbb613becd1ff9863aabe44
BLAKE2b-256 checksum
How to use checksums
ec82ecf6430a660b1e1dfa428667aff887a71c47daa030872efbfe796b00e041
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314t-win_amd64.whl

Download URL crackle_codec-0.47.1-cp314-cp314t-win_amd64.whl
Size 605.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
c19fcd1a01131c358c0db305bb3dbe37c25055418689229928e505c21409edd6
BLAKE2b-256 checksum
How to use checksums
8b1ac5d0a8a7e49eb2ca9870535bfd592cad32c827e79e5da6db26c090f4c456
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL crackle_codec-0.47.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e09104f22aa8f4dc458c9688d64996fab40e8d8462f15941b21be21a5804cc34
BLAKE2b-256 checksum
How to use checksums
224d7aba70be9f0e06e4dabebdf7e584ce4037e21f67b3d13d35c41480085978
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL crackle_codec-0.47.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
aee9845541772fc1bd7b30748a357765095f8283a62029ca180b0cd91d233cb9
BLAKE2b-256 checksum
How to use checksums
7abc3b596c782d0a068a04c1b096b87a6a34173a2e2b54ab856670f448a6ac02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL crackle_codec-0.47.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 528.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dd03b7abeec8b0c7a1a847839f5df83ef7db0da3ba7fa3f091123c1fcc11489b
BLAKE2b-256 checksum
How to use checksums
de1e376156e967af501be409b8005d83cb2eff3348c902d6455df536170f218e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL crackle_codec-0.47.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 506.2 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
178fb9ed28b604bd0119a196ce618ce9709c23ded53cb99b26a5467315265ca9
BLAKE2b-256 checksum
How to use checksums
b816721ac58bc706e8a796f4b1b6217f4409d8970f40dd2a855e56cc8c26fdb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314t-macosx_11_0_arm64.whl

Download URL crackle_codec-0.47.1-cp314-cp314t-macosx_11_0_arm64.whl
Size 537.2 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e4fc61aae54945bb0b52e38e11d6c85047e5ea4b187e0c6892b4f35d54dd0052
BLAKE2b-256 checksum
How to use checksums
415b8fac5f83d291cb1c65017434c22db32ee17f1d97808bda626c670dadcb21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL crackle_codec-0.47.1-cp314-cp314t-macosx_10_15_x86_64.whl
Size 565.2 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
53983459013d2cde94b2d666e09fbd46417791613e3cdc2eb6dc55f6ae9f3cba
BLAKE2b-256 checksum
How to use checksums
b4e721d89fd22b5a07e80e9b35a0d1a3e72256ca3023a53fb03cbe7bb6d6e656
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314-win_amd64.whl

Download URL crackle_codec-0.47.1-cp314-cp314-win_amd64.whl
Size 598.9 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
10044ca46ef4c7df2822f2ee5b7f287e7ceac89ee065e64fbe23fec2d6190407
BLAKE2b-256 checksum
How to use checksums
928e3b2cb3e16a9f97e3ef7d2ec7c03e12b6f75c86356e9f94d10f3baf8df0fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL crackle_codec-0.47.1-cp314-cp314-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6303fe045ffa122a0dcd8300b85acb44843047480d1c488184538b454fa58a83
BLAKE2b-256 checksum
How to use checksums
715258f459c9fa2e013092bc9c554a03a956335a65ed9a8afe7562d0a0a5c195
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL crackle_codec-0.47.1-cp314-cp314-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
e382ac3a15afec7ad265454928f11b11fb4dff0e21b7149d3e211e8fec3f99ce
BLAKE2b-256 checksum
How to use checksums
4112474d8373082037489a8bb3319f3643cab7e4f50b5fa53b0460bc6db72877
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL crackle_codec-0.47.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 528.8 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3d4337f8923560014722163f1e5196da159f8a53619e06ecb367178616550ec3
BLAKE2b-256 checksum
How to use checksums
39fc754cffb5d3cef2c1b8f3224b8814e71c30233d5219168ddcb4d156f22c3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL crackle_codec-0.47.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 506.6 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
90c48dc831b45b78e010384ee1d40ef72cc4fbbee1176e9888f0528e0685d38d
BLAKE2b-256 checksum
How to use checksums
bf47677cb2e3a9f3d480d76b01b084f4f9a15f3d8de2978730484b3e893cc2e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL crackle_codec-0.47.1-cp314-cp314-macosx_11_0_arm64.whl
Size 528.4 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4ab72b9c33f18800c93e33ca284c32a328f533a729f0d2862e57234f30aa7fa2
BLAKE2b-256 checksum
How to use checksums
4d32e858d0fcaf48ad77b0cb40e9d90ad652ee57f7370bbba90cd5dc7872a602
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp314-cp314-macosx_10_15_x86_64.whl

Download URL crackle_codec-0.47.1-cp314-cp314-macosx_10_15_x86_64.whl
Size 557.2 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
f0af8b22a78d907d0fd0606418578dfcf15c47941be13c1f79f779e5970cd900
BLAKE2b-256 checksum
How to use checksums
bc29abe0612c37d5b41a272376ecb6d689d531641c906bfb538eae9e2052bc5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp313-cp313-win_amd64.whl

Download URL crackle_codec-0.47.1-cp313-cp313-win_amd64.whl
Size 583.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
0129017ceb26cd7aa6bcb44fb434dc795eceb5ff884f9e3e05bac7a22a8960cf
BLAKE2b-256 checksum
How to use checksums
8dd8ca44fb244d56201b329d5576ffa57d1d904e4ce73961e5290947159e9d74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL crackle_codec-0.47.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
bfd1855cd4053514798ada3864ba84b1de7196baa7a1a2a5957d0053bb676505
BLAKE2b-256 checksum
How to use checksums
9bbddbfe7929c1a89bf1365240dd082dcdda1a28638925a98c3719682743a166
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL crackle_codec-0.47.1-cp313-cp313-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
10be6bc031718b35d14d8a9b5765fc6aa1bc7a88fa56db696be88fca8ed92604
BLAKE2b-256 checksum
How to use checksums
3ff6e573a0bb3853af99b38b6951dd91181d2592b16461bdc6eb3b73d65da051
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL crackle_codec-0.47.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 528.2 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8e47eddaaa58738058f02e6712218e69576f799b959cb99c01e0b9e9648f31f1
BLAKE2b-256 checksum
How to use checksums
67dc911a712b35ffdd02caabff2cd0eea95d4ad9423dc2794630fafc8677a1f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL crackle_codec-0.47.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 505.6 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
920855c03126c5a680c6a2ff712cd85c323a1adaeaa335ecccf4b599275e7b3a
BLAKE2b-256 checksum
How to use checksums
8838e8c1dc3ffcfb1159e96bfe0f4bd4dd209ac2b7ea29a3d7679fd188c8a6df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL crackle_codec-0.47.1-cp313-cp313-macosx_11_0_arm64.whl
Size 527.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7baf7afe87f53a685ad2130753984bb41198b09101c043b857550c742e0aa0dd
BLAKE2b-256 checksum
How to use checksums
693bb8de939c04bf5933a6d0a198c481f8b7366dd7214619149b27637e8db684
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL crackle_codec-0.47.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 556.7 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
0248cbea0c6046ea73086549d17ee82b1a60e5f287d62e4e2f3e3eb34b2fa424
BLAKE2b-256 checksum
How to use checksums
d7f17c07d198d327e63b7aabffde157def31d06d277939e99d3a381deaf22648
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp312-cp312-win_amd64.whl

Download URL crackle_codec-0.47.1-cp312-cp312-win_amd64.whl
Size 583.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d382ca62f059b47bbc9441d6fe014970d7a3bc7ec445a5d5b05ace84203eb580
BLAKE2b-256 checksum
How to use checksums
5f19fb937eb8303c49b94c0696a9bc66a718999f780d96bde990bbddc9ca9966
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL crackle_codec-0.47.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9e4bbdba61746a38da13e7932bca0a98b3d534b6b13f868cf94fa392addb236d
BLAKE2b-256 checksum
How to use checksums
e4aabc2a7ce01b9d14638c27302e4012af9287f725372e421032d2f3ab166d8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL crackle_codec-0.47.1-cp312-cp312-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
bc77c655063049ca588710ed25d59ac87196f856d11e980a2100717be359b6d4
BLAKE2b-256 checksum
How to use checksums
24c53bb9333a9e5514e6a2180564211ff6f94a5f9248f6ac07f90a8a06cfdcae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL crackle_codec-0.47.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 528.1 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f535ddeae5835ab7bb42e3785d0c674f07fc36cebaa146394c04a69cafbb7f2f
BLAKE2b-256 checksum
How to use checksums
8d45a9e0d2940a505e16561eca2dacea968fb3a67f05810928de01702d9e0f59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL crackle_codec-0.47.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 505.6 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3b58da3b636c2c0c5375fa00577ddec589edba9048f7ce5259706a6f330df252
BLAKE2b-256 checksum
How to use checksums
3f9041fb36d6ab6d28e1a007886a2d517c393f58dace492d071137a981175a1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL crackle_codec-0.47.1-cp312-cp312-macosx_11_0_arm64.whl
Size 527.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ddbfb59141aec3983e4d1b047cbd6c6ff13b41a453226a00d0c5f7d7116ed5a7
BLAKE2b-256 checksum
How to use checksums
324117d030f45c0909ad093060c98e4008355ff7c33dfb97e8d05584db8339ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL crackle_codec-0.47.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 556.7 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
001cbde85c2d661df4d28b64a020ca56067315bd6b75f7492d5e36af3046f772
BLAKE2b-256 checksum
How to use checksums
4be51fcad0219ad26b906b6a0a6a5cd7f0c71f767bd3fd981f91f896fb45fdbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp311-cp311-win_amd64.whl

Download URL crackle_codec-0.47.1-cp311-cp311-win_amd64.whl
Size 581.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5b930e34b874bdd78fd2861d7304e22d8640298b396c5bceab734bd17e7ef128
BLAKE2b-256 checksum
How to use checksums
de07b83bc29408089cca08e8cd616e0b0426008eda35b5b8d4ecff35cb50e33e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL crackle_codec-0.47.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b6312b7099afe26237de03bc0e3ba63b3dc4e7bc927aa5491fd62768cca07298
BLAKE2b-256 checksum
How to use checksums
7594c3c73101da0af734f7a6a0cdc8f5249ad2d84325b391a5376e3629d50079
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL crackle_codec-0.47.1-cp311-cp311-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
09f97dba043d7ae7467320d2f7cb160db6f39fb92008d1783a9af06e57a3a9f7
BLAKE2b-256 checksum
How to use checksums
8476ec8d7f1db3aa344d9654615d410dae6b124771f4092085628da32efc75ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL crackle_codec-0.47.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 521.9 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5d0f5bef412389fde00370999266319212440940d1b2de651fa5f547fef490c9
BLAKE2b-256 checksum
How to use checksums
0126b8a10542c64bde658c14a9ce2cc4e39e988a14f0130cd6d50a07b6691923
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL crackle_codec-0.47.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 501.8 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
88a4a61dbabc2f1e2a43120aa4f8685f8291bbdeddbd504c4906aedec06f033e
BLAKE2b-256 checksum
How to use checksums
17054870dfd5cc99ac9a150c15d21c40e4fe1f972b13b42fa249095783c6e7c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL crackle_codec-0.47.1-cp311-cp311-macosx_11_0_arm64.whl
Size 520.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d46b4666e8db169b9c4af3cd2cbd816356e2711fc5466f41e284c97cdb662070
BLAKE2b-256 checksum
How to use checksums
164197472188d738978c8c24c39f1f86af3dc64f7215d64b894fb7daaf87d621
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp311-cp311-macosx_10_9_x86_64.whl

Download URL crackle_codec-0.47.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 560.9 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
d893c9f0bd535ac8725b32dcaf1fdb3a1bce8b30b3b97f7895cd9e2700a9d546
BLAKE2b-256 checksum
How to use checksums
1719332ab2f972878f1c2680b55e2ec788fead5b89e9d607bbf82771b0587d03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp310-cp310-win_amd64.whl

Download URL crackle_codec-0.47.1-cp310-cp310-win_amd64.whl
Size 580.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e4ed4872a3377cfd0dc9a8b363a68e02169ff5ccdb911ba10e265c991634af45
BLAKE2b-256 checksum
How to use checksums
7a1276edc8f7080b4d04e312eab5871f6002eed6a93a0502dcf221f46ee28294
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL crackle_codec-0.47.1-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
efa480549131c5883831320049f5d3fc0a635f712d6c050f6fcd2460ee0b9532
BLAKE2b-256 checksum
How to use checksums
b30520f849b790672b6624f8b08433c8cda115ada38ef3f131a278cbaff645af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL crackle_codec-0.47.1-cp310-cp310-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
5351d668f602772fa54750d7b95b714a467138cd96c284b5cdfe00ad1f4bab47
BLAKE2b-256 checksum
How to use checksums
bdf7ec1489f8cee0b468726f0485a61f9b7be0786484602449ec40519bd8a752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL crackle_codec-0.47.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 523.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
eda61753e420b93eae5adbd125ac2f69f9e74a20586d811e78524ef24dfc1f53
BLAKE2b-256 checksum
How to use checksums
263515b40a4a02fff975a556443a5ce8a3cdb9d4ba2fe1239de37b301dc68157
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL crackle_codec-0.47.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 500.3 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5268204b1f18b22247d3e9e9b90c4d1ec4c2a842abd50f7fc30ed634462d1e15
BLAKE2b-256 checksum
How to use checksums
7f20c53d188645d44679de6eb513c8c8e76fd56cb6d22be2c95d5e9783ae81f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL crackle_codec-0.47.1-cp310-cp310-macosx_11_0_arm64.whl
Size 518.8 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3e2058a2ce8b234fe6aa6cb408b309516ba1aa26eaacde0587ea97097fd1c6f1
BLAKE2b-256 checksum
How to use checksums
fe3961918ea40e41a135636c58488c8ab37262ff590761be31f6f571620e15ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp310-cp310-macosx_10_9_x86_64.whl

Download URL crackle_codec-0.47.1-cp310-cp310-macosx_10_9_x86_64.whl
Size 559.7 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
82160f8c032ff26ef7bb4ea83e3a2591cf5fe4ba9a4ed0aee689bd9f31111135
BLAKE2b-256 checksum
How to use checksums
c71c0f9c7cf829c9d1508fae5d9410a187d8ace68840753800c8e6c842046225
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp39-cp39-win_amd64.whl

Download URL crackle_codec-0.47.1-cp39-cp39-win_amd64.whl
Size 581.5 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
daf95af9e378684c3445bf76f71e3b0edc7035561df1744a934a9db484e1104d
BLAKE2b-256 checksum
How to use checksums
80c774b5aa0a6653cea7226b23aeafab31bb7f5bf35073c7c9d19dcf7672e1cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL crackle_codec-0.47.1-cp39-cp39-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
16fabe8bf524a82f8b9de15c5b8b718a307915db1a9912244a0a8e7241d35af8
BLAKE2b-256 checksum
How to use checksums
57cf76022a89c5eb37963e3d57c2b9c83af63eca407716f7275da3324c16e03a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp39-cp39-musllinux_1_2_aarch64.whl

Download URL crackle_codec-0.47.1-cp39-cp39-musllinux_1_2_aarch64.whl
Size 1.5 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
f78b0d12405b4e1127ac0301d4ac5e73d9af5400ff68626b3f45745df7da244b
BLAKE2b-256 checksum
How to use checksums
dffb1a088754e6a549ef4e37cf735a61d3e6e1a3096f5b9850ec53df2b38c1fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL crackle_codec-0.47.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 523.6 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5c830ea2262b0ccbfef71d5b1aca2035db73164a3b5cc32c1d7fcdea5488b67c
BLAKE2b-256 checksum
How to use checksums
56711545f385cd4ebdae69623830f1b73ad630c97f48f6f235cc174b4456f776
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL crackle_codec-0.47.1-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 500.0 kB
Tags CPython 3.9 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d8b4b8f1eb4dcc1743101e80d15c869dd0153d3c7337a64bb8581cfd69308810
BLAKE2b-256 checksum
How to use checksums
fdf9f631aa4a41cf1b01922414f78b4ac898c97ae6304a00c6efea0dc506a841
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp39-cp39-macosx_11_0_arm64.whl

Download URL crackle_codec-0.47.1-cp39-cp39-macosx_11_0_arm64.whl
Size 518.9 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0dabf4fa1bea38c32c7f02a281f8949ca88cf863737f07c6881348a9b833d7b5
BLAKE2b-256 checksum
How to use checksums
08df14ac51ffea7550696429f353932d61988ca688c237f243e8f0935b3247e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / crackle_codec-0.47.1-cp39-cp39-macosx_10_9_x86_64.whl

Download URL crackle_codec-0.47.1-cp39-cp39-macosx_10_9_x86_64.whl
Size 559.5 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
408d39cfac6b3557f576c1a9f249ec64fadba6d9db3cedecb448709d1798afa1
BLAKE2b-256 checksum
How to use checksums
f805ad62b1c83b15520026e119eecf160fa22517d2b02d21f5cdad40502d2fe5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release history Release notifications | RSS feed

This release

0.47.1 This release

57 release files

0.17.2

1 release file

0.9.0

26 release files

0.8.0

27 release files

0.7.1

29 release files

0.6.2

27 release files

0.6.1

27 release files

0.6.0

27 release files

0.5.0

27 release files

0.4.0

23 release files

0.3.0

22 release files

0.2.1

22 release files

0.2.0

22 release files

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