Skip to main content

Fast random access of gzip files in Python

Project description

indexed_gzip

Travis build status Appveyor build status PyPi version Anaconda version

Fast random access of gzip files in Python

Overview

The indexed_gzip project is a Python extension which aims to provide a drop-in replacement for the built-in Python gzip.GzipFile class, the IndexedGzipFile.

indexed_gzip was written to allow fast random access of compressed NIFTI image files (for which GZIP is the de-facto compression standard), but will work with any GZIP file. indexed_gzip is easy to use with nibabel (http://nipy.org/nibabel/).

The standard gzip.GzipFile class exposes a random access-like interface (via its seek and read methods), but every time you seek to a new point in the uncompressed data stream, the GzipFile instance has to start decompressing from the beginning of the file, until it reaches the requested location.

An IndexedGzipFile instance gets around this performance limitation by building an index, which contains seek points, mappings between corresponding locations in the compressed and uncompressed data streams. Each seek point is accompanied by a chunk (32KB) of uncompressed data which is used to initialise the decompression algorithm, allowing us to start reading from any seek point. If the index is built with a seek point spacing of 1MB, we only have to decompress (on average) 512KB of data to read from any location in the file.

Installation

indexed_gzip is available on PyPi - to install, simply type:

pip install indexed_gzip

You can also install indexed_gzip from conda-forge:

conda install -c conda-forge indexed_gzip

To compile indexed_gzip, make sure you have cython installed (and numpy if you want to compile the tests), and then run:

python setup.py develop

To run the tests, type the following; you will need numpy and pytest installed:

pytest

Usage

You can use the indexed_gzip module directly:

import indexed_gzip as igzip

# You can create an IndexedGzipFile instance
# by specifying a file name, or an open file
# handle. For the latter use, the file handle
# must be opened in read-only binary mode.
# Write support is currently non-existent.
myfile = igzip.IndexedGzipFile('big_file.gz')

some_offset_into_uncompressed_data = 234195

# The index will be automatically
# built on-demand when seeking or
# reading.
myfile.seek(some_offset_into_uncompressed_data)
data = myfile.read(1048576)

Using with nibabel

You can use indexed_gzip with nibabel. nibabel >= 2.3.0 will automatically use indexed_gzip if it is present:

import nibabel as nib

image = nib.load('big_image.nii.gz')

If you are using nibabel 2.2.x, you need to explicitly set the keep_file_open flag:

import nibabel as nib

image = nib.load('big_image.nii.gz', keep_file_open='auto')

To use indexed_gzip with nibabel 2.1.0 or older, you need to do a little more work:

import nibabel      as nib
import indexed_gzip as igzip

# Here we are using 4MB spacing between
# seek points, and using a larger read
# buffer (than the default size of 16KB).
fobj = igzip.IndexedGzipFile(
    filename='big_image.nii.gz',
    spacing=4194304,
    readbuf_size=131072)

# Create a nibabel image using
# the existing file handle.
fmap = nib.Nifti1Image.make_file_map()
fmap['image'].fileobj = fobj
image = nib.Nifti1Image.from_file_map(fmap)

# Use the image ArrayProxy to access the
# data - the index will automatically be
# built as data is accessed.
vol3 = image.dataobj[:, :, :, 3]

Index import/export

If you have a large file, you may wish to pre-generate the index once, and save it out to an index file:

import indexed_gzip as igzip

# Load the file, pre-generate the
# index, and save it out to disk.
fobj = igzip.IndexedGzipFile('big_file.gz')
fobj.build_full_index()
fobj.export_index('big_file.gzidx')

The next time you open the same file, you can load in the index:

import indexed_gip as igzip
fobj = igzip.IndexedGzipFile('big_file.gz', index_file='big_file.gzidx')

Write support

indexed_gzip does not currently have any support for writing. Currently if you wish to write to a file, you will need to save the file by alternate means (e.g. via gzip or nibabel), and then re-create a new IndexedGzipFile instance. For example:

import nibabel as nib

# Load the entire image into memory
image = nib.load('big_image.nii.gz')
data = image.get_data()

# Make changes to the data
data[:, :, :, 5] *= 100

# Save the image using nibabel
nib.save(data, 'big_image.nii.gz')

# Re-load the image
image = nib.load('big_image.nii.gz')

Performance

A small test script is included with indexed_gzip; this script compares the performance of the IndexedGzipFile class with the gzip.GzipFile class. This script does the following:

  1. Generates a test file.

  2. Generates a specified number of seek locations, uniformly spaced throughout the test file.

  3. Randomly shuffles these locations

  4. Seeks to each location, and reads a chunk of data from the file.

This plot shows the results of this test for a few compresed files of varying sizes, with 500 seeks:

Indexed gzip performance

Acknowledgements

The indexed_gzip project is based upon the zran.c example (written by Mark Alder) which ships with the zlib source code.

indexed_gzip was originally inspired by Zalan Rajna's (@zrajna) zindex project:

Z. Rajna, A. Keskinarkaus, V. Kiviniemi and T. Seppanen
"Speeding up the file access of large compressed NIfTI neuroimaging data"
Engineering in Medicine and Biology Society (EMBC), 2015 37th Annual
International Conference of the IEEE, Milan, 2015, pp. 654-657.

https://sourceforge.net/projects/libznzwithzindex/

Initial work on indexed_gzip took place at Brainhack Paris, at the Institut Pasteur, 24th-26th February 2016, with the support of the FMRIB Centre, at the University of Oxford, UK.

Many thanks to the following contributors (listed chronologically):

  • Zalan Rajna (@zrajna): bug fixes (#2)
  • Martin Craig (@mcraig-ibme): porting indexed_gzip to Windows (#3)
  • Chris Markiewicz (@effigies): Option to drop file handles (#6)
  • Omer Ozarslan (@ozars): Index import/export (#8)

License

indexed_gzip inherits the zlib license, available for perusal in the LICENSE file.

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

indexed_gzip-1.0.0.tar.gz (440.3 kB view details)

Uploaded Source

Built Distributions

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

indexed_gzip-1.0.0-cp38-cp38-manylinux1_x86_64.whl (541.8 kB view details)

Uploaded CPython 3.8

indexed_gzip-1.0.0-cp38-cp38-manylinux1_i686.whl (457.1 kB view details)

Uploaded CPython 3.8

indexed_gzip-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl (501.7 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

indexed_gzip-1.0.0-cp37-cp37m-win_amd64.whl (223.4 kB view details)

Uploaded CPython 3.7mWindows x86-64

indexed_gzip-1.0.0-cp37-cp37m-win32.whl (190.2 kB view details)

Uploaded CPython 3.7mWindows x86

indexed_gzip-1.0.0-cp37-cp37m-manylinux1_x86_64.whl (578.6 kB view details)

Uploaded CPython 3.7m

indexed_gzip-1.0.0-cp37-cp37m-manylinux1_i686.whl (485.9 kB view details)

Uploaded CPython 3.7m

indexed_gzip-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl (487.9 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

indexed_gzip-1.0.0-cp36-cp36m-win_amd64.whl (221.9 kB view details)

Uploaded CPython 3.6mWindows x86-64

indexed_gzip-1.0.0-cp36-cp36m-win32.whl (189.6 kB view details)

Uploaded CPython 3.6mWindows x86

indexed_gzip-1.0.0-cp36-cp36m-manylinux1_x86_64.whl (583.1 kB view details)

Uploaded CPython 3.6m

indexed_gzip-1.0.0-cp36-cp36m-manylinux1_i686.whl (489.0 kB view details)

Uploaded CPython 3.6m

indexed_gzip-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl (521.7 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

indexed_gzip-1.0.0-cp35-cp35m-manylinux1_x86_64.whl (558.8 kB view details)

Uploaded CPython 3.5m

indexed_gzip-1.0.0-cp35-cp35m-manylinux1_i686.whl (470.7 kB view details)

Uploaded CPython 3.5m

indexed_gzip-1.0.0-cp35-cp35m-macosx_10_6_intel.whl (482.9 kB view details)

Uploaded CPython 3.5mmacOS 10.6+ Intel (x86-64, i386)

indexed_gzip-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl (550.4 kB view details)

Uploaded CPython 2.7mu

indexed_gzip-1.0.0-cp27-cp27mu-manylinux1_i686.whl (457.9 kB view details)

Uploaded CPython 2.7mu

indexed_gzip-1.0.0-cp27-cp27m-win_amd64.whl (222.9 kB view details)

Uploaded CPython 2.7mWindows x86-64

indexed_gzip-1.0.0-cp27-cp27m-win32.whl (184.4 kB view details)

Uploaded CPython 2.7mWindows x86

indexed_gzip-1.0.0-cp27-cp27m-manylinux1_x86_64.whl (550.4 kB view details)

Uploaded CPython 2.7m

indexed_gzip-1.0.0-cp27-cp27m-manylinux1_i686.whl (457.9 kB view details)

Uploaded CPython 2.7m

indexed_gzip-1.0.0-cp27-cp27m-macosx_10_9_x86_64.whl (471.6 kB view details)

Uploaded CPython 2.7mmacOS 10.9+ x86-64

File details

Details for the file indexed_gzip-1.0.0.tar.gz.

File metadata

  • Download URL: indexed_gzip-1.0.0.tar.gz
  • Upload date:
  • Size: 440.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e49bb81311f23ec89555fb8314d10d8877a8cabc5f57b234386cf8ef3ac9bf71
MD5 7269f99cbc204696cefcdce8ebfdbf4c
BLAKE2b-256 3342796c9a55175e3c4189eb519e42c9910c38f1437c0d11a1fe90842ee24e79

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 541.8 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f76e052cb63647e70dcb62aae84d4c9fbaa90729597e4a3e27ae94d031ed3062
MD5 33db80860f4f237ff791f809134a9b1a
BLAKE2b-256 43f65cf0e8e7848dbcc942629962e61a970d236d8d7734015ea12310962f6fe3

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 457.1 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 be6a4f8eb19aa517c18a1fd8bf41afc325e8b0d9a775e5c2bcc88e448ab43a56
MD5 62b10a28034401a57d168e45f159d9aa
BLAKE2b-256 c3caa8ed2982547adaf3c42034c6a03360d9b7fcf322762155ec9d71044531df

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 501.7 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3b879a609b0580e0c5c7f4b4302f847e84c4c1b49e424a802251cf16cffca328
MD5 42256ab40cc2a4ca2b82c69c3d764d5d
BLAKE2b-256 48c9f1be09d8e5f9bbad9be2927a06840bf7371b4d60fc78354debeac99079a3

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 223.4 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 cb50b98118f34a613bae788569f52e715d51e8c0e338dcd8e4a53146226ea266
MD5 e9c6dac2bb6cfa7142e40265adae5d44
BLAKE2b-256 123b811ad4721cc811541324228f1f0764a3f5d4b55f878474d3e59397c9a055

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 190.2 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 54f157019b561b53a2d9fdb1c1d95d96965e63d5198635810c0b9199a8805de5
MD5 4f9be2d2e09d5ceafa653ad3f3b20f8b
BLAKE2b-256 9d90cd879dcad311c2602733ca8e734171437ebba3d729e08c3ee0345b12f240

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 578.6 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 dbb0915aa33857befc49663463c833cee7766ddb7d476f3edc204b33166c7107
MD5 181db7afebca4efe547145a41bb8494e
BLAKE2b-256 abd38276773cb444929013124cb78d423165170fe9f5771a0ae21a47ec9f3235

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 485.9 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b432f3b047327c8c31ee6b8514b9cd1bbf9f5558d15d17a78c200279a0209a2f
MD5 8d37e9a72662f65f1b4c2896cab7b4b1
BLAKE2b-256 3661addea33b32b6a44695e48d21e7bc4b6b11d8b6355b851a3fbd4bf00923dd

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 487.9 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 98a0ec7b7289e00c7f8ed7e0e565be4506504c9a500968d2bee4563475fe2908
MD5 e617431c74f9d7f85d3795764c8fad9c
BLAKE2b-256 8c0d61ffca11cfb03a4b1576d535d148398852334eca78b8d131d3cbeca00ff2

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 221.9 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 957acdee22c1cd7a222de1d6aa2da24d6ee8cf591f28bcd6352f4c1f19049b6d
MD5 8b0c17de69afb2287c22e084df83a89a
BLAKE2b-256 0ff58a7f4b8c50c8754200c4e308683c410f8ac37ea1dfa14c22546bfd0bc9c7

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 189.6 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 db3276757184fc63e74cd642b5e2da73d613bc8ff0ea8bd9015aaf52ad0289a8
MD5 5ee1f8a04ec520198b77de4e4339845a
BLAKE2b-256 f1574084527b596b0bc8a835f428267f153ac47f95e6f9cf93bbb1a37c412092

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 583.1 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 accc44f7863aa9c6abfcab73d4e2a124612f421fbde7fa19529aa6ada4b0045a
MD5 0cb97b56d19f4b243e73f5101c16ae00
BLAKE2b-256 ec8c9a5f8889802853f77bce40745c14e2c18424697fc71480ccef8534ffe917

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 489.0 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 92d4b36695d4e3af9681093fb3ce61e103971fbfbc4a00565ed616ec882ae343
MD5 f4df5684633baeaf1ec11751c19ad0b7
BLAKE2b-256 79ee71d535272e8ce798af1764581353ddcfb5c5eac4ca4cfe13af73cd244edc

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 521.7 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dfae078c45e1c8c3cf60749e73a17718c82b3d40dd1f3cbccdab7bd2562ac730
MD5 9882b86285bc76a34732b0f10322f1b2
BLAKE2b-256 317ab8564a19af6d36aa052079195a80ee782ad0ab69d7571824752d8d630226

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 558.8 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 fce9eea8a4b90b6cf100670b45a28d6537403817d5db28d5e9e1c26540bede0a
MD5 b38ab9957f0466b71c70d48bf9ca1bf0
BLAKE2b-256 f47dc885c1b9c92eaa8e8ebc7ea7f2cd4305920c60af66b793ac89ecdabef0a9

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 470.7 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 a3a3e1d3a4bb7ac4da0f617ed3821d954139898a42b37d3b2bf6246197ab8364
MD5 e7bda8bb639f3d352b8dbe551a205d3b
BLAKE2b-256 43e6a5a52f6a3a84ec130f00d62315c22bbc09fdd65acf47434cd88b4f4af78e

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp35-cp35m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 482.9 kB
  • Tags: CPython 3.5m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 1129e09db83efa63d03e15dff8fffbe7b9f471e5571c8a1b56906cb88e03522a
MD5 e790b380a92caeceac59aa8ced677368
BLAKE2b-256 451e3dedd86aca806fc00f3eed3b0b4d894f2319d2298f8f1156386bb979bd1d

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 550.4 kB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 52de532a95479bdb3684029d5ec706e88c19f458c2b7336b4d9db6d719209d3e
MD5 b164fb15abbf49c902ef6d0d1c5ad137
BLAKE2b-256 0ce7b6049c392ca8f470a866ef2cceb39cbe11d3d3595d2f1abe9e1ffe48b205

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp27-cp27mu-manylinux1_i686.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp27-cp27mu-manylinux1_i686.whl
  • Upload date:
  • Size: 457.9 kB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 e5f984d73d4b344eb335b7a8138168188957976abb5cc91b4d592adb344eec6c
MD5 3c38d6ceaa91441d5c45f84b8a9ee952
BLAKE2b-256 598c954bf1e8699110bbdf790bec924bce8265bba20c6a3153327156f3b5ef8e

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp27-cp27m-win_amd64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 222.9 kB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 ce6103379fab87922fc2f3379f87025ed738495ff2c1879a640a01ec699d78c3
MD5 d3345574ea7e7bf8f1b679b7e69be5e8
BLAKE2b-256 695b7ed0dfd7a447938333784b88fe239dc2aea749fd61443d18f482a362f9c0

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp27-cp27m-win32.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp27-cp27m-win32.whl
  • Upload date:
  • Size: 184.4 kB
  • Tags: CPython 2.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 cc058b574d5a1f979221a64a9da8622d9b75951e079a0bda83a76788a5672a62
MD5 7140e84fcba430bd2fe2d06e43dab33c
BLAKE2b-256 208264fd370f2d45f10a14553c17494d1493502ef813c01ad316a4054e5a531b

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 550.4 kB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0853f48f017f65d024b1f3d10c4a654b92b70a5ed1615169798705fa2267f30e
MD5 23dbf17045badc5c7e144ec76a596cac
BLAKE2b-256 743f3f7325d5c15c4d9ab2070ccf9a7e1b01476fc8ccc87c235f5cd62b0d1448

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp27-cp27m-manylinux1_i686.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp27-cp27m-manylinux1_i686.whl
  • Upload date:
  • Size: 457.9 kB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 5b2989d7704037d750c34d2d7c1249a82282725a2177974c408dd9e2ad7edb60
MD5 943dc478c57959d6c1355b32314bf0f7
BLAKE2b-256 1bad9c0bb5794be5562435e0241a1af0457355ced6f7e833b12286eafc119e89

See more details on using hashes here.

File details

Details for the file indexed_gzip-1.0.0-cp27-cp27m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: indexed_gzip-1.0.0-cp27-cp27m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 471.6 kB
  • Tags: CPython 2.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for indexed_gzip-1.0.0-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b236f6de08fd4897862278cad81aa8153f3701419a76c1a7720fc56247c1d3a4
MD5 6b9a1a553361a4d38e3727ed23331ec6
BLAKE2b-256 b47f2f7022f72834a17798b99f50be7e5101ea9666212b88433ac8708b5551ef

See more details on using hashes here.

Supported by

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