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.2.2.tar.gz (165.5 kB view details)

Uploaded Source

Built Distributions

compresso-3.2.2-cp312-cp312-win_amd64.whl (235.1 kB view details)

Uploaded CPython 3.12 Windows x86-64

compresso-3.2.2-cp312-cp312-win32.whl (208.1 kB view details)

Uploaded CPython 3.12 Windows x86

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

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

compresso-3.2.2-cp312-cp312-macosx_10_9_x86_64.whl (327.6 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

compresso-3.2.2-cp312-cp312-macosx_10_9_universal2.whl (612.3 kB view details)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

compresso-3.2.2-cp311-cp311-win_amd64.whl (239.1 kB view details)

Uploaded CPython 3.11 Windows x86-64

compresso-3.2.2-cp311-cp311-win32.whl (210.3 kB view details)

Uploaded CPython 3.11 Windows x86

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

compresso-3.2.2-cp311-cp311-macosx_10_9_x86_64.whl (333.6 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

compresso-3.2.2-cp311-cp311-macosx_10_9_universal2.whl (620.2 kB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

compresso-3.2.2-cp310-cp310-win_amd64.whl (239.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

compresso-3.2.2-cp310-cp310-win32.whl (211.9 kB view details)

Uploaded CPython 3.10 Windows x86

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

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

compresso-3.2.2-cp310-cp310-macosx_10_9_x86_64.whl (332.9 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

compresso-3.2.2-cp310-cp310-macosx_10_9_universal2.whl (620.3 kB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

compresso-3.2.2-cp39-cp39-win_amd64.whl (239.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

compresso-3.2.2-cp39-cp39-win32.whl (211.8 kB view details)

Uploaded CPython 3.9 Windows x86

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

compresso-3.2.2-cp39-cp39-macosx_10_9_x86_64.whl (332.9 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

compresso-3.2.2-cp39-cp39-macosx_10_9_universal2.whl (620.8 kB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

compresso-3.2.2-cp38-cp38-win_amd64.whl (239.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

compresso-3.2.2-cp38-cp38-win32.whl (212.1 kB view details)

Uploaded CPython 3.8 Windows x86

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

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

compresso-3.2.2-cp38-cp38-macosx_11_0_universal2.whl (618.0 kB view details)

Uploaded CPython 3.8 macOS 11.0+ universal2 (ARM64, x86-64)

compresso-3.2.2-cp38-cp38-macosx_10_9_x86_64.whl (330.1 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: compresso-3.2.2.tar.gz
  • Upload date:
  • Size: 165.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2.tar.gz
Algorithm Hash digest
SHA256 7cbe41c1c948797c2fcb1a6bf690060bd07fcace803e80fb6480cae996dcb99a
MD5 c10428543d6c8741b47d2da562cb77df
BLAKE2b-256 caa7c86ecbb9b75413e78e9321daa82e9915c2c4eebea06bed97e99226d933df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.2.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 235.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7df163a34a0dbeb68f90283d37f023115f07270d0094c266866e4ad361fe743d
MD5 433a07de3477b0306611ce1fef68a780
BLAKE2b-256 5b13d123d42ff76be7840003ff360b017784373f4daa0c5657a94e947668a187

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp312-cp312-win32.whl.

File metadata

  • Download URL: compresso-3.2.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 208.1 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 f745d0cddec71c15b3807b08c8f952aa78d02249c9f79d969c778444635f017a
MD5 3a46b354efedc244508f928b18af0603
BLAKE2b-256 9ecf5a5370b313047c151e7654621bab1e07dc289d9e5cee26b9fdce6ad0c33b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0e452efbfa5640a946b8688ac44428e3a20b40198e042ff51dd35b6595514a9
MD5 d85dc9a8af3620f0005f62bbdb4e462b
BLAKE2b-256 ebcfc07639dcc28b0c7b92ec7d3b0f0dbcb3072d2e5792b83632bf57368453f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e8d1e703e909e6a87dfe646ffbed1cbddc8abf0cf48cb3bca1ff320395874c39
MD5 766d24a2f030084f3fb8e0bf1c40297e
BLAKE2b-256 9ceeb7145f06aae487b1a5f5602261236a26d65c88ab06d735e6ea3ec3f3e9a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 42daabbe15e6f6ad7a57a87585abc638ccb15e80af33244cfeb95f0da3966c15
MD5 a5e08394c03290ac634a70eff1e938e7
BLAKE2b-256 e783ce2e4156ef72121c6053b399ce578adef0d5a008703d82a897c7b0ba85c7

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: compresso-3.2.2-cp312-cp312-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 327.6 kB
  • Tags: CPython 3.12, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4883b5f0bea6fbee3e9f9e1f963ac40e85f2554fe4ae1a273c1740475a003a7d
MD5 19d5b5259057900a12a42d72888de5df
BLAKE2b-256 96c4128aac22ad0d771486863f7a29f91f200ae34c225e91e6820625bbb98645

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

  • Download URL: compresso-3.2.2-cp312-cp312-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 612.3 kB
  • Tags: CPython 3.12, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e392fb7dbf1542740d035f1bd3746519b26669736961baefb3be733787d38b4e
MD5 8f664b048dafef83d6abd1b5bb502a7b
BLAKE2b-256 9935e2b4125325ea826ab3d035b08a25e9a0bacda4688435ab561ed5a8f16353

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.2.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 239.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 36485789600722be359ce1fbca9ac9ee97a85c000c91a71042cb5c8552e545e6
MD5 91c7155ab44fb09a61899b111a040d20
BLAKE2b-256 be88a6fb72ac3ccceb4d7f665725e70934cc82483b3f8748819506d5bf1aa5f0

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp311-cp311-win32.whl.

File metadata

  • Download URL: compresso-3.2.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 210.3 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 85ed52aa9b5edfab870771cc16000125d5fc2d3ba85f5c9a073e13a4a660e61f
MD5 55b0b193c7a23b677f1f8e7fa799dfb8
BLAKE2b-256 6d4c481b8b0dd4feafa17d01deebd8c85c06b30774357b2fc0e043ae4a411ad3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d329cca17150eefc06f36bf673401a16eb15e10e52d8745acdfded25c2b6039
MD5 ffc19e17ab7af6dba32b1c7a5d1d666c
BLAKE2b-256 9b36fb6e9386d54196c5399664bdce9a93511d799b9d0fe96e8a9b6bd1b61409

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cb8baca0b2017e1149ed0a03c602372d489400fe481ab9aefa239720f879e82e
MD5 0cfe26af9c206a52838d08bc0bc85c68
BLAKE2b-256 6425ed80eccde90ae55ed1735320c2e301f87266cad9c3a6de68286abaaa056c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 155407bfe45a4468c4b7f8f595b67d8ad21dfdeedff9febcfd926e11200eef92
MD5 0c19530b4a848d2a3cdf55080a9c6864
BLAKE2b-256 c818dd4a5d980bd3c484c1174956d62555f7f1fe058ac4b2726c42320133b105

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.2.2-cp311-cp311-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 333.6 kB
  • Tags: CPython 3.11, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5aa78b90dad3b23f43a7f8fc8db4f6bbd9d3d70ed879606411d13eecbfb0b933
MD5 416bf9d493b049347e7602e714a98dff
BLAKE2b-256 64f021d43ae65e9bdc71693bd51cb6825991ce70fbe77ce5bd3f93569a25c503

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

  • Download URL: compresso-3.2.2-cp311-cp311-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 620.2 kB
  • Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8a0cec9dcb89061b0336312ccfc4515c4eeb3305dd274e9782d82083120c12ee
MD5 b724fd695fa45ae0fecc1ecdb6211cda
BLAKE2b-256 36d9d00b17020396a92398ab238bc04c2d51d3c925b8fe82b1bf17eef5f1ca6d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.2.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 239.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ddde63485164a49dcc54026f9b40f70e1c517123f8a377b9e569de885bb9fd4c
MD5 c707c2e9ea35fe69de5c842a85d9a88a
BLAKE2b-256 63cd6ee905259777c3cc11c6c7e3bfe61bc918946868b7c5620eec2862f716c9

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp310-cp310-win32.whl.

File metadata

  • Download URL: compresso-3.2.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 211.9 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 d0dcb105bd00cb3b7b222a17c0d89e1a806090f17c7c140c04f4fb922d667b00
MD5 8b7392ba5bed03ba415482c0dcc3c399
BLAKE2b-256 b903c838b947aa6a0d77a3b287ec57c2a91d9084dbc9288331d4de6be4139320

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 caae410ffb3ad6b4dbeda47e7857fc4810349a82700c37e1fd92adae5b270af1
MD5 e7f1e35fc64dde12df91b588a6076618
BLAKE2b-256 3074903d6b9d4e951352e3c9ec476890fcc91474a12f99b6ed984001ed0023cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e2a0d86e438ccac03ddd83f0a722df23f219ded3e0b94ce3e53c8c05f993378b
MD5 d87b2a450bc5d22e6ed66836e3b90f36
BLAKE2b-256 f8eb794b781099289d77c53504337c0ca31dee1e85570e8c224996fbf6cba101

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dd88ef241718ec453282c792fb9184afc768bc0cacf7f6b129397a9d4e25966d
MD5 84d2b3210bf94c2eb0899ebcc3e4b19e
BLAKE2b-256 4b5456602ef5e1de86f7a830274212578727a2bac1345ff0225629144365ef11

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.2.2-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 332.9 kB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 616ef36e47128aa7ad0e35acbf16efb6325fc68fb7c87eec68094122f384eaa5
MD5 1a4e2271414921ccf4d041eb3318fd0d
BLAKE2b-256 55ff675587ae35328c28f42085a1f3a193ba2037b1406f73878eae11aa4e4319

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

  • Download URL: compresso-3.2.2-cp310-cp310-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 620.3 kB
  • Tags: CPython 3.10, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 43c000ef3d1ce220b2bcf05bf3bf886d143ef89cb26f77e30ba897b348902fa9
MD5 f83d6b331d8e3cbda078a774dfda6c36
BLAKE2b-256 3ee98dd7b6c771c39af5c16ccce9011f35c55ca2c03777ea9c3ff5ca906b2939

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.2.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 239.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 153e5d9fc673731af1616a4b47901d1dffde1c76f01c50c4d1ef2879e1dca3b5
MD5 bf7cb0046b874f89f8d5357f7ce394cb
BLAKE2b-256 64817c1fd4d31f1a0e9e30ef2e03e56e8d3efd567310a9e561e9e88241d15af9

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp39-cp39-win32.whl.

File metadata

  • Download URL: compresso-3.2.2-cp39-cp39-win32.whl
  • Upload date:
  • Size: 211.8 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 503e573662f2f6183f2150f33efd2527eb7ab181db116742522d84bcfd0b2f53
MD5 da0ac723cc59ef77cded2c9a9b454813
BLAKE2b-256 c9d0596535df4e7ebf3a79847330237d058ef29abf2fa03ed942ae5438cffc67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3212962979f8142db80577f73a55fa5b4ade167c186bd4c7b5a29b10fc0444d0
MD5 6571b7bd3d49c9cf78eb81ce0549eec0
BLAKE2b-256 92499f29d58f6e26a212b29878f7341b0a54c8f9a9cb9a787f36595169892997

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d697c6d8a0cab4875e28963d7a62de983e26108bd3093ff9ca1fd94bdb764b4c
MD5 a9623b0427153daaed9deb0797478f62
BLAKE2b-256 e81788dfb2a1d99202c9a33cd3c0a8f3549838a8961e44695bd90e012959c945

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9a2dcb9f416b171dd87f3f893bdcbecda1bbabff1820c7168d0048a16afaf863
MD5 30499c968b28dbf7df1c8aa33ec70a86
BLAKE2b-256 8e7d5c146130e7892cda9edcec51895080ab93ae2609ce8d690adefab25f4ffa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.2.2-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 332.9 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 35735b507aac422c4a75f322fb5e333d1582acc1af0e94e0606b550ec02e304e
MD5 ca6833aaa9d6af7efbb4a7aacc5a7a62
BLAKE2b-256 983eb75c2132c7a867342270522483224500991ece30b84680574ef7b2f4a537

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

  • Download URL: compresso-3.2.2-cp39-cp39-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 620.8 kB
  • Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cc0b88d25df85c7fcd9085dbdc5872c8012081f3a89f322234e2e153f41912ff
MD5 4a3aff3ff11bea95584b7f00898ab4cc
BLAKE2b-256 fdff68df59198ea9e3da93cb9541bc6a68012e8a8a8a0d20206e187cf2207f47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.2.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 239.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8dce35841323bf8ab3092c6ceef51a7b9f1e27da69fafd02f5f87eb3f6c21e0d
MD5 72247103fbbaf1db16474c4808e02985
BLAKE2b-256 127ed49c6f96b1b1c7faaf4b6a28a0120815e520da13f863cdffbe05e53adc85

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp38-cp38-win32.whl.

File metadata

  • Download URL: compresso-3.2.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 212.1 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 0a91a4fd3edc5f943c32a663d53538bdd7b437aa054c69e588d9648407353bb0
MD5 1c9761c1767c20bfdcc5f319ff13bf88
BLAKE2b-256 7c3a0226e43ef919a3318d7c65a95b7170c34515d23e40ccd8192e1b4c066ee6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f590ba63880b7e7cc5853cefd5d05abda213307dd2824e5740c8d74732318b8d
MD5 ef65318491db1264f6a698c334d64038
BLAKE2b-256 1596c4b8bb6beeafd3033f69b715e3c8ffc28319690cce24d78a53e6d190e237

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d233246365b06feeed3014ed99d2739d87c8104ef55cd5fd586cce306ea1975b
MD5 8d5c80c29d3bef44641041334f05e595
BLAKE2b-256 baf1df6d68d72f69163b22b59d43b11e87af1a8c9df417cc55995cb1c435209b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5ecfa44cb6bb241eda13c11dcfdfd5400c0581d94c54d939b06f5eb54e7f3693
MD5 0402b8af21f3e3a0f3bf4b266114ed91
BLAKE2b-256 5dea53f11de1b97c4355865fe25084f377c6bd811cee6512110b28a4f193b3f9

See more details on using hashes here.

File details

Details for the file compresso-3.2.2-cp38-cp38-macosx_11_0_universal2.whl.

File metadata

  • Download URL: compresso-3.2.2-cp38-cp38-macosx_11_0_universal2.whl
  • Upload date:
  • Size: 618.0 kB
  • Tags: CPython 3.8, macOS 11.0+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 82d0cf2da0d71a6304657260fb721c6dd17a9363c2d814f95033fad9c2c841fd
MD5 ac13f2a0078c5eb555a21d986c21b304
BLAKE2b-256 137c4cc797cd9bc72604b431052e0fd8a9c863690938cc296578478706520427

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.2.2-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 330.1 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for compresso-3.2.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f2c759bf0e2a0946d5ed14ab2cffd6a4f6ad16393a8feb35b03999c442b1e971
MD5 8254ff97f476b7c426a71cf8bc0b138e
BLAKE2b-256 63f0236c50eb6ca7ce954931cebc0a42c6e81bfc96677e49aca2e4e7afd948d3

See more details on using hashes here.

Supported by

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