Skip to main content

Fast random access to bzip2 files

Project description

indexed_bzip2

PyPI version Python Version PyPI Platforms Downloads
Conda Platforms Conda Platforms
License Build Status codecov C++17 Discord Telegram

This module provides an IndexedBzip2File class, which can be used to seek inside bzip2 files without having to decompress them first. Alternatively, you can use this simply as a parallelized bzip2 decoder as a replacement for Python's builtin bz2 module in order to fully utilize all your cores.

On a 12-core processor, this can lead to a speedup of 6 over Python's bz2 module, see this example. Note that without parallelization, indexed_bzip2 is unfortunately slower than Python's bz2 module. Therefore, it is not recommended when neither seeking nor parallelization is used!

The internals are based on an improved version of the bzip2 decoder bzcat from toybox, which was refactored and extended to be able to export and import bzip2 block offsets, seek to block offsets, and to add support for threaded parallel decoding of blocks.

Seeking inside a block is only emulated, so IndexedBzip2File will only speed up seeking when there are more than one block, which should almost always be the cause for archives larger than 1 MB.

Since version 1.2.0, parallel decoding of blocks is supported! However, per default, the older serial implementation is used. To use the parallel implementation you need to specify a parallelization argument other than 1 to IndexedBzip2File, see e.g. this example.

Table of Contents

  1. Performance comparison with bz2 module
  2. Installation
  3. Usage
    1. Python Library
    2. Via Ratarmount
    3. Command Line Tool
    4. C++ Library
  4. Internal Architecture
  5. Tracing the Decoder

Performance comparison with bz2 module

Results for an AMD Ryzen 3900X 12-core (24 virtual cores) processor and with bz2FilePath='CTU-13-Dataset.tar.bz2', which is a 2GB bz2 compressed archive.

Module Runtime / s Bandwidth / (MB/s) Speedup
bz2 392 5.1 1
indexed_bzip2 with parallelization = 0 62 32.3 6.3
indexed_bzip2 with parallelization = 1 559 3.6 0.7
indexed_bzip2 with parallelization = 2 321 6.2 1.2
indexed_bzip2 with parallelization = 6 116 17.2 3.4
indexed_bzip2 with parallelization = 12 72 27.8 5.4
indexed_bzip2 with parallelization = 24 64 31.5 6.2
indexed_bzip2 with parallelization = 32 66 30.1 5.9

The speedup of indexed_bzip2 over the bz2 module with parallelization = 0 is 6. When using only one core, indexed_bzip2 is unfortunately slower by (559-392)/392 = 42%.

These are simple timing tests for reading all the contents of a bzip2 file sequentially.

import bz2
import os
import time

fileSize = os.stat(bz2FilePath).st_size

with bz2.open(bz2FilePath) as file:
    t0 = time.time()
    while file.read(512*1024):
        pass
    bz2Duration = time.time() - t0
    print(f"Decoded file in {bz2Duration:.0f}s, bandwidth: {fileSize / bz2Duration / 1e6:.1f} MB/s")

The usage of indexed_bzip2 is slightly different:

import indexed_bzip2
import time

# parallelization = 0 means that it is automatically using all available cores.
for parallelization in [0, 1, 2, 6, 12, 24, 32]:
    with indexed_bzip2.IndexedBzip2File(bz2FilePath, parallelization = parallelization) as file:
        t0 = time.time()
        # Unfortunately, the chunk size is very performance critical! It might depend on the cache size.
        while file.read(512*1024):
            pass
        ibz2Duration = time.time() - t0
        print(f"Decoded file in {ibz2Duration:.0f}s"
              f", bandwidth: {fileSize / ibz2Duration / 1e6:.1f} MB/s"
              f", speedup: {bz2Duration/ibz2Duration:.1f}")

Installation

You can simply install it from PyPI:

python3 -m pip install --upgrade pip  # Recommended for newer manylinux wheels
python3 -m pip install indexed_bzip2

To install with conda:

conda install -c conda-forge indexed_bzip2

The latest unreleased development version can be tested out with:

python3 -m pip install --force-reinstall 'git+https://github.com/mxmlnkn/indexed_bzip2.git@master#egginfo=indexed_bzip2&subdirectory=python/indexed_bzip2'

