Skip to content

Implement PEP 784 - Adding Zstandard to the Python standard library #132983

@emmatyping

Description

@emmatyping

Feature or enhancement

This is a tracking issue for implementing PEP 784. See the PEP text for more details.

Since the diff is significant (~10k lines) I wanted to split up the PRs a bit.

Implementation Plan:

  • Add compression module just re-exporting existing compression modules. Move the _compression module.
  • Add _zstd native module with Unix build config
  • Add Windows build config for _zstd (blocked on adding libzstd to cpython-source-deps) and SBOM config.
  • Add zstd Python module with tests
  • add NEWS/What's New section
  • Add documentation for zstd
  • Decide on whether or not to check parameter types for options
  • Verify style conformance of C and Python code
    • Python
    • C
  • Refactor _train_dict and _finalize_dict to share common code
  • Fix test_zstd failed on ubuntu with free-threading #133885
  • Improve error message when options value can't be converted to int

Linked PRs

Metadata

Metadata

Assignees

Labels

3.14bugs and security fixesextension-modulesC modules in the Modules dirstdlibPython modules in the Lib dirtype-featureA feature request or enhancement

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy