Skip to main content

Python bindings to Zstandard (zstd) compression library, the API is similar to Python's bz2/lzma/zlib modules.

Project description

Introduction

Pyzstd module provides classes and functions for compressing and decompressing data, using Facebook’s Zstandard (or zstd as short name) algorithm.

The API is similar to Python’s bz2/lzma/zlib modules.

Includes zstd v1.5.2 source code, can also dynamically link to zstd library provided by system, and has a CFFI implementation that can work with PyPy, see this note for details.

Release note

0.15.3 (Aug 3, 2022)

Fix ZstdError object can’t be pickled.

0.15.2 (Jan 22, 2022)

Update bundled zstd source code from v1.5.1 to v1.5.2.

0.15.1 (Dec 25, 2021)

  1. Update bundled zstd source code from v1.5.0 to v1.5.1.

  2. Fix ZstdFile.write() / train_dict() / finalize_dict() may use wrong length for some buffer protocol objects, see this issue.

  3. Two behavior changes:

    • Setting CParameter.nbWorkers to 1 now means “1-thread multi-threaded mode”, rather than “single-threaded mode”.

    • If the underlying zstd library doesn’t support multi-threaded compression, no longer automatically fallback to “single-threaded mode”, now raise a ZstdError exception.

  4. Add a module level variable zstd_support_multithread.

  5. Add a setup.py option --avx2, see this note.

0.15.0 (May 18, 2021)

  1. Update bundled zstd source code from v1.4.9 to v1.5.0.

  2. Some improvements, no API changes.

0.14.4 (Mar 24, 2021)

  1. Add a CFFI implementation that can work with PyPy.

  2. Allow dynamically link to zstd library.

0.14.3 (Mar 4, 2021)

Update bundled zstd source code from v1.4.8 to v1.4.9.

0.14.2 (Feb 24, 2021)

  1. Add two convenient functions: compress_stream(), decompress_stream().

  2. Some improvements.

0.14.1 (Dec 19, 2020)

  1. Update bundled zstd source code from v1.4.5 to v1.4.8.

    • v1.4.6 is a non-public release for Linux kernel.

    • v1.4.8 is a hotfix for v1.4.7.

  2. Some improvements, no API changes.

0.13.0 (Nov 7, 2020)

  1. ZstdDecompressor class: now it has the same API and behavior as BZ2Decompressor / LZMADecompressor classes in Python standard library, it stops after a frame is decompressed.

  2. Add an EndlessZstdDecompressor class, it accepts multiple concatenated frames. It is renamed from previous ZstdDecompressor class, but .at_frame_edge is True when both the input and output streams are at a frame edge.

  3. Rename zstd_open() function to open(), consistent with Python standard library.

  4. decompress() function:

    • ~9% faster when: there is one frame, and the decompressed size was recorded in frame header.

    • raises ZstdError when input or output data is not at a frame edge. Previously, it only raise for output data is not at a frame edge.

0.12.5 (Oct 12, 2020)

No longer use Argument Clinic, now supports Python 3.5+, previously 3.7+.

0.12.4 (Oct 7, 2020)

It seems the API is stable.

0.2.4 (Sep 2, 2020)

The first version upload to PyPI.

Includes zstd v1.4.5 source code.

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

pyzstd-0.15.3.tar.gz (758.6 kB view hashes)

Uploaded source

Built Distributions

pyzstd-0.15.3-pp39-pypy39_pp73-win_amd64.whl (202.2 kB view hashes)

Uploaded pp39

pyzstd-0.15.3-pp38-pypy38_pp73-win_amd64.whl (202.2 kB view hashes)

Uploaded pp38

pyzstd-0.15.3-pp37-pypy37_pp73-win_amd64.whl (202.2 kB view hashes)

Uploaded pp37

pyzstd-0.15.3-cp311-cp311-win_amd64.whl (206.1 kB view hashes)

Uploaded cp311

pyzstd-0.15.3-cp311-cp311-win32.whl (185.1 kB view hashes)

Uploaded cp311

pyzstd-0.15.3-cp310-cp310-win_amd64.whl (206.4 kB view hashes)

Uploaded cp310

pyzstd-0.15.3-cp310-cp310-win32.whl (185.1 kB view hashes)

Uploaded cp310

pyzstd-0.15.3-cp39-cp39-win_amd64.whl (206.5 kB view hashes)

Uploaded cp39

pyzstd-0.15.3-cp39-cp39-win32.whl (185.1 kB view hashes)

Uploaded cp39

pyzstd-0.15.3-cp38-cp38-win_amd64.whl (206.5 kB view hashes)

Uploaded cp38

pyzstd-0.15.3-cp38-cp38-win32.whl (185.1 kB view hashes)

Uploaded cp38

pyzstd-0.15.3-cp37-cp37m-win_amd64.whl (206.7 kB view hashes)

Uploaded cp37

pyzstd-0.15.3-cp37-cp37m-win32.whl (184.8 kB view hashes)

Uploaded cp37

pyzstd-0.15.3-cp36-cp36m-win_amd64.whl (206.1 kB view hashes)

Uploaded cp36

pyzstd-0.15.3-cp36-cp36m-win32.whl (184.5 kB view hashes)

Uploaded cp36

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page