Skip to main content

Library for indexing LZO compressed files

Project description

Python library for indexing block offsets within LZO compressed files. The implementation is largely based on that of the Hadoop Library. Index files are used to allow Hadoop to split a single file compressed with LZO into several chunks for parallel processing.

Since LZO is a block based compression algorithm, we can split the file along the lines of blocks and decompress each block on it’s own. The index is a file containing byte offsets for each block in the original LZO file.

This library is python3 fork of python-lzo-indexer.


The python code below demonstrates how easy it is to index an LZO file. This library also supports indexing a string, and a method to return the individual block offsets should you need to create a file of your own format.

import lzo_indexer

with open("my-file.lzo", "r") as f, open("my-file.lzo.index", "rw") as index:
    lzo_indexer.index_lzo_file(f, index)

Command-line Utility

This library also includes a utility for indexing multiple lzo files, using the python indexer. This is a much faster alternative to the command line utility built into the hadoop-lzo library as it avoids the JVM.

$ lzo_indexer --help

Usage: lzo_indexer [OPTIONS] <files to index>

  Tool for indexing LZO compressed files

  -t, --threads INTEGER  Processing threads count
  -e, --extension TEXT   Index file extension
  -f, --force            Force re-creation of an index even if it exists
  -h, --help             Show this message and exit.


I welcome any contributions, though I request that any pull requests come with test coverage.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for python3-lzo-indexer, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size python3_lzo_indexer-0.3.0-py2.py3-none-any.whl (6.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size python3_lzo_indexer-0.3.0.tar.gz (10.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page