Skip to main content

PyPI version

Crackle: Next gen. 3D segmentation compression codec.

# Command Line Interface
crackle data.npy # creates data.ckl
crackle -m 5 data.npy # use a 5th order context model
crackle -p data.npy # use pin encoding for labels
crackle -p -m 5 data.npy # use pins and markov model
crackle -d data.ckl # recovers data.npy
crackle -m 0 data.ckl # change markov model order
crackle --test data.ckl # check for file corruption

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

Download files

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

Source Distribution

crackle_codec-0.44.0.tar.gz (137.9 kB view details)

Uploaded Source

Built Distributions

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

crackle_codec-0.44.0-cp315-cp315-win_amd64.whl (600.6 kB view details)

Uploaded CPython 3.15Windows x86-64

crackle_codec-0.44.0-cp315-cp315-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.15musllinux: musl 1.2+ x86-64

crackle_codec-0.44.0-cp315-cp315-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.15musllinux: musl 1.2+ ARM64

crackle_codec-0.44.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (524.9 kB view details)

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

crackle_codec-0.44.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (504.0 kB view details)

Uploaded CPython 3.15manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

crackle_codec-0.44.0-cp315-cp315-macosx_11_0_arm64.whl (529.8 kB view details)

Uploaded CPython 3.15macOS 11.0+ ARM64

crackle_codec-0.44.0-cp315-cp315-macosx_10_15_x86_64.whl (555.5 kB view details)

Uploaded CPython 3.15macOS 10.15+ x86-64

crackle_codec-0.44.0-cp314-cp314t-win_amd64.whl (607.6 kB view details)

Uploaded CPython 3.14tWindows x86-64

crackle_codec-0.44.0-cp314-cp314t-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

crackle_codec-0.44.0-cp314-cp314t-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

