Skip to main content

compresso algorithm variant based on work by Matejek et al.

Project description

Compresso: Efficient Compression of Segmentation Data For Connectomics (PyPI edition)

PyPI version Paper MICCAI

Segmentations

import compresso 
import numpy as np 

labels = np.array(...)
compressed_labels = compresso.compress(labels) # 3d numpy array -> compressed bytes
reconstituted_labels = compresso.decompress(compressed_labels) # compressed bytes -> 3d numpy array

# Adds an index and modifies the stream to enable 
# Random access to Z slices. Format Version 1.
compressed_labels = compresso.compress(labels, random_access_z_index=True)
reconstituted_labels = compresso.decompress(compressed_labels, z=3) # one z slice
reconstituted_labels = compresso.decompress(compressed_labels, z=(1,5)) # four slices

# A convenience object that simulates an array
# to efficiently extract image data
arr = compresso.CompressoArray(compressed_labels)
img = arr[:,:,1:5] # same four slices as above

# Returns header info as dict
# Has array dimensions and data width information.
header = compresso.header(compressed_labels) 

# Extract the unique labels from a stream without 
# decompressing to a full 3D array. Fast and low memory.
uniq_labels = compresso.labels(compressed_labels)

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

# Checks if the stream appears to be valid.
# This is a superficial check of headers.
is_valid = compresso.valid(stream)
# CLI compression of numpy data
# Compresso is designed to use a second stage compressor
# so use gzip, lzma, or others on the output file.
$ compresso data.npy # -> data.npy.cpso
$ compresso -d data.npy.cpso # -> data.npy
$ compresso --help

NOTE: This is an extensive modification of the work by Matejek et al. which can be found here: https://github.com/VCG/compresso. It is not compatible with RhoANA streams.

Recent advances in segmentation methods for connectomics and biomedical imaging produce very large datasets with labels that assign object classes to image pixels. The resulting label volumes are bigger than the raw image data and need compression for efficient storage and transfer. General-purpose compression methods are less effective because the label data consists of large low-frequency regions with structured boundaries unlike natural image data. We present Compresso, a new compression scheme for label data that outperforms existing approaches by using a sliding window to exploit redundancy across border regions in 2D and 3D. We compare our method to existing compression schemes and provide a detailed evaluation on eleven biomedical and image segmentation datasets. Our method provides a factor of 600-2200x compression for label volumes, with running times suitable for practice.

Paper: Matejek et al., "Compresso: Efficient Compression of Segmentation Data For Connectomics", Proceedings of the International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI), 2017, 10-14. [CITE | PDF]

In more concrete but simple terms, compresso represents the boundary between segments as a boolean bit packed field. Long runs of zeros are run length encoded. The 4-connected components within that field are mapped to a corresponding label. Boundary voxels are decoded with reference to their neighbors, or if that fails, by storing their label. A second stage of compression is then applied, such as gzip or lzma. There's a few more details but that's a reasonable overview.

Setup

Requires Python 3.6+

pip install compresso

Versions

Major Version Format Version Description
1 - Initial Release. Not usable due to bugs. No format versioning.
2 0 First major release.
3 0,1 Introduces random access to z slices in format version 1.

Compresso Stream Format

Section Bytes Description
Header 36 Metadata incl. length of fields.
ids header.data_width * header.id_size Map of CCL regions to labels.
values window_size * header.value_size Values of renumbered windows. Bitfields describing boundaries.
locations header.data_width * header.locations_size Sequence of 7 control codes and labels + 7 that describe how to decode indeterminate locations in the boundary.
windows The rest of the stream. Sequence of numbers to be remapped from values. Describes the boundary structure of labels.
z_index (optional tail) 2 * width * header.sz Offsets into label values and locations to enable random access to slices. Format Version 1.

window_size is the smallest data type that will contain xstep * ystep * zstep. For example, steps=(4,4,1) uses uint16 while steps=(8,8,1) uses uint64.

The byte width of the z_index is the smallest unsigned integer type that will contain 2 * sx * sy.

Codec Changes

The original codec has been updated and is no longer compatible with the original. Below are the important changes we made that differ from the code published alongside the paper.

Implementation wise, we also fixed up several bugs, added guards against data corruption, did some performance tuning, and made sure that the entire codec is implemented in C++ and called by Python. Thus, the codec is usable in both C++ and Python as well as any languages, such as Web Assembly, that C++ can be transpiled to.

Thank you to the original authors for publishing your code and algorithm from which this repo is derived.

Updated Header

The previous header was 72 bytes. We updated the header to be only 35 bytes. It now includes the magic number cpso, a version number, and the data width of the labels. This additional information makes detecting valid compresso streams easier, allows for updating the format in the future, and allows us to assume smaller byte widths than 64-bit.

Attribute Value Type Description
magic cpso char[4] File magic number.
format_version 0 or 1 u8 Version of the compresso stream.
data_width 1,2,4,or 8 u8 Size of the labels in bytes.
sx, sy, sz >= 0 u16 x 3 Size of array dimensions.
xstep,ystep,zstep 0 < product <= 64 u8 x 3 Size of structure grid.
id_size >= 0 u64 Size of array mapping of CCL regions to labels.
value_size >= 0 u32 Size of array mapping windows to renumbering.
location_size >= 0 u64 Size of indeterminate locations array.
connectivity 4 or 6 u8 Connectivity for connected components.

Char Byte Stream

The previous implementation treated the byte stream as uniform u64 little endian. We now emit the encoded stream as unsigned char and write each appropriate data type in little endian.

Variable Data Widths

The labels may assume any unsigned integer data width, which reduces the size of the ids and locations stream when appropriate. The encoded boundaries are reduced to the smallest size that fits. A 4x4x1 window is represented with u16, an 8x8x1 with u64. Less commonly used, but a 4x4x2 would be represented with u32, and a 4x2x1 would get a u8.

Note that at this time only 4x4x1 and 8x8x1 are supported in this implementation, but the protocol will make those assumptions.

Supports Full Integer Range in Indeterminate Locations

The previous codec reserved 6 integers for instructions in the locations stream, but this meant that six segmentation labels were not representable. We added a seventh reserved instruction that indicates the next byte in the stream is the label and then we can use the full range of the integer to represent that number.

This potentially expands the size of the compressed stream. However, we only use this instruction for non-representable numbers, so for most data it should cause zero increase and minimal increase so long as the non-representable numbers in indeterminate locations are rare. The upside is compresso now handles all possible inputs.

Supports 4 and 6 Connected Components

6-connected CCL seems like it would be a win because it would reduce the number of duplicated IDs that need to be stored. However, in an experiment we found that it did significantly decrease IDs, but at the expense of adding many more boundary voxels (since you need to consider the Z direction now) and increasing the number of indeterminate locations far more. It ended up being slower and larger on some connectomics segmentation we experimented with.

However, we suspect that there are some images where 6 would do better. An obvious example is a solid color image that has no boundaries. The images where 6 shines will probably have sparser and straighter boundaries so that fewer additional boundary voxels are introduced.

Random Access to Z-Slices (Format Version 1)

We make two changes to the codec in order to allow random access to Z slices. First, we disable indeterminate location codes 4 and 5 which refer to other slices, making each slice independently decodable. We also add a tail of size 2 * index_width * sz which contains unsigned 8, 16, 32, or 64 bit offsets into the labels and locations streams for each slice which are arranged as all the labels then all the locations (they are not interleaved). The streams are difference coded to reduce the magnitude of the integers. The byte width is determined by the smallest unsigned integer type that will be able to represent 2 * sx * sy which is a coarse upper bound for the locations stream.

The overall impact of this change is a slight increase in the size of the compresso stream and a possible impact on the compressibility if the vertical references were heavily used, such as on a checkerboard type image.

This feature can be disabled by setting compress(..., random_access_z_index=False) which will emit a format version 0 stream. When this feature is enabled, it sets the format version to 1. This implementation can encode and decode both format versions.

This feature is not supported when connectivity=6 due to the required interdependence of the slices.

Results From the Paper

Compression Performance

Compression Performance of Connectomics Datasets

Compression ratios of general-purpose compression methods combined with Compresso and Neuroglancer. Compresso paired with LZMA yields the best compression ratios for all connectomics datasets (left) and in average (four out of five) for the others (right).

Project details


Download files

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

Source Distribution

compresso-3.3.3.tar.gz (165.6 kB view details)

Uploaded Source

Built Distributions

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

compresso-3.3.3-cp313-cp313-win_amd64.whl (235.4 kB view details)

Uploaded CPython 3.13Windows x86-64

compresso-3.3.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

compresso-3.3.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

compresso-3.3.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

compresso-3.3.3-cp313-cp313-macosx_11_0_arm64.whl (279.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

compresso-3.3.3-cp313-cp313-macosx_10_13_x86_64.whl (308.7 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

compresso-3.3.3-cp312-cp312-win_amd64.whl (235.7 kB view details)

Uploaded CPython 3.12Windows x86-64

compresso-3.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

compresso-3.3.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

compresso-3.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

compresso-3.3.3-cp312-cp312-macosx_11_0_arm64.whl (281.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

compresso-3.3.3-cp312-cp312-macosx_10_13_x86_64.whl (310.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

compresso-3.3.3-cp311-cp311-win_amd64.whl (240.2 kB view details)

Uploaded CPython 3.11Windows x86-64

compresso-3.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

compresso-3.3.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

compresso-3.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

compresso-3.3.3-cp311-cp311-macosx_11_0_arm64.whl (280.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

compresso-3.3.3-cp311-cp311-macosx_10_9_x86_64.whl (308.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

compresso-3.3.3-cp310-cp310-win_amd64.whl (238.8 kB view details)

Uploaded CPython 3.10Windows x86-64

compresso-3.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

compresso-3.3.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

compresso-3.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

compresso-3.3.3-cp310-cp310-macosx_11_0_arm64.whl (279.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

compresso-3.3.3-cp310-cp310-macosx_10_9_x86_64.whl (307.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

compresso-3.3.3-cp39-cp39-win_amd64.whl (239.2 kB view details)

Uploaded CPython 3.9Windows x86-64

compresso-3.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

compresso-3.3.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

compresso-3.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

compresso-3.3.3-cp39-cp39-macosx_11_0_arm64.whl (280.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

compresso-3.3.3-cp39-cp39-macosx_10_9_x86_64.whl (307.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

compresso-3.3.3-cp38-cp38-win_amd64.whl (240.5 kB view details)

Uploaded CPython 3.8Windows x86-64

compresso-3.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

compresso-3.3.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

compresso-3.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

compresso-3.3.3-cp38-cp38-macosx_11_0_arm64.whl (279.0 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

compresso-3.3.3-cp38-cp38-macosx_10_9_x86_64.whl (306.5 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

compresso-3.3.3-cp37-cp37m-win_amd64.whl (235.4 kB view details)

Uploaded CPython 3.7mWindows x86-64

compresso-3.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

compresso-3.3.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (2.2 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686

compresso-3.3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

compresso-3.3.3-cp37-cp37m-macosx_10_9_x86_64.whl (302.8 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

compresso-3.3.3-cp36-cp36m-win_amd64.whl (233.8 kB view details)

Uploaded CPython 3.6mWindows x86-64

compresso-3.3.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

compresso-3.3.3-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (2.2 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ i686

compresso-3.3.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ARM64

compresso-3.3.3-cp36-cp36m-macosx_10_9_x86_64.whl (297.8 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

Details for the file compresso-3.3.3.tar.gz.

File metadata

  • Download URL: compresso-3.3.3.tar.gz
  • Upload date:
  • Size: 165.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for compresso-3.3.3.tar.gz
Algorithm Hash digest
SHA256 e904b2c99dc2df260bb467d0c6fc7eeb8c196edb0bbfad753644f176744ef248
MD5 162de1c4e447dc7ea5096cc4a3f06650
BLAKE2b-256 9f683242020cc333c9cd6d2773dd6ec5355e92524891bbc9ec9458d1ef4c0467

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: compresso-3.3.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 235.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for compresso-3.3.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6993afd3802b8561a188d16c14e00f29ef92ab5ddb9a9d8aa2d658f50dea8c51
MD5 da199c86a3e9bfc6ec32fd7858ff1993
BLAKE2b-256 0bcb546606416f45abc2527484dd5b2f7dfb014ef41610b21b4358b536c7e5bc

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 42eff24fcf0cbb41727d3e8c9d08fa7af2cc8040c3f5f59d8e3c5fc613db0206
MD5 b40c5b05196805297d2c4d2c64321f70
BLAKE2b-256 0c0d5ce3e49aee50a41d5bb7a00d42e2c04fc742f2b5c51844ae0bad4134c582

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1802bf7bd87070b998a320ea60d708e3858e81ad7c6caaade242adb4da1d1fa3
MD5 f910598bbc9c0a257a67787805238e0b
BLAKE2b-256 4cff9af70fecff1d80f6afd4af6fb067d0c1bf49e179f3f68d09c8f677d684f0

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 42be2acbb1d2aad51122655d0584e765c94a99a621f7034f3684dc9468d24fc4
MD5 86e69dbf522a41ca70a2a58530b0b7b8
BLAKE2b-256 58337a13ec9333ca59b9e54c0196a536a9959f1a1b0f43df51b6337cc3de7526

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc2b4d8fee745ebc2d66111c6bcf2968572728d8327894aae6bd81f30d0440db
MD5 c961dc91ef0fd3e1ed87733a6f3d9c14
BLAKE2b-256 817179e59c070093eca3ea804b280569adb9bb578ed5d47559a889c69ac67d55

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b75fdb1a96778f61e8a5a55122d3adce020c7ecb912b7fee6c56bc54cc4023bf
MD5 351260717b93aa24b8cdc4aa28533b52
BLAKE2b-256 aeeea922cf822ea56c970a5154dd8318a243213eb87fbc60e739cc7a8ab34db4

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: compresso-3.3.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 235.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for compresso-3.3.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6a04948000a3db02fb4550075058bdedc4e14d35ea7575e48dd055790ab2625c
MD5 961777f87ae42ea934fcb8d53a5bcecc
BLAKE2b-256 171908a79d56ebddfb1e0362b245ffa139e6863b7835e90a2ff11e460492ca54

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5044fb2914e17f1f92a4f257b5811f8639af5fe1cfa11ecce799e2710050672f
MD5 906661f9f274b156e235b4573819092e
BLAKE2b-256 4668a1c721fdc55a778751e954f770f1c8cbadf6e180d49e550a2e71c256bd52

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ee977ae259aa762824a065d597740d38d4803845fd49a98dad644eb018a89e8f
MD5 6e274bd7fd43370676ec36a33cd95ce5
BLAKE2b-256 1a3d26050f0dac0f22d030f0f7a6edf7d26641e0603510e6e350011ddfd1dfae

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 714c39aa62a7adb66e36c128ad89d666c9f8d4052daa3cf51bb9cff0ce015796
MD5 f292d4a4a82882d465d682adbdcc527d
BLAKE2b-256 50a1876ee2a15df3148aa008ffc026a61d5f2be18133e38ebe28b8403b6df872

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 87b9d8c996562ed6cf9d1d73733f9884db183a479de1eacb8e4deb546b074904
MD5 a2560288757727347526664a1ce3ef74
BLAKE2b-256 a17a862a98ccb97e5278cc673d582ec84af43866b61c7a632929f663ebcdee0c

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ead333e286d98e79a35a43982400cbc303702a7a1282d621e4bbb3369b3d523d
MD5 baf088c2344c1c7d2f89f69f22a61853
BLAKE2b-256 fa861ee6d741fd0f3557a1442037612a9d59f544a6022e8242df7b7d7945cddb

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: compresso-3.3.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 240.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for compresso-3.3.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 306e574b1c3159d9e4601cdeea17988c6ffa237887b84f135d25f161d280fecd
MD5 a2ac65e502b06b7a4cb926f7f3e205a5
BLAKE2b-256 10868148b67e17864d86e66f7b036fec01a7647794205051638e183f28901eca

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4533a8b6a91178bd5dc71306b2483c1958f6e881a4933859a91bb303e00081eb
MD5 69bdd65faa98beadce2881ed2abbc787
BLAKE2b-256 2ecdf5ac53363df1c9c8be0afa201c767bac2639867edfffb071d11c6302c414

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5b4c8ff2449ccd1f5c5c3fb702abd0e1ace1b37c9e00bc5ccabcbad4120a2267
MD5 835317a8ed259f7f0132bca4ded6408c
BLAKE2b-256 fe2471706423cd32374d399cd95196433acfe5efed27570378624bd893202e61

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8e678e195c0eb274eddb3f3ff400f16f1e95d21a0f74eb06f5d746b5623b217e
MD5 603348f7b2c1b571b2ab136131c64482
BLAKE2b-256 0e25a40b80483ad41aa9320ab6ed9d1e986b745a817c2db33e5b75ee54015579

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eef9887d4f55ac5c68d9b21680688e46b41781fcf409a7dbf7cd36db49cd9353
MD5 2955423bd634c4a8253350726a4df815
BLAKE2b-256 8773c2c4cd7bb2f7508f8c645df1688ac689eb749a26b06ed6fa7f05a450c951

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 36ebbca7d443200a518fbc589fffbb4384674be618157a8b7cf82953806fc69a
MD5 9c65c451f1356f5fc81805f91c69fde1
BLAKE2b-256 39136b56c35ebec8ff89efda22d2b362fe5ad752aba8c528273d28297f818282

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: compresso-3.3.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 238.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for compresso-3.3.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 616625d032d19d08db76ad9e4d33d46373348c979e1572ad22d0bcc07830f281
MD5 efbded73fa1e650c5276026f36357096
BLAKE2b-256 9003fbc1465dc26fa6a3f432db3ba53005dc05fc1c429517fac59d8dd5a1ec0e

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d0b93d781a80be2d10ebbfcb8323fe1a4ca56556844e1d533253be763aad218
MD5 2534003123ca0b35783a4050e82a43a4
BLAKE2b-256 5711d9e7a3b670c65fff90c4caad318ce482ff4e13eb597faa84cf946acf8152

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 db5be1fc629fe37d19849d0d7c8a1ec856928b252ac2a04252eb2150c2a4df1b
MD5 563148c26998b1d73b4b05318002252a
BLAKE2b-256 19d7f87ec7db7807becda1dd9c9efa58c7d1a557080c93fecd7e0bcdbec46153

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 12ee3f0b6f6b14c5f478057ad87b1b82f9e82dffe7db5881d9697d373c643132
MD5 867c8fb710db80f03dcb8f8d602df89d
BLAKE2b-256 90af053b6813397cfb621e1a2d16405a39fc2bb82c4d3484cafe3295ef0e7b1b

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2b38c2d302da32b5fd673ca1000a05f655328679e6ddbce26274f85f00f539f
MD5 75067ddd4a55759296920291b81f8e9a
BLAKE2b-256 c9b4653cf81aa8d324c2d15221bfa53c5a0c4731d404ceb4a780ca7e71aecc9c

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 da3137f064aab510162312a1aa1feeb7e24d0b91604058a61527fc4d68852540
MD5 fe872c6e91a123a3eb6291858afff8cb
BLAKE2b-256 71bf3706a52d17cf6f621fcedfd851f9b125ab908eca56cd2a401fb3f8f7a534

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: compresso-3.3.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 239.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for compresso-3.3.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e7e201ffd1fdf7331753f7c75e38b0e64f6df00c245d90e5657ed1b3ec653bac
MD5 25cc171ca7a177656eb0d6123458b126
BLAKE2b-256 e527444128c62c1feb4537d16ec1ef8b54eeb79b4178fa1d9ddd308017785b74

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9e6557b04cb63551b6134706fb279fa48d52e29df50247264a36db5c100ee15
MD5 1b5621ea2f76c0add2212da1320ee5a2
BLAKE2b-256 222f2212e8d1a6edb0da714e1ce83ecb811ad1d33d445c403d067ea8fdd88101

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f2094e5a296937c7fbbbf0b74f76cf993a21b837f6056e4f334285187770dc84
MD5 a4c5ba70d25053fd4ab176c4dc54cdd1
BLAKE2b-256 489670cd7624b7c3853770eb737bbb37e2e95ef628c02fe1ab1bfbf095f603fd

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1cc4a357d3e03ccc217f41fd5dce53e1b5212aad4966befeae40d92e1f6121d1
MD5 5502f3891c3a00b7abcf178a780204eb
BLAKE2b-256 1cec2bef20a39a3555d11b489becaae1e5b943864ce8129b35af754b02f31e23

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9449f6aca19cd4a7e678b81602a00379e5f8cb404f1d51a850cedb8998946c0b
MD5 b509b4a5838102b9a2186942dcc2d85b
BLAKE2b-256 4e718fafad2e141413d07292e0a1df7217c566a59f8f5973fe0eb519aad268af

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 36935736813a9bed18b7fc3d3b9cc00eb1dc590584a46462452b85896d189d19
MD5 6cad16872768ad4cace4085b406d1083
BLAKE2b-256 7edb22e8eaa0648e683222da1f6581134f71824a7640ac8b4133d3d60989892e

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: compresso-3.3.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 240.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for compresso-3.3.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1e98501ab35e29dc1094e97acc2306bb19ecbe7d67740274e3e55173653e891a
MD5 dddfa7e84d3fe7c860913d9f6e5eb787
BLAKE2b-256 27642e4fd582e82a6c27d906b89be4da300c890d0b9571c855200160e61989e8

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5405e8bcc6c4629a955a63820524621da75eb9dc9910c9cee9a1000efe111722
MD5 89a7286764871b16755f407eb8513155
BLAKE2b-256 b99070f61be84d0ac4241af8f5a5e9ef8dd278d7d75e5b2ea115fe37d7f07e84

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 77101c94eadc1ca3d857ba6a8fba70b33c4b9b30ab82be9a45c4e45288db3806
MD5 84fc6150d40592d6cb964a9a98f53eaa
BLAKE2b-256 accb7d999476bf434872039fd46999dad88cd89f9fe011f0e299c462644bedbb

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ec54b2eac18e1d8a693eab563116a06e7c5049e03163c7ed00896635934bf0e0
MD5 221e79d3618565994d465e9ffc42e803
BLAKE2b-256 d31d7a1e51815be2fe7d0661ad131e45a726d83cef6bb7ea2948b8ba27814962

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0bb4948d17b2b2db7e687a3682eb702f8a3b99757e81a29dc70358e7011c32b
MD5 de88a51ab647cb3b747e95ac45a635d9
BLAKE2b-256 37b8bc3b082889ff8e62bc00c5e3fd7bdd3d56bf3099e273f7a27a6a1586437b

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a2031b9371caa8b63bdfb52dbb3b3e180ab4904b71906c0a4f12a5872965234e
MD5 c31cfbbe1f9887806c25d8bfeed885a0
BLAKE2b-256 977cb0120d45a3c9016e9df13198d398f3d0135dc9aa4adf2fdcd351cb5f6b51

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: compresso-3.3.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 235.4 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for compresso-3.3.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 31b3d2331feb20309cd1a6e428af7dd5670fe20814bf6289645c33c7424f3252
MD5 f9005bbecd33862d4c82734d201866d0
BLAKE2b-256 9e5d8c24f26ba3b32d6fc4fb9c70f61fc1ef6d56f98ac0d37c5d5cbc100024be

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ad2ce6d4f2543b630cf214d41cbb618702588a72c9950923a7dd42dee6ef243
MD5 6f394e457e255ebed7b46ce7495a3f81
BLAKE2b-256 308563ab2e53271b188fd76203ec63377c847a420ec86322eedfa8885acdc9e1

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2830d8a186e2b76fe3975c9e80a87095ef479a7c192991a2c2b0cf59c2d86d25
MD5 7d6ba58ab067cc69449e22c570f1e8be
BLAKE2b-256 e52c1313a578ab2435df4daff1cf7232bf3b381d080a1ffd2e93e0c567806388

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4bb97ed0390e7b8670681a170fe167e55e56d98bdb70a3a13c58756d9f40624f
MD5 a352e710b2617619bc06a1067cc8f6c9
BLAKE2b-256 578526bc5153b5380e65c824278d1ef677f0b05add1fddc870635cb364c399a0

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6476e98d20de8e4990d06c0b06b7036114b8f17580d7d11ab0f604be93a60096
MD5 f487898d835ca2320022481f747b78ca
BLAKE2b-256 0ca980d9a4e97d41e6b263cfce8a0147f718147f0c5a5977c191bd69bbd76e72

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: compresso-3.3.3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 233.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for compresso-3.3.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 ba23f256c6f80ed0f16d7bbe61b4f3355acdfe50249b387faa231d2af448c220
MD5 920c276b2107f623632a4b7f36058d66
BLAKE2b-256 4750f031e7b3264855fc4add6ecc2505f5f37855e2d1efbc2a306fde15397a00

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 42d8735b815ed4939179de475af0b720eb44b81ecda2f9fb36de5d28cc84f73d
MD5 d444f4fbfd368e8c4d47410f1313de33
BLAKE2b-256 07cdbc9655539707e3f8b5e94db30c2904e56d006eafee2e5059316c2624048f

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 55e3b450ff378e2e198a1b583c8d1d6ae43af3f1419b0b67b54aee558e48b460
MD5 bfa851131a7ec0b69f936a1420c20d9a
BLAKE2b-256 9670ead95e584ac7a079e8126387ba6dafb26e589e3d5033180c8bdc11dab708

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1ef297210b8fb4b316ab41922ebf52fbc275df045cc02f7a2679c8cfc27e6e0b
MD5 7db34af750d354a0952fcb3e721c5dec
BLAKE2b-256 72053ca5dc079739e6b776f963a5894d5050d063f6fadadd94eb553b02f28063

See more details on using hashes here.

File details

Details for the file compresso-3.3.3-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for compresso-3.3.3-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e00c75bcd96d56a0cacce543cfde2fe8b05b8feb9be88627b65c108612a954bf
MD5 bece31715406d90c5d13daf6b948c264
BLAKE2b-256 be1542799d8935f1149a35dc48914a2d1fb1ab4a291fbc950d62c3926015f3e2

See more details on using hashes here.

Supported by

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