./archivers/py-zstandard, Zstandard bindings for Python

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.23.0, Package name: py312-zstandard-0.23.0, Maintainer: pkgsrc-users

This project provides Python bindings for interfacing with the
Zstandard compression library. A C extension and CFFI interface are
provided.

The primary goal of the project is to provide a rich interface to
the underlying C API through a Pythonic interface while not sacrificing
performance. This means exposing most of the features and flexibility
of the C API while not sacrificing usability or safety that Python
provides.


Required to run:
[devel/py-setuptools] [devel/py-cffi] [archivers/zstd] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 665.724 KB

Version history: (Expand)


CVS history: (Expand)


   2024-04-03 08:56:12 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-zstandard: fix build with zstd 1.5.6

Bump PKGREVISION.
   2023-11-06 21:00:39 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-zstandard: update to 0.22.0.

Backwards Compatibility Notes

    ZstdDecompressor.decompressobj() will change read_across_frames to
    default to True in a future release. If you depend on the current
    functionality of stopping at frame boundaries, start explicitly passing
    read_across_frames=False to preserve the current behavior.
    manylinux2010 wheels are no longer published since this wheel format
    is no longer supported by the pypa/manylinux project.
    Removed CI coverage for PyPy 3.7 and 3.8, which are no longer supported
    PyPy versions.
    Support for Python 3.7 has been dropped because it reached end of life.
    Python 3.8 is the minimum supported Python version. The code should still be
    compatible with Python 3.7 and removing of version checks from setup.py
    will likely yield a working install. However, this is no officially supported.

Bug Fixes

    ZstdDecompressor.decompress() with allow_extra_data=False would
    previously allow extra data to exist after an empty zstd frame (a frame
    holding 0 length input). This scenario now raises an exception.

Changes

    ZstdDecompressor.decompressobj() now accepts a read_across_frames
    boolean named argument to control whether to transparently read across
    multiple zstd frames. It defaults to False to preserve existing
    behavior.
    Added CI coverage for PyPy 3.10.
    Added CI coverage for newer Anaconda Python versions.
    Packages used in CI have been upgraded to latest versions. This should
    nominally only impact developers of this project and not end-users.
    pyproject.toml now declares a [build-system] section saying to build
    with setuptools.
    CI now builds wheels with pip instead of setup.py directly.
    Official support for CPython 3.12. Binary wheels for 3.12 are now published
    during releases. There were no meaningful code changes to support Python 3.12.
    Binary wheels for musllinux_1_1 x86_64 and aarch64 are now being built and
    published.
   2023-10-03 01:18:03 by Taylor R Campbell | Files touched by this commit (1)
Log message:
py-zstandard: Bump API depends for zstd to 1.5.5.

Doesn't build with 1.5.2.  Didn't check 1.5.3 or 1.5.4, since 1.5.5
is what we have in pkgsrc anyway.
   2023-04-25 09:48:02 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-zstandard: updated to 0.21.0

0.21.0

Mainly for zstd 1.5.5.
   2023-02-21 07:35:49 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-zstandard: updated to 0.20.0

0.20.0

Backwards Compatibility Notes

This will likely be the last release officially supporting Python 3.6.
Python 3.6 is end of life as of 2021-12-23.

Changes

Bundled zstd library upgraded from 1.5.2 to 1.5.4.
Use of the deprecated ZSTD_copyDCtx() was removed from the C and
Rust backends.
   2022-10-31 22:40:23 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-zstandard: updated to 0.19.0

0.19.0

Bug Fixes

The C backend implementation of ZstdDecompressionObj.decompress() could
have raised an assertion in cases where the function was called multiple
times on an instance. In non-debug builds, calls to this method could have
leaked memory.

Changes

PyPy 3.6 support dropped; Pypy 3.8 and 3.9 support added.
Anaconda 3.6 support dropped.
Official support for Python 3.11. This did not require meaningful code changes
and previous release(s) likely worked with 3.11 without any changes.
CFFI's build system now respects distutils's compiler.preprocessor if it
is set.
The internal logic of ZstdDecompressionObj.decompress() was refactored.
This may have fixed unconfirmed issues where unused_data was set
prematurely. The new logic will also avoid an extra call to
ZSTD_decompressStream() in some scenarios, possibly improving performance.
ZstdDecompressor.decompress() how has a read_across_frames keyword
argument. It defaults to False. True is not yet implemented and will raise an
exception if used. The new argument will default to True in a future release
and is provided now so callers can start passing read_across_frames=False
to preserve the existing functionality during a future upgrade.
ZstdDecompressor.decompress() now has an allow_extra_data keyword
argument to control whether an exception is raised if input contains extra
data. It defaults to True, preserving existing behavior of ignoring extra
data. It will likely default to False in a future release. Callers desiring
the current behavior are encouraged to explicitly pass
allow_extra_data=True so behavior won't change during a future upgrade.
   2022-07-02 11:13:24 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-zstandard: updated to 0.18.0

0.18.0
Bundled zstd library upgraded from 1.5.1 to 1.5.2.
ZstdDecompressionObj now has an unused_data attribute. It will contain data \ 
beyond the fully decoded zstd frame data if said data exists.
ZstdDecompressionObj now has an unconsumed_tail attribute. This attribute \ 
currently always returns the empty bytes value (b"").
ZstdDecompressionObj now has an eof attribute returning whether the compressed \ 
data has been fully read.
   2022-01-19 07:04:35 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-zstandard: updated to 0.17.0

0.17.0 (released 2021-01-18)

Backwards Compatibility Notes

ZstdCompressionWriter and ZstdDecompressionWriter now implement __iter__() and \ 
__next__(). The methods always raise io.UnsupportedOperation. The added methods \ 
are part of the io.IOBase abstract base class / interface and help ensure \ 
instances look like other I/O types.
The HASHLOG3_MAX constant has been removed since it is no longer defined in zstd \ 
1.5.1.

Bug Fixes

The ZstdCompressionReader, ZstdCompressionWriter, ZstdDecompressionReader, and \ 
ZstdDecompressionWriter types in the C backend now tracks their closed attribute \ 
using the proper C type. Before, due to a mismatch between the C struct type and \ 
the type declared to Python, Python could read the wrong bits on platforms like \ 
s390x and incorrectly report the value of the closed attribute to Python.

Changes

Bundled zstd library upgraded from 1.5.0 to 1.5.1.
The C backend now exposes the symbols ZstdCompressionReader, \ 
ZstdCompressionWriter, ZstdDecompressionReader, and ZstdDecompressionWriter. \ 
This should match the behavior of the CFFI backend.
ZstdCompressionWriter and ZstdDecompressionWriter now implement __iter__ and \ 
__next__, which always raise io.UnsupportedOperation.
Documentation on thread safety has been updated to note that derived objects \ 
like ZstdCompressionWriter have the same thread unsafety as the contexts they \ 
were derived from.