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.2.tar.gz (145.3 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.2-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tinycompress-0.1.2.tar.gz
  • Upload date:
  • Size: 145.3 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.2.tar.gz
Algorithm Hash digest
SHA256 abf8a2fa785bc3b70daf0b8fb3b7a1cd216969f7435eaf8624dff5aa7df660da
MD5 98065cdf893e384a94d1b16c00a90fb9
BLAKE2b-256 0b672c103951b02a4c73e8bef2c97c209c6ecf6b0025ff0524e01cfb7dc7601d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tinycompress-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 23.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 846170519d77cac75dcae1ff8376f1df228278c901fd6f1d7d05990b5e7f29c6
MD5 2061d4b866b9b764241ab346b2d053b1
BLAKE2b-256 bd0f46e8047650e3816f483feefc9e3184ee2f776d62071eeb1c537734a3d253

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