loongson/pypi/: deflate-0.7.0 metadata and description

Simple index

Python wrapper for libdeflate.

author_email Dan Watson <dcwatson@gmail.com>
classifiers
  • Development Status :: 4 - Beta
  • Intended Audience :: Developers
  • License :: OSI Approved :: MIT License
  • Operating System :: MacOS :: MacOS X
  • Operating System :: Microsoft :: Windows
  • Operating System :: POSIX :: Linux
  • Programming Language :: Python
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 3.8
  • Programming Language :: Python :: 3.9
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: 3.12
  • Topic :: Software Development :: Libraries
  • Topic :: System :: Archiving :: Compression
description_content_type text/markdown
project_urls
  • Homepage, https://github.com/dcwatson/deflate
requires_python >=3.8

Because this project isn't in the mirror_whitelist, no releases from root/pypi are included.

File Tox results History
deflate-0.7.0-cp38-cp38-linux_loongarch64.whl
Size
39 KB
Type
Python Wheel
Python
3.8

deflate API

This is a very thin Python wrapper Eric Biggers' excellent libdeflate.

Currently, it handles:

Compression and decompression of gzip data, with a very basic API

import deflate
level = 6  # The default; may be 1-12 for libdeflate.
compressed = deflate.gzip_compress(b"hello world!" * 1000, level)
original = deflate.gzip_decompress(compressed)

Compression and decompression of raw DEFLATE or zlib data

The original size of the decompressed data needs to be kept through additional logic.

import deflate
level = 6  # The default; may be 1-12 for libdeflate.
data = b"hello world!" * 1000
# DEFLATE
compressed = deflate.deflate_compress(data, level)
original = deflate.deflate_decompress(compressed, len(data))
# zlib
compressed = deflate.zlib_compress(data, level)
original = deflate.zlib_decompress(compressed, len(data))

CRC32 computation

import deflate
crc32 = deflate.crc32(b"hello world! ")  # initial
crc32 = deflate.crc32(b"hello universe!", crc32)  # continued

Adler-32 computation

import deflate
adler32 = deflate.adler32(b"hello world! ")  # initial
adler32 = deflate.adler32(b"hello universe!", adler32)  # continued

Installation

pip install deflate

By default, deflate will compile and statically link the bundled libdeflate when you build from source. To link to a system-installed libdeflate, set the LIBDEFLATE_PREFIX environment variable:

LIBDEFLATE_PREFIX=/opt/homebrew/Cellar/libdeflate/1.20 python -m build

Testing

pip install -r requirements-dev.lock
python -m pytest