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.0.tar.gz (145.6 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.0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tinycompress-0.1.0.tar.gz
  • Upload date:
  • Size: 145.6 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.0.tar.gz
Algorithm Hash digest
SHA256 366d931530d3e9a9adf445eb4ec4a7bfd61e72cca7cae9eee60aefe679683ff5
MD5 5edeaff63f24447b6de0adf21845af54
BLAKE2b-256 e290e6e0987937c731dc4c09a07de12e3f2288b4d1b62ab935c3f2e0523eeef2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tinycompress-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2f4695e692b53624b672668b67b56f2966a4b3fe77db8a2f77a1c03b586b7bfd
MD5 e522a0389e7e4b865ee15061e26336dd
BLAKE2b-256 58d5c3b722bfc6178efe474f9bbec76f2f396d4ecb0e3eb7b093d0ab5a250333

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