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

# 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.

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.

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.

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 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.

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

Uploaded Source

Built Distributions

compresso-2.3.2-cp310-cp310-macosx_10_9_universal2.whl (445.2 kB view details)

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

compresso-2.3.2-cp39-cp39-win_amd64.whl (192.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

compresso-2.3.2-cp39-cp39-win32.whl (165.8 kB view details)

Uploaded CPython 3.9 Windows x86

compresso-2.3.2-cp39-cp39-manylinux2010_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

compresso-2.3.2-cp39-cp39-manylinux2010_i686.whl (1.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

compresso-2.3.2-cp39-cp39-macosx_10_9_x86_64.whl (245.9 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

compresso-2.3.2-cp39-cp39-macosx_10_9_universal2.whl (445.2 kB view details)

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

compresso-2.3.2-cp38-cp38-win_amd64.whl (193.2 kB view details)

Uploaded CPython 3.8 Windows x86-64

compresso-2.3.2-cp38-cp38-win32.whl (166.2 kB view details)

Uploaded CPython 3.8 Windows x86

compresso-2.3.2-cp38-cp38-manylinux2010_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

compresso-2.3.2-cp38-cp38-manylinux2010_i686.whl (1.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

compresso-2.3.2-cp38-cp38-macosx_11_0_universal2.whl (440.5 kB view details)

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

compresso-2.3.2-cp38-cp38-macosx_10_9_x86_64.whl (242.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

compresso-2.3.2-cp37-cp37m-win_amd64.whl (187.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

compresso-2.3.2-cp37-cp37m-win32.whl (161.9 kB view details)

Uploaded CPython 3.7m Windows x86

compresso-2.3.2-cp37-cp37m-manylinux2010_x86_64.whl (1.5 MB view details)

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

compresso-2.3.2-cp37-cp37m-manylinux2010_i686.whl (1.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

compresso-2.3.2-cp37-cp37m-macosx_10_9_x86_64.whl (239.3 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

compresso-2.3.2-cp36-cp36m-win_amd64.whl (187.2 kB view details)

Uploaded CPython 3.6m Windows x86-64

compresso-2.3.2-cp36-cp36m-win32.whl (162.1 kB view details)

Uploaded CPython 3.6m Windows x86

compresso-2.3.2-cp36-cp36m-manylinux2010_x86_64.whl (1.5 MB view details)

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

compresso-2.3.2-cp36-cp36m-manylinux2010_i686.whl (1.5 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

compresso-2.3.2-cp36-cp36m-macosx_10_9_x86_64.whl (238.7 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: compresso-2.3.2.tar.gz
  • Upload date:
  • Size: 344.3 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-2.3.2.tar.gz
Algorithm Hash digest
SHA256 6f203d3e7fece7fdda24a1b39e23b9a0e049ea1f190eecbeb3d66f2d1a055b35
MD5 fea2b642ea31bc552244c90278961ad9
BLAKE2b-256 6fa072260264c05a1a58b783c30721c2d74d82f3b08f49687f0a84da76c92b41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp310-cp310-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 445.2 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-2.3.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 921b52cfce0d960817532fe388eff16457604eb56b1b7fa8ca4a9f93af93ba0f
MD5 9ceb207d03be868a9a92ee07e9c7c1c9
BLAKE2b-256 d2fcf092f8851bfa240507924f436e66dfaf8a1c74bf57e3e4a0a2470fe330b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 192.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-2.3.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e5e177c97f8b799baf99ebcc41e76a1073282de51b18fd2cdf0a785ee7299846
MD5 decd7cefe0664d8c15d74bf9028a5487
BLAKE2b-256 b7120a2a5e85a416d65541e85919309bc493598a7a5762294fe75a0d84ea9672

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp39-cp39-win32.whl
  • Upload date:
  • Size: 165.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-2.3.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 f3f15efeaa2037359cc86ef804abebf4c9ce86bcb58076125525e1bedbb05815
MD5 eb443f0661ea96800b2472cc40e5ad96
BLAKE2b-256 d0c98abca43724c4c6c0f52becd138fae9abe2126625b84bad5fb2545fc0ee37

See more details on using hashes here.

File details

Details for the file compresso-2.3.2-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: compresso-2.3.2-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ 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-2.3.2-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 9122d23db1bc24b877a276a9412a578c73961c93cee69b6b7f4c1ec7e9adda7a
MD5 204a2b9aa9e25c2e3b6ea1fe86af507f
BLAKE2b-256 40657ce3c2df3a900361e0499986d235c211ed2bfd3c8a84c497ab08a889ab8f

See more details on using hashes here.

File details

Details for the file compresso-2.3.2-cp39-cp39-manylinux2010_i686.whl.

File metadata

  • Download URL: compresso-2.3.2-cp39-cp39-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ i686
  • 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-2.3.2-cp39-cp39-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 1d65632553273bd98841b914ad7964ee4ce130d932daead8c0aadb5874f6096a
MD5 d654207cc5bf9af865f556bf8cc552cf
BLAKE2b-256 be208c2412e25c4863e31c9e77b38040db320dd76dcd46b9917a990fd30c8c19

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 245.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-2.3.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 db02af28cc9e86da18763ed210be5cc8e6e443540f2e2e397374dea6b9daaec3
MD5 66e052ddf62ffd2a395c29553d955076
BLAKE2b-256 bc37aefd0b37236dbafb1184ed816f76c628a509b9d8cd319016a2983d5299ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp39-cp39-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 445.2 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-2.3.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 55d4e0dba3c63c4a1b4374874bce9301fc2542a00e0460814b4651f080818639
MD5 f7818aea42074b653a9f2c3d207732d7
BLAKE2b-256 a670b33d38e3241ece5313659010de51fe1af5f7e80814fbf15e7081fc9a671d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 193.2 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-2.3.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 20129dc05478338511f3b421236091d9be265678b519eac0a7234dd05bd202c7
MD5 beffe9fb067551f8bdb4d476fbeedf43
BLAKE2b-256 211c45b41035f5e4dbf6ae1b07ae6abd58fefbd4de1592ed47a312e5619e4b4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 166.2 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-2.3.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 7a7b752a460b1b1decffb8cfe07ea20251050d8701c5a01f19d51ccb652d5c1a
MD5 07403be3d3f8781285497c952be3f238
BLAKE2b-256 16a8b8f24913586786b96f4657dbfb355124022ad07c9fcc5dc9da49db9b6b74

See more details on using hashes here.

File details

Details for the file compresso-2.3.2-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: compresso-2.3.2-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ 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-2.3.2-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7b1fe6c9f11059ce1abbbe87bfac9f36bd89134aafe74262bf3b34936b60e1e1
MD5 339cae7afdf14cfb47294e7d1b0420e1
BLAKE2b-256 c65047976d444f69f18e77595adf776617c4f5a7d3be48592eaecd45c1a128a4

See more details on using hashes here.

File details

Details for the file compresso-2.3.2-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: compresso-2.3.2-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • 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-2.3.2-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 d81b0985aba0a9e591d6e4dadfe25881d4d5520cf1e4bab2dfb96fe65937c375
MD5 3de33eb201086232e346232f621b2b8c
BLAKE2b-256 3101403a3d9f4544c4d869d613da323621903111029fc9ccc2d02cd518b078ad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp38-cp38-macosx_11_0_universal2.whl
  • Upload date:
  • Size: 440.5 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-2.3.2-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 e1f1ead7c93e45df1ae4a9d358b76e2924d76fc3214bec042395f543d1e58051
MD5 ddba27d8196e70ac2d5568c337529757
BLAKE2b-256 2be9ff7bbb1296d6cdc026fb32c0f087d5015aaf10053e65eec6ff58d8ffd2ee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 242.6 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-2.3.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a7487077b7a04967a2adf5352c6555787c9878f32b29863518a6606a669934ed
MD5 d332bf4dc394ff77db2752460615057b
BLAKE2b-256 26b1ade7e55c21e4258cd94ee32da5c54539eb67060b51e19aedf71945aff5ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 187.4 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-2.3.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 083a2b57449b5896cac87819bc65f68d0d705785113759223866280103d0eec6
MD5 60d13a4236ad76b85eced8704540b993
BLAKE2b-256 36b40f90cf2ac6f337443729e2f46c535d063e825c21fd195b6f84e4da5a9e19

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 161.9 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-2.3.2-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 c381639b9d53b7d95f85463c0eb6b70847934164cf6b5fedcdd8bb513452cf6d
MD5 40a0bd752b7179792df84e5da2ede1d2
BLAKE2b-256 1a486a500863a2a326a272400cf6c933b39195d4766ddd16454ed1a8af93d7dc

See more details on using hashes here.

File details

Details for the file compresso-2.3.2-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: compresso-2.3.2-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ 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-2.3.2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 214c5b1dda8491075d869f484d870d3093e824489b74cfedba0ca3e1884ce704
MD5 4836d7f6dfbc3ffbde4511a8bf5bcd17
BLAKE2b-256 dd4ece7ffadba82e8af948ca54ab3f2d44c56dc17b5be9e5e68455a21be934ce

See more details on using hashes here.

File details

Details for the file compresso-2.3.2-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: compresso-2.3.2-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • 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-2.3.2-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 5bb3da356b13a6dec10fbd8cd5b3c1116b794f1529c6c33f483e1f95e30cb433
MD5 4a7f19d821289b2c7bf28025e619f8b9
BLAKE2b-256 dc078596eb89c3b0b30408d13ad263bf3dfb9acda8e834a89b102fb0c012c3f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 239.3 kB
  • Tags: CPython 3.7m, 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-2.3.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c4b0fd35ee2c23736dcdf0bef8455c6fde54c92109612777f87cfaac9d901015
MD5 aaf8350fdf039d45d5abfc2ca798ab12
BLAKE2b-256 7f5e5ac6e258b45f4f6b8b724fa922403485b555d86c07b48af44486883795c3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 187.2 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-2.3.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 85cc00a662f23b687868ac835e7a9898793d54f5cccc390d12f175543c64ee30
MD5 11a16927b209da5018462a92899751ce
BLAKE2b-256 db00541a552b5df47abc3bc29c41beb033668eb0f2b2fbecd5770e73f6c8532d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 162.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-2.3.2-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 e88c613a0d4f9a9c942d8d25e48fae0e96c2fbebb897399c5ffd7dfb5a7b7820
MD5 7eca0b1fa0b8eb987b00f9971b9217eb
BLAKE2b-256 43bb4f3cc031c8cb8ab27da5ba4cc299f32aa1ce068bf7b26d919f91b23d1087

See more details on using hashes here.

File details

Details for the file compresso-2.3.2-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: compresso-2.3.2-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ 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-2.3.2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ca2f769edf4f1948a7ab30ac8e0fabd81a72340f697503ae62526c81fb889cd3
MD5 b6f5ea4a1c8cf0c41104c3aef7b0fd54
BLAKE2b-256 e98ca65cda3881bf0967cd5425cd9c0bacb5c0964cdb8344da1ab3cba3ea8874

See more details on using hashes here.

File details

Details for the file compresso-2.3.2-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: compresso-2.3.2-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • 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-2.3.2-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 a08e5525b4cd819ac19f42d9fedd747fc7be51bf077ec8a5b3e9404f600d16fc
MD5 e1a07f424c2e9d6741912db4cde0b1a6
BLAKE2b-256 fa91692c95822717b61b2290b9d62787063fd258d003884a93e0b59009ec6e68

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compresso-2.3.2-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 238.7 kB
  • Tags: CPython 3.6m, 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-2.3.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3dc1df545c8bc7f60e52d03f8eed617cd308113db36f00ae32911cc4dd611c85
MD5 fb556b6efbb6573dd6eda20d587db31f
BLAKE2b-256 48b10f7cf9ebb6ce6f488b3e37e82d5f67fd93236e61cfc0a1cfcafb8064bf52

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