◐ Shell
clean mode source ↗

gh-132983: [DRAFT] Test _zstd code with Python test suite by emmatyping · Pull Request #133185 · python/cpython

and others added 30 commits

April 28, 2025 17:52
This commit introduces the `_zstd` module, with bindings to libzstd from
the pyzstd project. It also includes the unix build system configuration.
Windows build system support will be integrated independently as it
depends on integration with cpython-source-deps.
Also removes module state references from the classes in the _zstd
module and instead uses PyType_GetModuleState()
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
This should avoid races and deadlocks.
The `compress`/`decompress` functions will be moved to Python code for simplicity.
C implementations can always be re-added in the future.

Also, mark _zstd as not requiring the GIL.
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
... for `get_zstd_state_from_type`

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
PyModule_AddObject is soft-deprecated, so we should use PyModule_AddObjectRef
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
We should instead document that to pickle a dictionary a user should use
the `.dict_content` attribute.

@emmatyping emmatyping changed the title gh-132983: Test _zstd code with Python test suite gh-132983: [DRAFT] Test _zstd code with Python test suite

Apr 30, 2025