And to build locally, you can use build and install the wheel:

cd python/indexed_bzip2
rm -rf dist
python3 -m build .
python3 -m pip install --force-reinstall --user dist/*.whl

Usage

Python Library

Simple open, seek, read, and close

from indexed_bzip2 import IndexedBzip2File

file = IndexedBzip2File( "example.bz2", parallelization = os.cpu_count() )

# You can now use it like a normal file
file.seek( 123 )
data = file.read( 100 )
file.close()

The first call to seek will ensure that the block offset list is complete and therefore might create them first. Because of this the first call to seek might take a while.

Use with context manager

import os
import indexed_bzip2 as ibz2

with ibz2.open( "example.bz2", parallelization = os.cpu_count() ) as file:
    file.seek( 123 )
    data = file.read( 100 )

Storing and loading the block offset map

The creation of the list of bzip2 blocks can take a while because it has to decode the bzip2 file completely. To avoid this setup when opening a bzip2 file, the block offset list can be exported and imported.

import indexed_bzip2 as ibz2
import pickle

# Calculate and save bzip2 block offsets
file = ibz2.open( "example.bz2", parallelization = os.cpu_count() )
block_offsets = file.block_offsets() # can take a while
# block_offsets is a simple dictionary where the keys are the bzip2 block offsets in bits(!)
# and the values are the corresponding offsets in the decoded data in bytes. E.g.:
# block_offsets = {32: 0, 14920: 4796}
with open( "offsets.dat", 'wb' ) as offsets_file:
    pickle.dump( block_offsets, offsets_file )
file.close()

# Load bzip2 block offsets for fast seeking
with open( "offsets.dat", 'rb' ) as offsets_file:
    block_offsets = pickle.load( offsets_file )
file2 = ibz2.open( "example.bz2", parallelization = os.cpu_count() )
file2.set_block_offsets( block_offsets ) # should be fast
file2.seek( 123 )
data = file2.read( 100 )
file2.close()

Open a pure Python file-like object for indexed reading

import io
import os
import indexed_bzip2 as ibz2

with open( "example.bz2", 'rb' ) as file:
    in_memory_file = io.BytesIO( file.read() )

with ibz2.open( in_memory_file, parallelization = os.cpu_count() ) as file:
    file.seek( 123 )
    data = file.read( 100 )

Via Ratarmount

Because indexed_bzip2 is used by default as a backend in ratarmount, you can use ratarmount to mount single bzip2 files easily. Furthermore, since ratarmount 0.11.0, parallelization is the default and does not have to be specified explicitly with -P.

base64 /dev/urandom | head -c $(( 512 * 1024 * 1024 )) | bzip2 > sample.bz2
# Serial decoding: 23 s
time bzip2 -c -d sample.bz2 | wc -c

python3 -m pip install --user ratarmount
ratarmount sample.bz2 mounted

# Parallel decoding: 2 s
time cat mounted/sample | wc -c

# Random seeking to the middle of the file and reading 1 MiB: 0.132 s
time dd if=mounted/sample bs=$(( 1024 * 1024 )) \
       iflag=skip_bytes,count_bytes skip=$(( 256 * 1024 * 1024 )) count=$(( 1024 * 1024 )) | wc -c

Command Line Tool

A rudimentary command line tool exists but is not yet shipped with the Python module and instead has to be built from source.

git clone https://github.com/mxmlnkn/indexed_bzip2.git
cd indexed_bzip2
mkdir build
cd build
cmake ..
cmake --build . -- ibzip2

The finished ibzip2 binary is created in the tools subfolder. To install it, it can be copied, e.g., to /usr/local/bin or anywhere else as long as it is available in your PATH variable. The command line options are similar to those of the existing bzip2 tool.

src/tools/ibzip2 --help

# Parallel decoding: 1.7 s
time src/tools/ibzip2 -d -c -P 0 sample.bz2 | wc -c

# Serial decoding: 22 s
time bzip2 -d -c sample.bz2 | wc -c

C++ library

Because it is written in C++, it can of course also be used as a C++ library. In order to make heavy use of templates and to simplify compiling with Python setuptools, it is completely header-only so that integration it into another project should be easy. The license is also permissive enough for most use cases.

I currently did not yet test integrating it into other projects other than simply manually copying the source in core and indexed_bzip2. If you have suggestions and wishes like support with CMake or Conan, please open an issue.

Internal Architecture

The parallelization of the bzip2 decoder and adding support to read from Python file-like objects required a lot of work to design an architecture which works and can be reasoned about. An earlier architecture was discarded because it became to monolithic. That discarded one was able to even work with piped non-seekable input, with which the current parallel architecture does not work with yet. The serial BZ2Reader still exists but is not shown in the class diagram because it is deprecated and will be removed some time in the future after the ParallelBZ2Reader has proven itself. Click here or the image to get a larger image and here to see an SVG version.

Class Diagram for ParallelBZ2Reader

Tracing the Decoder

Performance profiling and tracing is done with Score-P for instrumentation and Vampir for visualization. This is one way, you could install Score-P with most of the functionalities on Ubuntu 22.04.

sudo apt-get install libopenmpi-dev openmpi-bin gcc-11-plugin-dev llvm-dev libclang-dev libunwind-dev \
                     libopen-trace-format-dev otf-trace libpapi-dev

# Install Score-P (to /opt/scorep)
SCOREP_VERSION=8.0
wget "https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-${SCOREP_VERSION}/scorep-${SCOREP_VERSION}.tar.gz"
tar -xf "scorep-${SCOREP_VERSION}.tar.gz"
cd "scorep-${SCOREP_VERSION}"
./configure --with-mpi=openmpi --enable-shared --without-llvm --without-shmem --without-cubelib --prefix="/opt/scorep-${SCOREP_VERSION}"
make -j $( nproc )
make install

# Add /opt/scorep to your path variables on shell start
cat <<EOF >> ~/.bashrc
if test -d /opt/scorep; then
    export SCOREP_ROOT=/opt/scorep
    export PATH=$SCOREP_ROOT/bin:$PATH
    export LD_LIBRARY_PATH=$SCOREP_ROOT/lib:$LD_LIBRARY_PATH
fi
EOF

echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid

# Check whether it works
scorep --version
scorep-info config-summary

# Actually do the tracing
cd tools
bash trace.sh

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_bzip2-1.5.0.tar.gz (189.2 kB view details)

Uploaded Source

Built Distributions

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

indexed_bzip2-1.5.0-pp39-pypy39_pp73-win_amd64.whl (206.6 kB view details)

Uploaded PyPyWindows x86-64

indexed_bzip2-1.5.0-pp39-pypy39_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (323.9 kB view details)

Uploaded PyPymanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

indexed_bzip2-1.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (358.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

indexed_bzip2-1.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (381.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

indexed_bzip2-1.5.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (251.4 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

indexed_bzip2-1.5.0-pp38-pypy38_pp73-win_amd64.whl (206.4 kB view details)

Uploaded PyPyWindows x86-64

indexed_bzip2-1.5.0-pp38-pypy38_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (323.2 kB view details)

Uploaded PyPymanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

indexed_bzip2-1.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (357.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

indexed_bzip2-1.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (381.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

indexed_bzip2-1.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (251.3 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

indexed_bzip2-1.5.0-pp37-pypy37_pp73-win_amd64.whl (206.4 kB view details)

Uploaded PyPyWindows x86-64

indexed_bzip2-1.5.0-pp37-pypy37_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (325.3 kB view details)

Uploaded PyPymanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

indexed_bzip2-1.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (360.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

indexed_bzip2-1.5.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (384.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

indexed_bzip2-1.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (251.3 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

indexed_bzip2-1.5.0-cp311-cp311-win_amd64.whl (210.3 kB view details)

Uploaded CPython 3.11Windows x86-64

indexed_bzip2-1.5.0-cp311-cp311-musllinux_1_1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

indexed_bzip2-1.5.0-cp311-cp311-musllinux_1_1_i686.whl (4.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

indexed_bzip2-1.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

indexed_bzip2-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

indexed_bzip2-1.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (3.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

indexed_bzip2-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl (288.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

indexed_bzip2-1.5.0-cp310-cp310-win_amd64.whl (211.3 kB view details)

Uploaded CPython 3.10Windows x86-64

indexed_bzip2-1.5.0-cp310-cp310-musllinux_1_1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

indexed_bzip2-1.5.0-cp310-cp310-musllinux_1_1_i686.whl (4.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

indexed_bzip2-1.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

indexed_bzip2-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

indexed_bzip2-1.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (3.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

indexed_bzip2-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl (289.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

indexed_bzip2-1.5.0-cp39-cp39-win_amd64.whl (212.5 kB view details)

Uploaded CPython 3.9Windows x86-64

indexed_bzip2-1.5.0-cp39-cp39-musllinux_1_1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

indexed_bzip2-1.5.0-cp39-cp39-musllinux_1_1_i686.whl (4.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

indexed_bzip2-1.5.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

indexed_bzip2-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

indexed_bzip2-1.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (3.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

indexed_bzip2-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl (290.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

indexed_bzip2-1.5.0-cp38-cp38-win_amd64.whl (212.4 kB view details)

Uploaded CPython 3.8Windows x86-64

indexed_bzip2-1.5.0-cp38-cp38-musllinux_1_1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

indexed_bzip2-1.5.0-cp38-cp38-musllinux_1_1_i686.whl (4.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

indexed_bzip2-1.5.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

indexed_bzip2-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

indexed_bzip2-1.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (3.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

indexed_bzip2-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl (289.2 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

indexed_bzip2-1.5.0-cp37-cp37m-win_amd64.whl (211.8 kB view details)

Uploaded CPython 3.7mWindows x86-64

indexed_bzip2-1.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

indexed_bzip2-1.5.0-cp37-cp37m-musllinux_1_1_i686.whl (4.1 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

indexed_bzip2-1.5.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

indexed_bzip2-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

indexed_bzip2-1.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (3.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686

indexed_bzip2-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl (289.1 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

indexed_bzip2-1.5.0-cp36-cp36m-win_amd64.whl (211.7 kB view details)

Uploaded CPython 3.6mWindows x86-64

indexed_bzip2-1.5.0-cp36-cp36m-musllinux_1_1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ x86-64

indexed_bzip2-1.5.0-cp36-cp36m-musllinux_1_1_i686.whl (4.1 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ i686

indexed_bzip2-1.5.0-cp36-cp36m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

indexed_bzip2-1.5.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

indexed_bzip2-1.5.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (3.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ i686

indexed_bzip2-1.5.0-cp36-cp36m-macosx_10_9_x86_64.whl (289.0 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

Details for the file indexed_bzip2-1.5.0.tar.gz.

File metadata

  • Download URL: indexed_bzip2-1.5.0.tar.gz
  • Upload date:
  • Size: 189.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for indexed_bzip2-1.5.0.tar.gz
Algorithm Hash digest
SHA256 b4a7fda1d69d7d0650609cfffef598a5e07df59f152e0fa110fbdf1075e07673
MD5 1326b49ff674618ed1068931f09f9293
BLAKE2b-256 8679bd6fddc7a5bb0076d89e5ee2e783952a25e5fbb668521c874ecc5be38dce

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 463f2b2e65b55e22b6dc7ef578dce6e846f9dd2729cb24954e1a5b18c4a04dd8
MD5 eb5f38acef7cdddb7302738c6ee0f9f3
BLAKE2b-256 b7e0596c473a0caffab7189db00f3f8b2a03716111fd7e7d66c1dafc40c0113d

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp39-pypy39_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp39-pypy39_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fc4d33b2d21dfe39dbbc08f374913fe363aceb56d3660665dfd3449c2a1e87fd
MD5 fa6baa345492e51766ee5b98e60426e6
BLAKE2b-256 676b0621ebbd4d0ab65fcd770c87dc3161817aed40ed673da1eeceff5c1ad39e

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e76af328f7297640d01408ac68a61aa5ccea7ec8ae52fdb99b3c33ded07bbd1
MD5 566fb766beb5c9d46b2c735884e57625
BLAKE2b-256 4998f69bb2708a826d57912cdb21e54fed6df51e8395b533a723f9214d9cd3ac

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 44f50d6e6eeb1879ec12013347dd42f1c46833a241d9ca706940ef23b2e7494b
MD5 f7abfca6a10699224474e53dded445f2
BLAKE2b-256 0dd5e7a4acbc8d21bbeaa63e5b7e87bc2d550ad2f42f5afac6a395b617c34f9d

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d02fa4ca2454c988ec81f157149d323f2150e466b6c830e374e2a40b2c9693b9
MD5 37352e417d11fb0943af30db398bca91
BLAKE2b-256 f2235c1ae8c3b8b2c946c470c4dd6249f7594f10b7268c053b24c2752a43a30d

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 2ed99985deadcc38e4c5fe92e5ec84d067e444bb3b70b6c75b4e846626a04157
MD5 275b0c79460aea236ca5f121abab37f2
BLAKE2b-256 b7f234ea9b9952bf18b1c3063f98d8670da3c0e89607932ee43a390d683bb7e5

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp38-pypy38_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp38-pypy38_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6bcd71116550c1eeb12d4eb793e8878c2247a96aaa2ac3311c8ac4aba0002a59
MD5 aafabc41f1d5cd3cca8aa177f7b2064b
BLAKE2b-256 55a7c803814c69a6efa9450e99cf178c361d3f6b9350bd8f4b9217f7fc53150d

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc833efc50053cc77a0c49862da940a94afc0949d292db78110efc1e2ed9549c
MD5 725f1ffdb6388ad5a2c71b427e89fc2e
BLAKE2b-256 66210c89c7c9288e05f3fb5f3cc022fc5121ba9276e136b87e668cca62bc7295

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9f74e41ea6b9b9f8d09a9a208b1a5e874b2fde9a45f122092993e171afb1e69a
MD5 c23272a90da6028fd56f7fabca54e3cb
BLAKE2b-256 1d06ead46ef60e0b62a98e3b3aca527f76bc04794f7f35f9ae5bd85de3dbbc44

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5b152d2d9d3f12964779981f7f2815d894580c6e4f7a02149c02376d436b32a7
MD5 a63148c3c1fe663910d7c434864b371a
BLAKE2b-256 455125620fac66eb107147961ec2d69895f0c913cd954d73f8eccb7e3f40f9e6

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 fddad479b3c5288ba37f2ccdebe5e9de500c05b9b257ca2be9d7862c71dca31e
MD5 93d4d40261b54a3f5eee5927dcfdbcc1
BLAKE2b-256 2cfb933510a9ec41f6b4af155466bf6a1c6ebd62481e3eeef51eb25c48f38202

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp37-pypy37_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp37-pypy37_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ecbe4d0245b860dab6e7dad5eecc5f641db7c6cf8633519c26574ac45978118d
MD5 eac631ee0bbd1f6337dde673a95d8508
BLAKE2b-256 155fce6eb9fad15dae0d772d7afa264f1c5e14d0ed38fca6ba82ad6bbb7343e9

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74ad7779995c1f61efd85986ec9be0507c946fe3d4d6e5374dfb9c0a2685444e
MD5 f40f03e032e6171e7805abb72158a82c
BLAKE2b-256 0b9f25c002f08a907977e02dbddd91b77d94337440d4f74f38ce8c0f5a206d54

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 26cfd1fc5c4a1556d08fabd6c51b0a04e18cc9ffe1c90887e1ad49544b2e5996
MD5 3cc4b846710ed96e5ec7d628646c186c
BLAKE2b-256 eed81779c9bb94dd896f5940df07b5555063265ef16deadf6a1d1501c31945a4

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e109b5ebaf9e9ebad71c2fd91f0aaf9ae364835c7767fc1d4d87f4ac7870d6b5
MD5 89adee5cd5a31cc2e8967086ff924477
BLAKE2b-256 e1872bec722e3c05b1e53464ed2dc3cb792c0177916ef8561f938c650000a338

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4c60699101349e69cb9a6c87079e0ea3ff466871c7f3df874193eb95763adaa6
MD5 4cc08e9b2fb8446ece6e649dd4627f42
BLAKE2b-256 435a37d995cdb40e7eece60d1a26efe300d7d13945fb5d59be5aff20e94f522f

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7e504e9566784565189a55b095b597ec83c5b79681f00304d288d649cb43e711
MD5 19cfa3353a07b22dfec55ffce60a48a8
BLAKE2b-256 406eb9c2930033ea687b321a39a89fe7d8cf27959edcda87e462e09db2c7c4c8

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 4ce5fee096b9c241925077f2838b5d3b75a9cd1a4ead747b84e9cd8fdfa2371a
MD5 f3c7c6f9d7bed15d2cb6cc971e83c2fd
BLAKE2b-256 c9f716c1e4f3c911f11759376de9fb2f5f85e9bf567afa52e488194e98b62c6b

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 14b1c25fa88df0b84cbc5000da563c973c972b2942e3a5290bf5f9bb29668dd9
MD5 4cb43e826e337acdfdd72e06130888eb
BLAKE2b-256 1768dfd046cf52b66f88a775a954bc70fedd1385c5f88bf2b5b7b54f2feed531

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 baee189682c54bd676cbb95e4f0c4a028d58318681f1ed52058a3dde99a74418
MD5 81192a1f197e0b9fead030398b0adc56
BLAKE2b-256 cc418262b6535545efb478c115f5dd39bcbf0356ef97824ede27dc4772702605

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b7da229ed67e610c781ae269bba3bc37fab924795d903f4414b82ddfc4a272a1
MD5 97b5047153117a2c7c40826e6b82c1d3
BLAKE2b-256 8b98b7aeb33e9662249528a88dcb55f9efddef81bdb723fcd26deef4e2745bf4

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f0a91538720dce35e6220c0e0f95943e0f840dff923a537e71050a9c7dee8909
MD5 3351a151a5d14bc1480096762db27dbd
BLAKE2b-256 e5ef2ca82141d4b884ebce0938de953f55906afea4fdf9e8b1c2e1df89ca2595

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 79ff36cdbb41defbed07b7b8175f71733b0f638e21e344fcc323a630d3e1b731
MD5 124508d5e45f4a009dd4686dac8455c1
BLAKE2b-256 b8a6a67a261c610acc112a515c79018942b1183c91860721b6ff62124353ab35

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1e357a17a6059e98a7b79c420aee47936fcf3fd62e9ee102c42b836b23fbaa2b
MD5 6286e603bf9c8d1328dc668100331a0b
BLAKE2b-256 2da6fc192e3663f857d10fe6bfb5240fab8761a3399f033d7b251008296272a2

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 527ce8edc8352792c8c03bd54c1b797af6d05c07818e790430c150d0b4cbb534
MD5 df510a3bba89a9e9911c302e43c06c15
BLAKE2b-256 2075fe871de5ea63e807e03650f61fd9f2311a8714d58df8d792ddb8e85bda60

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e213621afce669a673a76127a440e50bec04d5e03dedb7704da74004cbddc433
MD5 cf2d0c8d7116fc12d39bd14ba7e5ccc2
BLAKE2b-256 38d219077d3dbdd093690623b91621a764a574144fe6fd257243d43d9d416e77

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0955615a15239c767e4180849e1a622b32f0d6e252e09863e611e3cd7a478cac
MD5 f9798dfc658d8ffae4d495ddc87e3d15
BLAKE2b-256 45d0bab365248b81bb459bc01b2af32c9148713121aacc495964483e07a08586

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4058d05a73d612a10cfd0a4910e1631cdd2cec47a6e6498ea51ced81267977e9
MD5 553228725c2e62d383440116f8a132ea
BLAKE2b-256 c0e2b1b25202014c1890a72e639cb6e78d085c55ffaa871aaa2c8586f0da50ca

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 173328c81681512f3000e94b7308c2260214f19931b823efe2038a6aad3c9900
MD5 6aa69e34c83737c8e433063a02407c39
BLAKE2b-256 ce56db89b9ad4f1fcb34dfc19855ecaa55fe5fe2e82e76428cde9cb9d5d91ed9

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 94fe09c54a1c3fb93b545d67376a2c8db7d56b3c020be71a0d73f1286050a6f5
MD5 f017b7ef4bc5636586f6cdb4dd4fe1a8
BLAKE2b-256 626d753520957b66ca36edac8e51121ff4b563112f1e5d3bfb527675f41c3e56

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2b75c1b031b933983ec82002503c900c4af4dd1a448f0b38477a8b0268c9b1bb
MD5 82b637d2b11ec3607521122da13f4d99
BLAKE2b-256 737670a3b5a18c9ead5c7fa7b317aa9d8ff9d284500fa17f7676274bb39cf6c5

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 15842b1a709f3d6c4b82c009ea0c5b8c1a9a72dfe7ed0eee87c24df682a8a44c
MD5 c2cb8d104e5c24760413659c46405427
BLAKE2b-256 2b0dde964eb1f0290e53ed4066fd4092143e9083ed0523c8ffebf8a8becb124f

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 654f94ae740358ad0c089b6a3395bef08c16ee8941fd1c693798665e628c3b98
MD5 acdfe54a1b52d35e1aecd4a219e485c5
BLAKE2b-256 37f97109394337af81d78d6987d7c1ff33ae4408bc2da56b3ed37932a1623a4c

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2ae03377ba42734bf8e61d85cb9b7d2284f7b380b01cc29cf2d05fcd62d04099
MD5 fb4a7cd152308b003dc8cef9d45ac3cc
BLAKE2b-256 8ed9997a3a7042a3013b888f2bde2ea7f4402a692b2df2272e70e740793e2013

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 01eb255fe7561e1f551ccbea3a621c1017c38c898ee2f38b8b406ed8dd99ee1b
MD5 a5c7a82b00e95ebcfb17d4caf4f9aacf
BLAKE2b-256 1e54d787519ac3b6e1b7358552595c8bb0cfd8e46dbf04ed7351ccb625e0f9f0

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 34c9369abe0f301ae814559b41a295c9e21d919dfae3392037619ce74b255a12
MD5 0fb6b2ee0a74f3897e26f9d079240370
BLAKE2b-256 1c9bed546f774c7e8fe8d9949c6d01b4395993ff7634e873ab1a52e9e4084355

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4ec4ae828b1cbe4b47888ff6e254b40d87445828cf7a597dede229c078411c9f
MD5 2436883cc1827d137782d591578fc737
BLAKE2b-256 ad05d255918ceb236a512522a5619ac8e4a6b02b6ae239ce24c272a44672d5e6

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f071dee4bef0b4ebe1e9ee5c31b2b442528d94e46b1e66c370452c425cf19799
MD5 c655cd90b6485c9f3915b58e82909d10
BLAKE2b-256 845da863401d4da7cf7e1f5435da9481487d9831f431d7e3130f233d47d141cb

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 06485d9c96b687ee6da7ba9db5884cab79c8530702eb1d492ab440578f281bbd
MD5 b8779ac407c714f6f342250ec11ace1d
BLAKE2b-256 bc18a07c18c3f304d96996b550b5cb000087aed41510ff2139d15af3447f190c

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4330473de8569620d342173134ca8f365bc9e8f4088afa35ec6a64ef2022018b
MD5 9e4023152466572bd4cebcf3ff17a2de
BLAKE2b-256 8932da98641209261e9f1935af42b46d7e6ded4d2c6fb0048f5ce0262f9bbff6

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 da09faae2abe3a8f0551575c66d5d675faae614f0d9e24c73c8aff74b7404d9a
MD5 1617b17a5701c486347df8c961ca327c
BLAKE2b-256 1332f7aef9ddde3db7ab37b1371d00676b5362d29b3e37c4b0b4757a3fa4c824

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 59dc7a2c4346400352e7bd3a7219997df09ccc57ccd9b3c80a0daf565c92469c
MD5 1fbaa7cb2f4107f644488126fbc1a5fc
BLAKE2b-256 fcb83a6e7c78b9aae406e5ebd37d983f052c1c9eb5860a3b2d33b630947a2958

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a51e4231e2dfd522ac78e8dc147dd5699e0293e4da41394d0828ad28fa6a0e4d
MD5 64f3c2b80a85f69aa5f87a3c5adf61eb
BLAKE2b-256 ed4240754a18b3ef135d022d4349014a2e1b172d9c31eea7f853552a5a03ad86

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 fe1157405f1b0183ea99e8b7f23e03f08baacb843e14074b2701f5f19999bce9
MD5 59b9e7b574b3a3b5e74e3d3200b54132
BLAKE2b-256 d4372988ab484b04823365db9b1af59e5aa1b4cfb2ba97eca405736cdf88b41e

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 40835afaba206b6395e941373fe63b65dbf586710e20d13073f27a963f6dc91c
MD5 c5169a80efcb37ab7f3b882cfe244f54
BLAKE2b-256 0f3e50d149bce0d55a25a77cf9e95b821a858614332c1eadf63ff73e1666527d

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 32ddec18735867f3f494fa0a5545aab6c0c49aca8374b25a123423e45669d145
MD5 2f5ea75d1cf9465634254dd913d132e1
BLAKE2b-256 98dc04882c52564b361c582a3d8b17558d5031ccfa29c10d3a113ec2ac79bf27

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5b11091be8ed48977eb815185ec78f8ebee35ef1574c62bf9facb85b22ac69ff
MD5 d9d6c92ff7e2ecc66f04aa2bf7827022
BLAKE2b-256 0f9a9d3481d2d23a928b5312fddb5878b3aa7839e45fe3f85dba3eb95591e78c

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e6d84c26482490255a845a9747560fc16a639a6946d3b2a06aa9cef05d3e289
MD5 99fe9bd2ab44b66115630bb2db4c783d
BLAKE2b-256 3697305b4a725e5b1eeb7b73197686a8db29eca3ad742dd9a06dcab3bd2aa17d

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2a92b4e9c926575e858d4a4dd900a9b222ad562efee420d81e906640a2b9799d
MD5 737a441637fa882cc870a024cad9a6b8
BLAKE2b-256 29188618541be85dcbd315e33c0558d43abd033e23bc3a4d8753b57977f12d17

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 827e1a55db48f0e70cfc2c2a27bef303f4daf0b56d14faead967fc56ff274aa6
MD5 6c9cd2b161017248babc1c7478b656ea
BLAKE2b-256 ef6b11634517bc41bf3aec3744fbb7cab982ad81f30852580d532049d787edb1

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 5fc7f504cfbf87a552b50ae8874152d21cc925bcdef5c7871bff63f021dfabbc
MD5 2bb8fc71b0dbdf28c2104cfee05801bf
BLAKE2b-256 f59abfb1faf30666c931e95f8b60c7dea486d35f8be5b8301e80fb886d8dc362

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 4d68033cb4e7f5fd93c2b8b0a3a0df0cff541224b11305bfbc01603a712020c9
MD5 ea96d2162d55210b107ec06b0e4aea77
BLAKE2b-256 2bddbfff64e27447dfee46e1fb3d6219a4313cbebe1971a1f62051fbdc0b1cd5

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp36-cp36m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 e5152400f2d1fba2100269d9afe24416824d330a6a2fa038aedb1cd4c5718525
MD5 3b688877d679aebfb81fc22ad35a3ad3
BLAKE2b-256 5bed3e85428fe6f105d9a403a359a0797778f3aa8ed8c32f8f34d12e27ebb998

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp36-cp36m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp36-cp36m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a9a340d52101381da66d947b4bfa0e141b2451032d654a978d399ad730d4f79d
MD5 a7a0584fbf1c0e718a12d4c318f02eab
BLAKE2b-256 fe752b2d18d0c0460d904beabb31f41d2e4562c8f14ae9e63f2a5179e9d2a0ce

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 424b31061604c9859c59cf771ee1aa259f42ef9807f39546ff7577286fc53100
MD5 c2fb490f9d16e68d5cb2659833543d7c
BLAKE2b-256 5075e4f129f4a1271dcf4509485c9312aec98315007a7d9b358e12a274599fd5

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 18a0e6bb1239737c896bd7373f2d725bdb5bbe3f8bfc4c85655607d99c897dfe
MD5 90435d283651b8e5944da28218b1e617
BLAKE2b-256 2801508e7fc237db4da278e7edf802dc830f44a0c9adabc8c322566b3e02c0e0

See more details on using hashes here.

File details

Details for the file indexed_bzip2-1.5.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for indexed_bzip2-1.5.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d1357aafc52cf11193508e9ea0ceb3a8751982b5018e884a07570f624574a370
MD5 a66b0c2eaab89e75b129a2ecadf16ff2
BLAKE2b-256 ac6114b6c8da69b09e4225e8d13c1dce3da9a7793e41cb7b9b82174decf56c70

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