Skip to main content

Fast random access of gzip files in Python

Project description

indexed_gzip_fileobj_fork_epicfaace

PyPi version Anaconda versionTest status

Fast random access of gzip files in Python

Overview

The indexed_gzip_fileobj_fork_epicfaace 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_fileobj_fork_epicfaace 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_fileobj_fork_epicfaace 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.

Intended use

You may find indexed_gzip_fileobj_fork_epicfaace useful if you need to read from large GZIP files. A major advantage of indexed_gzip_fileobj_fork_epicfaace is that it will work with any GZIP file. However, if you have control over the creation of your GZIP files, you may wish to consider some alternatives:

  • mgzip provides an accelerated GZIP compression and decompression library.
  • Compression formats other than GZIP, such as bzip2 and xz, have better support for random access.

Installation

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

pip install indexed_gzip_fileobj_fork_epicfaace

You can also install indexed_gzip_fileobj_fork_epicfaace from conda-forge:

conda install -c conda-forge indexed_gzip_fileobj_fork_epicfaace

To compile indexed_gzip_fileobj_fork_epicfaace, 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, nibabel, pytest, pytest-cov, and coverage installed:

python -m indexed_gzip_fileobj_fork_epicfaace.tests

Usage

You can use the indexed_gzip_fileobj_fork_epicfaace module directly:

import indexed_gzip_fileobj_fork_epicfaace 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_fileobj_fork_epicfaace with nibabel. nibabel >= 2.3.0 will automatically use indexed_gzip_fileobj_fork_epicfaace 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_fileobj_fork_epicfaace with nibabel 2.1.0 or older, you need to do a little more work:

import nibabel      as nib
import indexed_gzip_fileobj_fork_epicfaace 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_fileobj_fork_epicfaace 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_fileobj_fork_epicfaace 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_fileobj_fork_epicfaace; 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_fileobj_fork_epicfaace project is based upon the zran.c example (written by Mark Alder) which ships with the zlib source code.

indexed_gzip_fileobj_fork_epicfaace 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_fileobj_fork_epicfaace 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_fileobj_fork_epicfaace to Windows (#3)
  • Chris Markiewicz (@effigies): Option to drop file handles (#6)
  • Omer Ozarslan (@ozars): Index import/export (#8)
  • @DarioDaF: Windows overflow bug (#30)
  • Sławomir Zborowski (@szborows): seek_points method (#35), README fixes (#34)

License

indexed_gzip_fileobj_fork_epicfaace 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_fileobj_fork_epicfaace-1.5.4.tar.gz (62.4 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_fileobj_fork_epicfaace-1.5.4-cp39-cp39-win_amd64.whl (328.5 kB view details)

Uploaded CPython 3.9Windows x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-win32.whl (287.4 kB view details)

Uploaded CPython 3.9Windows x86

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-manylinux2010_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-manylinux2010_i686.whl (2.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ i686

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl (610.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-win_amd64.whl (331.7 kB view details)

Uploaded CPython 3.8Windows x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-win32.whl (290.1 kB view details)

Uploaded CPython 3.8Windows x86

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-manylinux2010_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-manylinux2010_i686.whl (3.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ i686

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl (597.7 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-win_amd64.whl (303.2 kB view details)

Uploaded CPython 3.7mWindows x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-win32.whl (269.0 kB view details)

Uploaded CPython 3.7mWindows x86

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-manylinux2010_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ i686

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl (572.6 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-win_amd64.whl (301.8 kB view details)

Uploaded CPython 3.6mWindows x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-win32.whl (269.2 kB view details)

Uploaded CPython 3.6mWindows x86

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-manylinux2010_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ i686

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl (564.0 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-win_amd64.whl (279.8 kB view details)

Uploaded CPython 3.5mWindows x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-win32.whl (250.2 kB view details)

Uploaded CPython 3.5mWindows x86

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-manylinux2010_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ x86-64

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-manylinux2010_i686.whl (2.3 MB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ i686

indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-macosx_10_9_x86_64.whl (541.5 kB view details)

Uploaded CPython 3.5mmacOS 10.9+ x86-64

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4.tar.gz.

File metadata

  • Download URL: indexed_gzip_fileobj_fork_epicfaace-1.5.4.tar.gz
  • Upload date:
  • Size: 62.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4.tar.gz
Algorithm Hash digest
SHA256 694e0663089335a79c80f0e49c2b95d98bb78cab6fc2b8575970d5b530733549
MD5 8652fd15627f81104606bf79b44ed649
BLAKE2b-256 4f9587e51a4e1391fc798afc71d322df46866147402208b757ca6a42801a399b

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 328.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 dd3b551ca00199a829c4af79a492de015f5a042f83aebf7619d4f7d73a20995f
MD5 9f7064f2d4c3f8e281a8f87c2a6ec55e
BLAKE2b-256 cb4c2914239422a2f7c65f16789d89628fc427c38daf800f3fb9b48c081559aa

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-win32.whl.

File metadata

  • Download URL: indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-win32.whl
  • Upload date:
  • Size: 287.4 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 0063dd4520a532272323522f4cf381bbd38d16fd98640c62c5572f0c18c64976
MD5 887d4cf6495512c04607a3e89fc129d2
BLAKE2b-256 0b7e1d60294963c71bf72d6087d097ea16a6d98b3a57d9393421083932981f96

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 bb7e3508380792761121eac383b187d2a79cdb0d9242cc54c6baff96288125ad
MD5 b3fcd727a33d5366c8f1984cf6cc115e
BLAKE2b-256 35bde30d908513df6bd4eabcc7b27759cfe96e5042c5fd585aa8431d427b03b7

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-manylinux2010_i686.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 a3290226d39940ab2aebbc1de1035a383ae70fae5283d033638078f2bd2dfadc
MD5 30f3723ff06598769ba598096d2b7fb9
BLAKE2b-256 df37664b2c4d62b264e8781b87d69aab17915d6ef3bca4ac7603f8c954e218d9

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4603a0d9f99c7f4ac0b13b946ecbf79fe4029eb0957b634984de307a39cc7252
MD5 535bf35c99a013aac288341b27cccf29
BLAKE2b-256 fb123a415d0635954488fda99b99481cd470906f797990fb07f8dc688c1971c9

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-manylinux1_i686.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b7d1dc948508d1625df10c414f3ab73ac45561e9dba728e69607f464ee10d21a
MD5 c7fb0abf1cd499421317f9f71e3dee18
BLAKE2b-256 e42c141e2e2a53121dc7e90082ada7f52c0b8a68c5ed650871d193f95ea41020

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4e2ed9c3691827b46db2fac56a44050517708358df21777435126c3ffbdf57fd
MD5 a042a4ffdad708884dde32c528492820
BLAKE2b-256 84c4beb77ea5029bcf9a6d97c18498a51560131c7fca291ba987a6dd3115f745

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 331.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dc4c3c4cb73ae50e1d66910af9f4f0388d989dc0efe27c4b5662c9940cae7e2e
MD5 0d63e4cf504f7706fcf1ca0e1e3384b6
BLAKE2b-256 f874fba5fb19316feaf5d270052b922b35a3e2b60673b81d37ed49a719d92991

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-win32.whl.

File metadata

  • Download URL: indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-win32.whl
  • Upload date:
  • Size: 290.1 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 f4fd131cad69141d53e5010e2f6f6205d522908b2f6bdc05b92c4187bd5aaa0d
MD5 e68aa5ca815defe8bc7f2d9d6c27a8be
BLAKE2b-256 94da273df38bef6b415c7e8407469c5425a28fd7064dc76ed65c710745db6054

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b1c34326e4e7caad463a97c4ca7f76f5331398d16e164d0f08d819a1c5c8641c
MD5 f068ad9c76d695e45eebc5612c658240
BLAKE2b-256 4eb06fb153117589f0a8b6499eeb574c20fb62a747d07ab4fe3674606ee5a90e

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-manylinux2010_i686.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 f40954b970760a55c8ee81b5f7eb6b4151a7b44620c3ca823461f24304be9188
MD5 6c38caabeadf16db982632c2884d336b
BLAKE2b-256 27470b9c4c8382867ad376156fe825a82aea786a480da1ff5ce9bc3f75e8a555

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 90d8332b934497384193766b71d2172ed0aeb7f12b7ad12b9007b1b1eb883780
MD5 54c02cb2020a11697ad87a0eacf7620d
BLAKE2b-256 2759503a5e9070a21d4fd6282a3f8b8ffc1971e8f635470427f8edfd034db467

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-manylinux1_i686.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 837282950ced972707f72dc16651a31a76b443ca8e118eac73f12d6062a32c54
MD5 e07b4fa730bc2e5685d21982d2f5b179
BLAKE2b-256 b3dd6455be1dc28232681a149fe3b1280a7d8e34a43faf8aa03b5d98c9ca5f8f

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f4510e260473456b2693de3abdf809a79699f794200995786cf2259f1262d6d3
MD5 6aaea95f9a4e66e258a3c884ef509302
BLAKE2b-256 1995a309c68e6730785f2cfa5b6b070949cd7fec325f5d72414c159582a2abf8

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 131e284df6d92aa8c4babf9e56b1e46d70df7a362d704b62cca4302c48614afb
MD5 ecf2e12ec841b9ef602211530eb4adc5
BLAKE2b-256 e3fd8f682d3af236eccc26ad02d6fe7c0f71c91e5e6df29a8716f9b656aba76d

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-win32.whl.

File metadata

  • Download URL: indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 269.0 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 3ed45f4e0f17aa3234f8f3c2d0ee9d91b594a5e771b764c031f97f77e84a6df8
MD5 ed666ca6ac56245b7114c15736486b20
BLAKE2b-256 167595bdc7afcdb506528bdaf9de671758d65e47c5e93e021c9f66975069282d

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8d3ecb0afcf32754e5754dde8e40414bec3fc33b1a81829309ee942594c75c57
MD5 1f14608232a9461a9a639ee2d3161dc7
BLAKE2b-256 8fe86d71abf9fa6b5b3c1229eb2c7b7182fa8e8f027831ca0b7a7f2ddc78b5c7

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-manylinux2010_i686.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3d6d186e61a8ed2c5e3506e1a4019e8813089b4eecb2ac34a9d82e4809988a1d
MD5 e9a18ce6014247bda2951003ba370384
BLAKE2b-256 943cb390c5e74e8b608e5fa583e74249927739d5151e36d931dec0c9e39e91fd

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2e74c79c81efa78bb19396ae86839b1ef6602196e3af557f7522a0069b641902
MD5 794728c50ee7d4c9155edd90699a07bc
BLAKE2b-256 fe70e587ab8adabe27d08218b61623efc65f93209ec705b50ec5305e70b0acc2

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 c9322f6b3da4ca4bf6378caa309567d7163338895403cefbdd898e851d39ccc9
MD5 e8d5259cd1a13ebad8a6717de5f7e4c7
BLAKE2b-256 f62444960bda2e382bc582352c52d25beb147ff9cc8cab46496e057005b80658

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 91a6e8c83709a0d858e26d7eb6d11be5bb155cfe9f161e167bca88f3b6624fe5
MD5 c03bea5c71ef67495321763becb06ba7
BLAKE2b-256 5a1883679d18ab66b5f7be0befac2b783164ccc6c2ba682f587197b4796d3a25

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 798f3f446caea6aaefdd0261e07d968d3bee4fa4173608f5bc8b3c5efb945d50
MD5 3b3b211a544b01114c1346619fe05b3d
BLAKE2b-256 24a5a595b12655c63ab7632012602a68c352e3ab3d5cfce1a8ba45fc13ad2978

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-win32.whl.

File metadata

  • Download URL: indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 269.2 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 125e21511941da9fe76b1c167aae23cd7aa3b57e1a19ffb921c4baa41c8baaa8
MD5 56292d8e6042a972f38f966b23d4389f
BLAKE2b-256 a609f5a3caaeaeef3657cb252a6e0efd64b739697bd40e4bf2f524b4dcea0ec4

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 090829466a12e19f620b2c7c149a644c40f23f6644655a77dcef34b32f85b5fc
MD5 bb2d0e88634e006b4bcd33907afe675e
BLAKE2b-256 af1eabd1f4c551afc442e239ea28359b38ac3236f01820824ef720c19ed7744d

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-manylinux2010_i686.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 87d60526ec29a1b98906415e9e16728cfcb1075a7422eeec14cbac1a5c20fa8a
MD5 395a8c1e1507f98693cab2e27dca398d
BLAKE2b-256 6a21e2f8cd3821ee55a853b97c656dfd73b5d020d459971a2ae602ffb9b47340

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e24cb3c2374af858f693a7f55c228a7a6a5301a895294755dafe355f48cebfc5
MD5 1a88fdb69c3ba8badf320616ded2ece2
BLAKE2b-256 d4760fe79ab047e13feba06158c6639c340bed1cc4265ab4eae70884278c23a8

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 db6b49fc356eb6ba33cb4ded281e54b03b69030b4848c77635c5240bad1d73de
MD5 b248dbe6f54503efe5698841fd7a59de
BLAKE2b-256 3ad32b3a61f20945253bceefdf8832a381269c5c5f2769ead7a286a0ba98882f

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 30da23bf059afd626cdadf5bdcc8c63bb5b3441e48f3c7375fe50e3e27021006
MD5 e559334e4b589e9dc3e00d6378e704a7
BLAKE2b-256 4714c330bb8b4302c53151fcd4973dd013a10a866ad32837dc2d6b0f318db996

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 9809aa78ea7fd1764b3fe0b6ef97976d6ae0ca4a0267bbbb81a436b0076ceb0b
MD5 c7db636adabac69f4753e7c49970316c
BLAKE2b-256 0758afd6dba12c3ff0478edc694c14e16261c5e884390323ad94254ae167f173

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-win32.whl.

File metadata

  • Download URL: indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 250.2 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 488accbab5d93959b1bf98db51cb351bbb5342404f882e375ae1dcd3638ad1dd
MD5 06c429aad9563b818dbfb122d802c35f
BLAKE2b-256 4dd9fc8a8833e002510cb5ff81b409d7c804020aa0ba7b71c1c6bc81c262c9bc

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b7adb935a924b8bc3add48bc686c8fba14d0388f1e2d5f75ee7b617a79b3f9ec
MD5 c7982e2b066f1cd7f82db94a694b38b8
BLAKE2b-256 84056d95f07c0718d023e46f5962a422ca401ea852669fe700386e8063976cf1

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-manylinux2010_i686.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 29906891bb17f3ec6ba54fcbd1ff252428d95de374fa0d7979f056a06c57fa8c
MD5 5be91313488204cacffc60488ff10f32
BLAKE2b-256 2358ddea41e3eb2060b1b405d8a01c1d83726569e75c7c8c8f3ee14ef60ba506

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1084958791f7cce22c17a77f0812af51d7b5740d62df8c056778b7fd23909051
MD5 d269215745c586e1d5b7efa5f317b505
BLAKE2b-256 8a76d1e3d4ff301e0b9e84f0d66ad92f74bd0431cab17f3bdafa5fd57743a1c5

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 3c71af23f5a6c45224f01aa327c7ace76c0789ec39b582b0bba61ce6befb0971
MD5 4a20c57456eab33e505ef8971721a0ca
BLAKE2b-256 d4c2d969426946e22f33e07705eb52b480a7add79a0b26292b9d86780449f641

See more details on using hashes here.

File details

Details for the file indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_gzip_fileobj_fork_epicfaace-1.5.4-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 228eca9299927a3e8b77433b390a79f612a7631caeb2f8fd6eacad2337e89d19
MD5 374d6e7a97759e3bf096977726e3846f
BLAKE2b-256 e6839b6dd2fb3afdda82eed66ce940b9014f74b72459b331ef8bd2e6f34688d3

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