Skip to content

TexZK/tinycompress

Repository files navigation

Overview

docs Documentation Status
tests
package

A tiny library for tiny binary compression.

  • Free software: BSD 2-Clause License

Overview

TinyCompress is a lightweight Python library that provides efficient data compression algorithms with a focus on simplicity and ease of use.

The library implements multiple compression methods:

  • LZSSW (Lempel-Ziv-Storer-Szymanski via Words): An efficient variant of LZ77 compression algorithm that uses a sliding window approach for finding repeated data patterns.
  • RLEB (Run-Length Encoding for Bytes): A specialized compression algorithm that combines run-length encoding with bit flags, particularly effective for data with repeated byte sequences.

Key features:

  • Pure Python implementation for maximum portability
  • Streaming interface for processing large files with minimal memory usage
  • File handling utilities for direct compression/decompression of files
  • Extensible base classes for implementing custom compression algorithms
  • Comprehensive test suite with high code coverage
  • BSD 2-Clause licensed for both commercial and open-source use

Documentation

For the full documentation, please refer to:

https://tinycompress.readthedocs.io/en/latest/

Installation

From PyPI (might not be the latest version found on github):

$ pip install tinycompress

From the source code root directory:

$ pip install .

Development

To run the all the tests:

$ pip install tox
$ tox

About

A tiny library for tiny binary compression

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages