Skip to main content

Library to handle sparse bytes within a virtual memory space

Project description

docs

Documentation Status

tests

GitHub Actions Status
Coverage Status

package

PyPI Package latest release PyPI Wheel
Supported versions
Supported implementations

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

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

tinycompress-0.1.1.tar.gz (144.5 kB view details)

Uploaded Source

Built Distribution

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

tinycompress-0.1.1-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file tinycompress-0.1.1.tar.gz.

File metadata

  • Download URL: tinycompress-0.1.1.tar.gz
  • Upload date:
  • Size: 144.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tinycompress-0.1.1.tar.gz
Algorithm Hash digest
SHA256 04e43880d4b15f26f5dd3545dee7cad36a0aced6fb977706359e9339b3c0ba2e
MD5 97f1cf1e9abdf391a5502e6cc15c8104
BLAKE2b-256 53bf319c24fad72dc2df2906fd7cd8f45e71cca907d6957d78525489db0790bb

See more details on using hashes here.

File details

Details for the file tinycompress-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: tinycompress-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tinycompress-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 60acd0c291a859b6bef25ff9421ef98bd186c1146f4767b42925c5cf4ec39532
MD5 623bfb96b53cd18c755f10585602d464
BLAKE2b-256 e764281a063a0474c1863bf93df1378f3cb4dffaaf0520e970ef1bf2ec3c2975

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