All Projects → animalize → pyzstd

animalize / pyzstd

Licence: BSD-3-Clause license
Python bindings to Zstandard (zstd) compression library, the API is similar to Python's bz2/lzma/zlib modules.

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to pyzstd

ratarmount
Random Access Read-Only Tar Mount
Stars: ✭ 217 (+5325%)
Mutual labels:  zstd, zstandard
zstdmt
Multithreading Library for Brotli, Lizard, LZ4, LZ5, Snappy and Zstandard
Stars: ✭ 107 (+2575%)
Mutual labels:  zstd, zstandard
pgzstd
Postgres module for Zstandard compression/decompression with preset dictionary support
Stars: ✭ 31 (+675%)
Mutual labels:  zstd, zstandard
7 Zip Zstd
7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard
Stars: ✭ 2,150 (+53650%)
Mutual labels:  zstd, zstandard
ZRA
ZStandard Random Access (ZRA) allows random access inside an archive compressed using ZStandard
Stars: ✭ 21 (+425%)
Mutual labels:  zstd, zstandard
sqlite zstd vfs
SQLite3 extension for read/write storage compression with Zstandard
Stars: ✭ 42 (+950%)
Mutual labels:  zstd, zstandard
sparkzstd
A zstd decompressor written in golang
Stars: ✭ 45 (+1025%)
Mutual labels:  zstd, zstandard
EasyCompressor
⚡ A compression library that implements many compression algorithms such as LZ4, Zstd, LZMA, Snappy, Brotli, GZip, and Deflate. It helps you to improve performance by reducing Memory Usage and Network Traffic for caching.
Stars: ✭ 167 (+4075%)
Mutual labels:  zstd, zstandard
Compress
Optimized Go Compression Packages
Stars: ✭ 2,478 (+61850%)
Mutual labels:  zstd, zstandard
ZstdKit
An Objective-C and Swift library for Zstd (Zstandard) compression and decompression.
Stars: ✭ 22 (+450%)
Mutual labels:  zstd, zstandard
Squashfs Tools Ng
A new set of tools and libraries for working with SquashFS images
Stars: ✭ 76 (+1800%)
Mutual labels:  zstd
Zstd
Zstandard implementation in Wuffs
Stars: ✭ 107 (+2575%)
Mutual labels:  zstd
Python Zstandard
Python bindings to the Zstandard (zstd) compression library
Stars: ✭ 233 (+5725%)
Mutual labels:  zstd
Hs Zstd
Bindings to the Zstandard library to make it usable from the Haskell programming language.
Stars: ✭ 45 (+1025%)
Mutual labels:  zstd
Zstd Nginx Module
Nginx modules for the Zstandard compression
Stars: ✭ 64 (+1500%)
Mutual labels:  zstd
Django Compression Middleware
Django middleware to compress responses using several algorithms.
Stars: ✭ 23 (+475%)
Mutual labels:  zstd
Pgbackrest
Reliable PostgreSQL Backup & Restore
Stars: ✭ 766 (+19050%)
Mutual labels:  zstd
zstd-rs
zstd-decoder in pure rust
Stars: ✭ 148 (+3600%)
Mutual labels:  zstd
zstdlite
Fast, configurable in-memory compression of R objects with zstd
Stars: ✭ 19 (+375%)
Mutual labels:  zstd
Turbobench
Compression Benchmark
Stars: ✭ 211 (+5175%)
Mutual labels:  zstd

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.

Links

Documentation: https://pyzstd.readthedocs.io/en/latest

GitHub: https://github.com/animalize/pyzstd

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].