Skip to content

A bridge for libzstd-seek to python. Based on mxmlnkn/indexed_bzip2

License

Notifications You must be signed in to change notification settings

martinellimarco/indexed_zstd

Repository files navigation

PyPI version Conda (channel only) Python Version PyPI Platforms Downloads License Build Status C++17 AUR version

indexed_zstd

This module provides an IndexedZstdFile class, which can be used to seek inside zstd files without having to decompress them first.

It's shamelessy based on indexed_bzip2, which was refactored to support zstd instead of bzip2 using libzstd-seek.

Kudos to the author for its work.

Seeking inside a block is only emulated, so IndexedZstdFile will only speed up seeking when there are more than one block.

To create multi-block archives you may use t2sz.

Usage

Example 1

from indexed_zstd import IndexedZstdFile

file = IndexedZstdFile( "example.zst" )

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