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

Uploaded Source

Built Distributions

compresso-3.3.1-cp312-cp312-win_amd64.whl (235.4 kB view details)

Uploaded CPython 3.12 Windows x86-64

compresso-3.3.1-cp312-cp312-win32.whl (208.7 kB view details)

Uploaded CPython 3.12 Windows x86

compresso-3.3.1-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.3.1-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.3.1-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.3.1-cp312-cp312-macosx_11_0_arm64.whl (280.1 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

compresso-3.3.1-cp311-cp311-win_amd64.whl (239.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

compresso-3.3.1-cp311-cp311-win32.whl (211.1 kB view details)

Uploaded CPython 3.11 Windows x86

compresso-3.3.1-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.3.1-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.3.1-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.3.1-cp311-cp311-macosx_11_0_arm64.whl (279.1 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

compresso-3.3.1-cp310-cp310-win_amd64.whl (238.4 kB view details)

Uploaded CPython 3.10 Windows x86-64

compresso-3.3.1-cp310-cp310-win32.whl (212.0 kB view details)

Uploaded CPython 3.10 Windows x86

compresso-3.3.1-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.3.1-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.3.1-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.3.1-cp310-cp310-macosx_11_0_arm64.whl (278.8 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

compresso-3.3.1-cp39-cp39-win_amd64.whl (238.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

compresso-3.3.1-cp39-cp39-win32.whl (212.2 kB view details)

Uploaded CPython 3.9 Windows x86

compresso-3.3.1-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.3.1-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.3.1-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.3.1-cp39-cp39-macosx_11_0_arm64.whl (279.1 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

compresso-3.3.1-cp38-cp38-win_amd64.whl (240.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

compresso-3.3.1-cp38-cp38-win32.whl (212.7 kB view details)

Uploaded CPython 3.8 Windows x86

compresso-3.3.1-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.3.1-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.3.1-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.3.1-cp38-cp38-macosx_11_0_arm64.whl (278.1 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

compresso-3.3.1-cp37-cp37m-win_amd64.whl (235.0 kB view details)

Uploaded CPython 3.7m Windows x86-64

compresso-3.3.1-cp37-cp37m-win32.whl (208.4 kB view details)

Uploaded CPython 3.7m Windows x86

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

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

compresso-3.3.1-cp36-cp36m-win_amd64.whl (233.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

compresso-3.3.1-cp36-cp36m-win32.whl (207.1 kB view details)

Uploaded CPython 3.6m Windows x86

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

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: compresso-3.3.1.tar.gz
  • Upload date:
  • Size: 166.0 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.3.1.tar.gz
Algorithm Hash digest
SHA256 f6c8047bb6cdac848022566b51879050e66cf3996b37254b7d39c8d907dfd5ae
MD5 0596a5f1f5b27323eec264b101618c7c
BLAKE2b-256 f0386ebd327dfff79e3cd7c2fe48ded46e5d58833aab0e070695d1a6b80fa274

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 235.4 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.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7173733eacb440dd7803627711b9a0fb92248dd7ecadd40d87766750db91530b
MD5 496398eefc5e07f5814a895c4d774391
BLAKE2b-256 84b657a8b05aef3bbefba70eb01b9c16a448ce85f3459605fc8a3d419558cfc5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 208.7 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.3.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 2fca6497a0826dab0afac68f7e8b401f274fde748d668a39005974b3b7085f5f
MD5 779c038a5a8a4842e0474c2e1a86f74a
BLAKE2b-256 a0cb697a2a92e06d597be50f91139ec6e273c9f145f875d04d1c0b0168f5b44d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3dfe717936e97af9be5a139be843c6c29eb88b6be3c3cca66db86631a8ad7c16
MD5 31d5ce82b56a90ac54439a6b7d7566da
BLAKE2b-256 d2aa6970a53cd4acf8a0fb2efa649967399cbfb94e495720bc202beb8b040203

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e4f06623469a7489951201ad59e5b1c47f0bc4cb85ce776cca3bf753a25522e1
MD5 263e31f9e539d90770b5ec2e21faa64f
BLAKE2b-256 9214e2646df61dfd5f2c936c62c5febfc96c73235e14c5c1082bfc364be8b4ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 73752d7388ecee29187485c6558c8816a170e0bc18fb857def3e79093a6b4383
MD5 5f31a29cfd722971f9b25d39edc60c55
BLAKE2b-256 d6298d1c5dc0d2dc8bd13040544ef5f0a0ba2cae09a067f12ee3a1e5a9416a21

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 280.1 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • 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.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c0318694f1426a8098a4fcf357993e502c1c72bf7832c171bdf0eb64c811ece
MD5 4b7f5775b50ce80f6be97350cd08ae10
BLAKE2b-256 bcf63f47deacab55cb9ca07585cacbf7962e42063afc621e96c8c2672ef1aec1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 239.5 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.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 55cb559c08ae84a26e1163c646bb115ae3adee456d95dda1ce4aa2381f39b595
MD5 7693b38efefa3bf7f04d764541bfcf4d
BLAKE2b-256 44d85774f1306e7babb95edf39da8ec7fb18e4359a001f5e4882d1e5ec750689

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 211.1 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.3.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 5aec5a4ee4c9dad3fb75caec9c790e6a6daf6dd24af3fbbc422a903428782d43
MD5 522e8aaf99f3a6c8fe750911920822cb
BLAKE2b-256 eebd2bd7beb68689bfce8d00aaf3ec1f0ee325b0ba1836bb201a2f69566ce118

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 552c78547c8416c5d31cfabdbe2a50e007bcbbb88670fa1b9d4e9a925f6800be
MD5 df5f06e8b6156f47ca31c50e9741d826
BLAKE2b-256 06abca7e11d2e32ed8e4f0ba17e1ac9cc1c79655267a54d56abfd1f63923df87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9d2c6870702abb5f1e991527ce7efa53663c66644712a1b04fd234bd1dd7e724
MD5 3ee357ee3249faa74792fba92d6d487f
BLAKE2b-256 e032eec8f3bcb602b29343499785b79518af4879010574548e03ccc2f4f2055c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b23e3865ff38048e725160f48db0ea4b129a377150510c60c4950f4c4cc74f56
MD5 4f1d4b9105e105b915c83e7f99a5afab
BLAKE2b-256 b42c4e467ef1e2fb15c7eda100a3cb29718cfe0bf643b1960832dadaaa90b8a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 279.1 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • 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.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f26fd10d4b4bcbd8b81a6e2d22a0238bae686e5722a587f0e8d6104677706c5c
MD5 00089c2f1181be9b3379ec6683d54b9e
BLAKE2b-256 6d6edfa147140d4a5dee729a08090b46fcb92e921ebb1dfb7d649446c945c417

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 238.4 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.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1d4d41be9d5f374500e31f35ca560dfc930e019148af5e72ef68d9325971da9a
MD5 a7e1b1af5b7fcfb413a9bdd9d2146d18
BLAKE2b-256 d884ae3ba4ef354c4b1b949f19a7d2df99105fc6f0846a36bdae5c364b20236f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 212.0 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.3.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 0fdd4655b0856b27355df995d8f6230299b9e36be2690403f94be10c6de02c7e
MD5 cc5550e795703a907bd9d37123c7e296
BLAKE2b-256 4fcb20e11598be4cc7908d3fb4cd29d46765a076643efa1cf506037e2eb28dce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3eb29348d06d68401b5c1868775e67635fcfdc98be8fb2f51e28edd6e3b58e12
MD5 942ddf9f8ce852eeb0bea5c9cfca8322
BLAKE2b-256 19dd3be45c3190413d730b0daef076e1e82b106a6a175adf6680467c1e3d28ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 02d4809ddc09110d3e62e15b15ceb6c4d113996c9e80bbeba0a7814c219196c2
MD5 175a3b84c1d10027fd92a3700807329f
BLAKE2b-256 91ac49038ab583e03922e41dff31cb34cfedb207f861c1095a305a65d4d59806

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f16533c6d3d532f931412ef5ac8e7896bbaee22271e80126a101243b303f6847
MD5 9b5f70b08d24c18255a64487a740a8f9
BLAKE2b-256 f3776724bd36ffe76968192403cde2aa7ab827f6f6f809360003dd32368c6349

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 278.8 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • 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.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7486f1807c20e62b61761b09016a9f6879e19642b29923c4b5cd08dd062f7504
MD5 87815b105742ee6b43dbb5c00aeadd77
BLAKE2b-256 a118b6fbd8c7bf800f917d1244442498341f31a1f46b0cbdaa22fc845a7397c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 238.7 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.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0bf1384bcd47f0d77e01527b21186ef0ddf8ef7abe6f70ca0fedb19be33e232a
MD5 d956249264561fd7a066098c4b93bd7d
BLAKE2b-256 b1b8fe673334752321ba5342abc18c94e103c2fd447c8a79a3ee3b23258b9983

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 212.2 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.3.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 daffabf8b1cd2785759b9cf7ccc9d688f0a14b3b4db85dd6be827848b4d09e0c
MD5 eee367f08105e2546e4f73642c4cea8a
BLAKE2b-256 f1be9caa77e235a8d496f20887212b62eaf6776d4cd7f24f65ab5616bf27a925

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1af0da4f6519986ad32a45470d40230325588b3ae50dce35e5bfddb951122e3e
MD5 584da685c40458214ed6735412370104
BLAKE2b-256 1f13855722e1666262b2d59d401f973f1e13bcdaef911943aef91c947ab5d6f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f8d3e320d53a17384a6c97e9a5fedd5904b6b0aa3a6afc6e8ab7129435f16b49
MD5 214549b8e297cfb722ecab603f53cb9c
BLAKE2b-256 be1bc5b3121ba56095e7a39b2349799d08aacd5a71fbaf894feb8843ffca84a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c5c6db3c8770105269fa69b4fc1e039f6a707e66afacc80a95e92759248c6efa
MD5 4e5afb36eb4c83386659ce2f5b905371
BLAKE2b-256 d74ceb7747be417f0143c6d34c8e0afbd543166c95084e05e03d918c9c2bcbca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 279.1 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • 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.3.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1189e397a0ff03bcf2bdb39b5f9b32493b7ac11fa797ef99155bbee02a5407b0
MD5 3bc39eae83721cff5d8cd03cb2d26a95
BLAKE2b-256 09a5b14c7d54e4796fc624da131bdb877c4646b4d03230d9725ae38d55b645fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 240.1 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.3.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1a8e7da11908357594905c638f94ba17fe70c394761924d23e003e5853d55f5f
MD5 eae62e1094caf01e9de260a52295c011
BLAKE2b-256 64e6fe1eb3c69aff82b114c53e1c480163a10f8dbcb4ce5aa00d3fd6863b744e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 212.7 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.3.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 773a3e57978cc8f03eb9d20406adb5ee8cd298ef0bfee170f2bb5ea2cf381404
MD5 c0357acbc201750b1cf93927d5ca51e5
BLAKE2b-256 af91d1da1314c253885b5f8e78e1eb494268dd1c8f9d437ef9636b247ac4cd77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 95915b8985204d291046c49440c0f21310a5587cc71ba98dc36ceeede45d6b1b
MD5 e914ccdb85f768900259d3cf92c63447
BLAKE2b-256 1b303187e754b8e325ca2fb0dccbb299ae0c2d001c58049319340e29c7cde80c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 14ce1774a81051f2492263ad9eeb9fb2c893e63a1d0bceb3c6b8bd5a1f60359a
MD5 e4227d079b780ae86aabeaaa03b2bccc
BLAKE2b-256 5701a642e785eee68eb786049f28d29acb1e76feb37e9ce279beb6bb953ad3cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8a29c62ed0971a56fd33c1d83e9f23f548be592226fa8bf246d7a318a4f81def
MD5 12baeb38350ab38ab1d6e4c902dcc47d
BLAKE2b-256 d244d24aa0f2c86aec1d91324ee18054a169cd2630ef66240e64f0501c7ca7ab

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 278.1 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • 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.3.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41864ba913866517358b3e25b96790af8f3301344a7089f49156c55dfd6b3665
MD5 db29e8615bf8b4311aa50364407c6c31
BLAKE2b-256 fd0efeeb3b5a9307555b767859709cc8d1a47f4b5bc39c7f258bc2cece58502d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 235.0 kB
  • Tags: CPython 3.7m, 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.3.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d1aed40dc4a6628041b9cfd9fa749f371abbd347a361280628575358cffa3900
MD5 e50d83b97b33e887847208c2e93f85fa
BLAKE2b-256 b4fadfa5dd6c6d0a55027e1f1ac2f5c0aa9b8746d7865f0b70eafcf7cf5766ef

See more details on using hashes here.

File details

Details for the file compresso-3.3.1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: compresso-3.3.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 208.4 kB
  • Tags: CPython 3.7m, 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.3.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 d32c22222cb9552e7034bf37c0f9382a89564789e70fae932be9acfc890c29c4
MD5 4b1b39e288c149d5169f7eafe831ff46
BLAKE2b-256 a3c90b5c70d72bbed8e2db54f1ab83e3df7041f8d9d551bbf7eae17e8d8a3462

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1dfa00ad9d20ca2f61c5df982a689ff3de643cc4789c5f110e6eed0d7ba6a75
MD5 6c91eb4547926ca77df99acfb6bb5dfc
BLAKE2b-256 cd5d03e959b04fd4bf20903eb9245e6b8c6103e17f342a3897daa0abcd1c674c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d20f4f89c3c1d734cc0bc624d9886e1fd171c5703fbf83359377b08f57920909
MD5 0e321bc87c05e0274c195f2912096f78
BLAKE2b-256 0904f76fd8d4aac8b2c1e7b5c520fcd0913f61a8894fff73f7ad14f79ae4304f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 11b55556631eb2c9e79a810130a83b3f278a6a2ad00eda5d4370fe6ca482df27
MD5 bda53461983bf40369a4125c851ee260
BLAKE2b-256 b92fa30b3cf4f311f68a6625debc6530b04aa4393f0013769ed810b6f57abb3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-3.3.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 233.5 kB
  • Tags: CPython 3.6m, 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.3.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 84419a591f51154f2a051304e8095b6bdce0817ae11210c78960ad0371caee99
MD5 d7d254f64c99e773cf777bf8eab76ef7
BLAKE2b-256 10de2daaa6d4ca6fc6e80b4613620f79e1d5d818c5d8d4eea21e2dceefc363b3

See more details on using hashes here.

File details

Details for the file compresso-3.3.1-cp36-cp36m-win32.whl.

File metadata

  • Download URL: compresso-3.3.1-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 207.1 kB
  • Tags: CPython 3.6m, 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.3.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 cb578a8057f5050cacc64ad9fa4ce8d4a55fb1559dd960e62ff95e7beb49cc9b
MD5 1cc9041f1e069a0140de40d6dae63ede
BLAKE2b-256 813935316dc1dc1a5176881c8902acfb634b7d907b0c57ed972b545a3490b5b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 148b02efaad7337a7f9a8ae0091447e9e4411d64b6de8c570f8e3fb93452d0ed
MD5 05a3d7b7db253e475fd61045f4beca3e
BLAKE2b-256 6bffca2d3ca590e6dca5fc033ac37445fc6976c251efaab01e5c8d1436a6cead

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 27614c52005b744dac3856643a13351c8a86913dad9ad267360899dd3688cc6f
MD5 6d6dcc52220add6e25b2cd99f045952b
BLAKE2b-256 74404c441b0988c85357e6d97e3ec9148093cea47ab732800f39828debb599a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for compresso-3.3.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 902fe48ad31e1af50f6bd4ddb2fbcd660f2691fc59d3b698904411556b1bf066
MD5 6c65dafd4c10a7092766bc70eb263aec
BLAKE2b-256 33d866b512f619302af655f0cf3d02825ef50d0efc1ece90071e7f4d9e94922f

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