crackle_codec-0.44.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (527.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

crackle_codec-0.44.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (503.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

crackle_codec-0.44.0-cp314-cp314t-macosx_11_0_arm64.whl (536.2 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

crackle_codec-0.44.0-cp314-cp314t-macosx_10_15_x86_64.whl (563.5 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

crackle_codec-0.44.0-cp314-cp314-win_amd64.whl (600.6 kB view details)

Uploaded CPython 3.14Windows x86-64

crackle_codec-0.44.0-cp314-cp314-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

crackle_codec-0.44.0-cp314-cp314-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

crackle_codec-0.44.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (526.1 kB view details)

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

crackle_codec-0.44.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (503.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

crackle_codec-0.44.0-cp314-cp314-macosx_11_0_arm64.whl (527.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

crackle_codec-0.44.0-cp314-cp314-macosx_10_15_x86_64.whl (555.5 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

crackle_codec-0.44.0-cp313-cp313-win_amd64.whl (585.0 kB view details)

Uploaded CPython 3.13Windows x86-64

crackle_codec-0.44.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

crackle_codec-0.44.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

crackle_codec-0.44.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (525.5 kB view details)

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

crackle_codec-0.44.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (502.6 kB view details)

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

crackle_codec-0.44.0-cp313-cp313-macosx_11_0_arm64.whl (526.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

crackle_codec-0.44.0-cp313-cp313-macosx_10_13_x86_64.whl (554.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

crackle_codec-0.44.0-cp312-cp312-win_amd64.whl (585.0 kB view details)

Uploaded CPython 3.12Windows x86-64

crackle_codec-0.44.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

crackle_codec-0.44.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

crackle_codec-0.44.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (525.9 kB view details)

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

crackle_codec-0.44.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (502.5 kB view details)

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

crackle_codec-0.44.0-cp312-cp312-macosx_11_0_arm64.whl (526.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

crackle_codec-0.44.0-cp312-cp312-macosx_10_13_x86_64.whl (554.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

crackle_codec-0.44.0-cp311-cp311-win_amd64.whl (582.9 kB view details)

Uploaded CPython 3.11Windows x86-64

crackle_codec-0.44.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

crackle_codec-0.44.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

crackle_codec-0.44.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (521.3 kB view details)

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

crackle_codec-0.44.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (499.4 kB view details)

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

crackle_codec-0.44.0-cp311-cp311-macosx_11_0_arm64.whl (518.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

crackle_codec-0.44.0-cp311-cp311-macosx_10_9_x86_64.whl (559.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

crackle_codec-0.44.0-cp310-cp310-win_amd64.whl (582.2 kB view details)

Uploaded CPython 3.10Windows x86-64

crackle_codec-0.44.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

crackle_codec-0.44.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

crackle_codec-0.44.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (521.0 kB view details)

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

crackle_codec-0.44.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (498.4 kB view details)

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

crackle_codec-0.44.0-cp310-cp310-macosx_11_0_arm64.whl (516.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

crackle_codec-0.44.0-cp310-cp310-macosx_10_9_x86_64.whl (558.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

crackle_codec-0.44.0-cp39-cp39-win_amd64.whl (583.3 kB view details)

Uploaded CPython 3.9Windows x86-64

crackle_codec-0.44.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

crackle_codec-0.44.0-cp39-cp39-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

crackle_codec-0.44.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (518.5 kB view details)

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

crackle_codec-0.44.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (498.4 kB view details)

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

crackle_codec-0.44.0-cp39-cp39-macosx_11_0_arm64.whl (516.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

crackle_codec-0.44.0-cp39-cp39-macosx_10_9_x86_64.whl (557.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file crackle_codec-0.44.0.tar.gz.

File metadata

  • Download URL: crackle_codec-0.44.0.tar.gz
  • Upload date:
  • Size: 137.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.3

File hashes

Hashes for crackle_codec-0.44.0.tar.gz
Algorithm Hash digest
SHA256 7b384f87a55c4f52d63eff92798daff7e6e1edff67e119c6581035661dd7a858
MD5 febfb68e20fe8ec2f15039ceaf6b5199
BLAKE2b-256 f30ad4ddfde59e951382e39d60fd816dd16fdb7209342f10049644b7ceaa5b80

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp315-cp315-win_amd64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp315-cp315-win_amd64.whl
Algorithm Hash digest
SHA256 b9e502c78a93e150c3f9fd4f10834ad55cf6d93a589e305784bbb285afe82a48
MD5 825b720c574c5578e6869da3c6087a83
BLAKE2b-256 ca6ef28c2207d07bfe980265e2ffe3f503addacf4e16ec26dc0dbeee08ecb977

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp315-cp315-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp315-cp315-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 27d2015400684a07b10f2da4207de98e789d707fe2e789872a99fac00fabd6b3
MD5 7e3f1d8d1a3ee608da01c40f752be6db
BLAKE2b-256 854e4f1c75eb4d31954b3f21920a21193d6af891dee558c86281afb028d02e82

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp315-cp315-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp315-cp315-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fc10bdc30fd0e6986ad7c348d7704bff4ce0aceeac9f21097500de7210cf62cf
MD5 0ff203b82d1615b5c8eadbc405323fcc
BLAKE2b-256 9f5701cb4a73aef0fbecd68b9c0ba0a8512dc1c633fc29e7bda46bac39e45a4f

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 437b2c7e58bfce6d6284377e1820d0d328ca0c8bd0a9bae0ba91b04bf46b39ab
MD5 40735664f9434dda8da8caf76d6a2f86
BLAKE2b-256 a5c88f44b7ff654b4ded94197833bf202f55f870249ca55668f1e009e8ca417a

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 20782adc8ad4bcb56146e0ef4dc0a0c68f99e49aeb74a61436b2398048731fb6
MD5 ad73015e7fe1e41201ca2a19ce982d2f
BLAKE2b-256 6055377c6a100911c74ae4eb840ea0c8470c3a05be8d0a8f9cc4624cdb50ef42

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp315-cp315-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp315-cp315-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 736622d7d26938a2c50d9892a94f399e954259b7ff8d9ebd12540fdb69b4c75a
MD5 c541db865ed2adf0b6cd1917d6443fe1
BLAKE2b-256 a4b9572c02d76eeb3d69f78f6c9ebd15468b551f6b43a2c50e0b72048392f2f9

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp315-cp315-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp315-cp315-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 599aeb57fc449d0f49aca87ad299131d3819383bfd7ce9684096db8b20db792e
MD5 2f437ec8de45429c2152764fdf5d6e8a
BLAKE2b-256 71f55895f6a2c5257902cd06c4ee4d3289c501e312661c45cd29774e8c998cdb

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 7b638a5e2a0790ca1504aa67db1cc3b216c85d7298d7e3b0ead08836db3d66a5
MD5 1f5e35d62d03072236a6244b23330753
BLAKE2b-256 00f1bf3c637dfa38db669fabd72982e5dfa3b2c5732f6b2a9ad550c3a93e86af

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6abc90f65983e4e2a9e6d599cb52af4c75b43269e643c31e409a20999b1db869
MD5 b68a618672e61812a9faa8a8605081d0
BLAKE2b-256 5dc8198ec3bae0deeca1f7e093637b2bb453e3950055bf57ec39fa4a1f0d69c1

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b53794fc55b8c8cce4766963fa715c83f8b66d384cd060069fc785f8d421fe46
MD5 65366a2f974cbea8d2e12a8d22530f5f
BLAKE2b-256 6f388ccc76c6c5ba81e37c0b83594d85a60cfa64680d0d7083f672de8b7b459d

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 64da1979d9b61f3e4854a355ee33b17753357b6eb9f961b03b3acb0b69c09747
MD5 714fbee0d414def2821e79260f397111
BLAKE2b-256 a721e8b7dc58531336d1ac5883c253154496bfa1f7b8b8bec4dff15b27ee4dd5

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 613d46b247f64d6b9b27152c0e8c7a8cc331bd10edbb5dac8a4ae4514afd4dc9
MD5 0c265c7198d6e6b47bba1683c764879b
BLAKE2b-256 657491eeaaea21562aed508a153345f41fa562d558706eb47ca439028ba274e5

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 caea283d2a1d749cf041681cc4f818aa54d8e7001b4606db65832870535ea7bb
MD5 7178749a23aa58c1620298b959bbec79
BLAKE2b-256 6a9ad55fd4cc367cefd8838d59c7ae37dea715f2c697078bdc7a284e6fc4c35f

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4823fcdcaf09cb7900e2615f5828ff8640862557722866fecf4538c37c51bf7d
MD5 2710f502f45718302f6826c09d9046ed
BLAKE2b-256 2bcdfb76ed1000296d152f5f192860a02944f9cd84005d980bcce957e52272e5

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e8a443bdc2234d57765bae5dcfb45c64fb79066cebca49a2905e9b1b55db3b91
MD5 ca0138454bb693d6d44031a6fff232d8
BLAKE2b-256 5b2f0a57da8503fb4155236e9fdd1c24c0631487317bf382571b3439aab3a0b6

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2d17508332d69361bcc4dccce8fe1cbcd6a7fe7bac4f1948f8349230a39b8540
MD5 2bb6949b204689efb22ea073533acbfc
BLAKE2b-256 be36b99029121336df2a65c74aa5317291125a9d9e92b0fc014ec1792fcc4cd8

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f41f317d91bdc357ea31ff41e021fa6ff3061837b7fdd3e107b74c48518805dd
MD5 98ef264d82acb91bf8795e7adda2c160
BLAKE2b-256 b8309ae924b088009ba7f8768a8c6d329fbc5f67d2d8b389feb979469c293173

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 27b7c46660301c64e18c19676e34b100b255f386a48a3a02a7ff315f81365555
MD5 1d226f841dfbcd18b8bb211a3cead736
BLAKE2b-256 dcb36effb6ca68ead50abdd54c70fdbb7654715f48e96d1dd9601c3be871e97f

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ff9671c46f89f2508ffa01925611dd452c4481f098a49bc313dafe787f4ad5e6
MD5 571fe39ecea040ba8a2d48ac1c362428
BLAKE2b-256 89d810cdc7bc998842a59981b78a870ba2f92aacdc09d5e6340513a991011804

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a6d05d70664acfac90e2ab2d6c588af6aebf5d23d0da776cd233df7186e5b68
MD5 3cfc5ff49583986dcc1448502307abc5
BLAKE2b-256 cfd2bda1e8e159568c66cfbd719974d68e41fdd554381fa5c9fe22f077622824

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ae83d8c6cae0e61e0c0bed57c25d21fdd7efd29af0de027943b89cfef26214f6
MD5 d98c191af63a19bec50937b622e96681
BLAKE2b-256 af3d2c6e251dbe56962d9424f4896f6e7a7d9f6688914e6812215f0650905000

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b7b4b2dd122aba9c4a27f0361b197acca7918e5356caa8112b803bf5a761bf83
MD5 e1d7653de03f1b1380c15e3e90dd2531
BLAKE2b-256 88fb66c5117f9f107a19c33909faf70a72911a32bcc3294845b291624551f7d3

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7bd9db93dcf33494da9bb8fdde1938fe0867ef2191ebf6228b074e8b76733fed
MD5 9a2e0782c4bb0e32a55f456935b11240
BLAKE2b-256 45afbf41a6eed6f24fb511d8df9ac8f014f19256fa7775ca222d2c292b0ef9fa

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2fabb16ea48c2b15bbaad98cbec68b5a2cd747ddf3196ca1cefd533df106caf5
MD5 b1c106b234cc20182a42f300bde7ce68
BLAKE2b-256 c416db80bdd9874a1d18ccc517eb0abcbc66d9d576765347f86184540cefb6e0

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 58ed1c4896f84d451879522ba44c44fd1fdf2b18a56e80c9059a52407b3818f1
MD5 ef1a7e53452b1d360871f2ee35cdc75b
BLAKE2b-256 21f03891835ee7a73c5eac6e74151f55c36885e0cc2dd9fb14f38e5551c222a8

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3d0a9021fb2841c38bbe1b1957d374a674d100bc993274a676750d21e4a1952a
MD5 e5153232bb21d4cf7e6d966282b023d2
BLAKE2b-256 2adf40484fcf9e9a65a8b8f9803424fdae91d801354763d2c0c94c852a2a3cd2

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 810dbe74da991367b89f1953dc8d40996101311e6a5729bd7c4170ce4d0999d3
MD5 711964342ad2eaaa2be657a39eff2c1f
BLAKE2b-256 89582ab6893df2553484b397612d820a1cc0e0f6ed21a9ccf631f759a9c3a884

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e38e75bc23a3f45519d2255c6b6e1516477ef6a5cce34041d99d48f6d848c0db
MD5 a9c6461e05c40a240d8187119f6b9211
BLAKE2b-256 403c00e91005b0de7dd0311aee596ef0305889e04d3f51755b92034af907e758

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 861addbb0b65fe46251d8b087617e5a8970b60e85827b1c8d1a6cdf4d5fc15d6
MD5 d14d81f7927d696109895e638060df42
BLAKE2b-256 b6e246a1be1bad57670eabded976403f014d6b85d6656b65265c16d1131beadd

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0f27b9b6e5d61625cfb4d53489ccf88dc235f5dd1af24e2db82e68df1620a2b4
MD5 1d34ab6ff1a4c796a79562a57e928768
BLAKE2b-256 57671bf60e4e784df2ee4c4fbeb707883c999273e6ee238b3da6a58617a4573b

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 613f2a1e54aa1d622ad94771e491ab3082ce698fb7e486591a15a33194bd5539
MD5 18103eeaf85b952f4767507d1c881ee7
BLAKE2b-256 88a30936ad5db20316ed6c495f2d3b4da93e5a4e2a5572e648f2977cebbb29b3

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1bcd275e668bd9f26632d8a65d4ffc661eeedb30b308f13ced2b9c9ebde23ef3
MD5 776a9624daa65f0fbb9c5a9fb197c8d6
BLAKE2b-256 42b81c66835e6da08bc03a303b3acfa4e70d5b39f6c1e6e30ff84f9da54aa95b

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c785cfe72d28d287432ce8a11c125a13b7075c085b5d24799197364f39fbd6cd
MD5 b09f2c3a0ab7c8a4740c3686f8ce6a4e
BLAKE2b-256 9552ea505b1ac91ca4edfb15cf759c39c6f967ee4daf031d2195eeab6fa70182

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1927dc351d337d98eb948a9754b7f8fb76f22c772cdc6d82f92a4e0820cdf424
MD5 49157fa809ea8aab19d2c2f06325a435
BLAKE2b-256 534ffe4cd2d57949316f3c0177481952f058c169dc6a357b0248b09968716da9

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 66c5b8e8d6a2553d5d0e66d0b4c782fcd258ea6f0502bf9cce27a71f2b2c5519
MD5 cc6a2109a1e2266d1630fd931b2a92af
BLAKE2b-256 9bcfde452bfb6ec34721b57af5292c5bca1361b80aa19f3330651cf5cf0aa011

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4955754a961e0c2db928a0a2950acbafc888d70c582201de110168d4125a63ec
MD5 1c36ff646926119573a896f811b24639
BLAKE2b-256 a8fe378e2fc2571c1a6137179054af31c65796a3336db0850b364d0281fa5531

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7f6cc0ec5b9fe19a66128715959339060876e9a6e0c680b106eb00fe7882e931
MD5 3fc61a7a5cdc64eab881ddce7d65a0f9
BLAKE2b-256 a70287ca0155137f4c6274e058517cbbec5419615c9646fe715a716111bcfad6

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8b425c750ea0325a78359475ed048804c3384e4bb291c440dc3b04b5412a4d8a
MD5 a590e3d49c0340f1134c38626daff85c
BLAKE2b-256 678007ba1067f9d95a2f5ef7c9282e3accfc675937ce7c10a1c511542a676277

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e0a5dd2ac9a501411339041e2d6b490b382ca48cc2b62b4a88cf622a72a24fdc
MD5 0082690b11bc984e5b0a42e82b19b4c0
BLAKE2b-256 4a3672aec9baefe479e231684811b95c6390acd1b43b97c23d33590b48b656ff

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3acd70ca18969508eb4b8b892b7203ef6fda75671306e2611a8bec8a3dc394ab
MD5 fe1ec5a522ce706cebd7489ab48f40bc
BLAKE2b-256 2b93eacc70c28b3554d21baefc4c06f158e0df3c28845d7bc0da527a09391576

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 09bc56596ea65fb48124775cafac9423b187812609a62bc7357c3a9262d0b078
MD5 3cb7bf8906dcba1c4c1937e768831407
BLAKE2b-256 562dec195ccb1e63843a25ca5cad8bbbd170d609eaff9c16874d79c774ffb41b

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 62d5094e57f14ca9dcaf7e9b9da8e0771d217669f74f0bc37166a12c439b8f42
MD5 bd1bb3a5364c1c78d002202e78e9e089
BLAKE2b-256 1f8c430cd35769cc437954fcb108e803cd83b3ddced9f3f3a5a65283898a9c37

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 146de2c2d876e41b2b617bdc9af37c86f2df9e7d759b37b57622154c510dca9b
MD5 07ab309e31df28af41d8036af5acfc19
BLAKE2b-256 ab57e0710cc640ba1e9ca2a21a525d5d83a7f37119f902697b8d8d4e4e1cd0e7

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d622d6d0c53eedf8f10a004ecb526d9fdb8292b7d6dd49f79a15de07dc8cd5e0
MD5 74a63982bcb61753ba648bd30c791553
BLAKE2b-256 3360476c7d1c3413db0280f01544266c52fe244a77760d0c029ec9c236cf1c42

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2efcdc8713ef6f22e6066f884a76a9d94a3a175d39678436f74b7396d0300e3c
MD5 28f194d4bf36c6106ba9ec667c82366e
BLAKE2b-256 2bb156780fa4bd2cb20a812a1d20e0dfb91040443bb6bbd49be7b16e1e40ac11

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ecf380e2a111bd738672152ec4790860c38a0125ba1e74f39bf6258209ff36b
MD5 d75c8adb3d22a0737273aafd104e876b
BLAKE2b-256 a2c3e348d51d28e2f9bd1cd411b87ca5fca38e2331a6942504bbcf4496d1dfb6

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4251982191ee31d8de89b29443c8d3d7a37db4a89e05a1772e20b289f4759a37
MD5 98db729586b11c1d82340d02f6ee406f
BLAKE2b-256 92f2585de6c245c8d3dc039fe459378610e7ecd5c168de6352b8f43e668fa8c8

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 895178a49261fbcc0b9523712f52ae51482f32c254be68cb7b58f0c4c5258f3e
MD5 fd20148223397c58f67f07e6ae59d3d8
BLAKE2b-256 404b08a5113bbe90d372fee35a7455b2ae017482d790354a7aea9f018d7e35c1

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 78583a4ace841105a9d32e244f5c54a14847719e02dc2267883da003d3370347
MD5 6192e681204d6c29256652580328ed39
BLAKE2b-256 acccbe38e4c1d44fcdf4afb7c7102e6ee431cf86250d3abeeb6b057c45620b71

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 52ca9f45cd325f9f077416a2cc108220d4bc1e36b4f12e3b00e00af15fdf5ff4
MD5 e1c3337a558c0477bbcc1674dfad9ef1
BLAKE2b-256 fa2139fe276307927dfacace72ea0e18d5695c44127e6f98ce3dab6f6af76ad5

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e6b323b03dcb17531a4a6c5350322b843e92e3fca5993a5d1c0722bc54cefdc3
MD5 8d0e438563a3bdfb7ab840ac77b3d14e
BLAKE2b-256 a1825c2cdc3d830be9ea085ff0d796701affe9a94a63ab035135b6c468e81936

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 92b46eaeaf0a2957dac9065bf807163dbb909818a406aa6abdf94cb00ce150c3
MD5 ac59d086f7409e45edc217eaa4a61786
BLAKE2b-256 49468ef4dbc53553d1007a41c82b25efaa764f95d136827f999cc1f1b97debb5

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 032e13682fe12ba6e5e97ef4e7b784bb9abbb46a38f4d85cc9d50e844b971a1f
MD5 6e5700085d1c82e82dd5896ba40af964
BLAKE2b-256 52ecd4fa654b28238c1bd2bf047623590681048fdb59e37ff9cf473ebb5266df

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c6e367508349477bcacc5da7e4a2b62015b8796cded3dc0a8a8460eff167d03d
MD5 5b5503d1063e9b20921a4a4a3fa4656e
BLAKE2b-256 9f839ac24c1518018ce1b1aa8eeb0ba19da628e9eb8d0bebc26f532eb3fda499

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b72d7e0fa5f1bb041c1e79eef60c30e8d4fdebff379147ce7a45de8a8402853a
MD5 3d01914fa0b7f228fc6328d4cf16bab3
BLAKE2b-256 ee8760feef49dea7402b662b62ccad57b6fcd2dbfe2b84930945849878c82905

See more details on using hashes here.

File details

Details for the file crackle_codec-0.44.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for crackle_codec-0.44.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6cd8b641d9ca506809663b338d0aadef3bf9067b7746f66c105806370d77800c
MD5 567543217e747d2900a7637b6d913d6c
BLAKE2b-256 bb14d1cb0dafb8d88235d3f1ce89f6c04f2ee6317459c57b7ed414eec2322afa

See more details on using hashes here.

Release history Release notifications | RSS feed

0.47.0

57 files

0.46.0

57 files

0.45.0

57 files

This release

0.44.0 This release

57 files

0.43.0

36 files

0.42.0

36 files

0.40.0

36 files

0.39.0

36 files

0.38.0

36 files

0.37.0

36 files

0.36.1

36 files

0.36.0

26 files

0.35.1

26 files

0.35.0

26 files

0.34.1

26 files

0.34.0

26 files

0.33.0

26 files

0.32.0

26 files

0.31.0

26 files

0.30.2

26 files

0.30.1

26 files

0.30.0

31 files

0.29.2

31 files

0.29.1

31 files

0.29.0

23 files

0.28.1

31 files

0.28.0

31 files

0.27.0

31 files

0.26.0

31 files

0.25.0

31 files

0.24.0

31 files

0.23.0

31 files

0.22.0

31 files

0.21.0

31 files

0.20.0

31 files

0.18.0

31 files

0.17.3

39 files

0.17.2

1 file

0.17.1

39 files

0.17.0

39 files

0.16.0

39 files

0.15.0

34 files

0.14.0

34 files

0.13.1

34 files

0.13.0

27 files

0.11.0

27 files

0.10.0

27 files

0.9.0

26 files

0.8.0

27 files

0.7.2

27 files

0.7.1

29 files

0.7.0

28 files

0.6.2

27 files

0.6.1

27 files

0.6.0

27 files

0.5.0

27 files

0.4.0

23 files

0.3.0

22 files

0.2.1

22 files

0.2.0

22 files

0.1.0

22 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