René's URL Explorer Experiment


Title: Implement PEP 784 - Adding Zstandard to the Python standard library · Issue #132983 · python/cpython · GitHub

Open Graph Title: Implement PEP 784 - Adding Zstandard to the Python standard library · Issue #132983 · python/cpython

X Title: Implement PEP 784 - Adding Zstandard to the Python standard library · Issue #132983 · python/cpython

Description: 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 ...

Open Graph Description: 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. Implement...

X Description: 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. Implement...

Opengraph URL: https://github.com/python/cpython/issues/132983

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Implement PEP 784 - Adding Zstandard to the Python standard library","articleBody":"# Feature or enhancement\n\nThis is a tracking issue for implementing [PEP 784](https://peps.python.org/pep-0784/). See the PEP text for more details.\n\nSince the diff is significant (~10k lines) I wanted to split up the PRs a bit.\n\n### Implementation Plan:\n\n- [x] Add `compression` module just re-exporting existing compression modules. Move the `_compression` module.\n- [x] Add `_zstd` native module with Unix build config\n- [x] Add Windows build config for `_zstd` ~~(blocked on adding `libzstd` to cpython-source-deps) and SBOM config.~~\n- [x] Add `zstd` Python module with tests\n- [x] add NEWS/What's New section\n- [x] Add documentation for `zstd`\n- [x] Decide on whether or not to check parameter types for options\n- [x] Verify style conformance of C and Python code\n   - [x] Python\n   - [x] C\n- [x] Refactor `_train_dict` and `_finalize_dict` to share common code\n- [x] Fix https://github.com/python/cpython/issues/133885\n- [x] Improve error message when `options` value can't be converted to int\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-133018\n* gh-133027\n* gh-133063\n* gh-133076\n* gh-133086\n* gh-133185\n* gh-133282\n* gh-133365\n* gh-133366\n* gh-133479\n* gh-133495\n* gh-133502\n* gh-133535\n* gh-133547\n* gh-133550\n* gh-133565\n* gh-133629\n* gh-133670\n* gh-133674\n* gh-133694\n* gh-133695\n* gh-133723\n* gh-133736\n* gh-133756\n* gh-133757\n* gh-133762\n* gh-133775\n* gh-133784\n* gh-133785\n* gh-133786\n* gh-133788\n* gh-133791\n* gh-133792\n* gh-133793\n* gh-133799\n* gh-133854\n* gh-133856\n* gh-133857\n* gh-133859\n* gh-133860\n* gh-133911\n* gh-133915\n* gh-133921\n* gh-133924\n* gh-133947\n* gh-133950\n* gh-133962\n* gh-133974\n* gh-134001\n* gh-134230\n* gh-134305\n* gh-134425\n* gh-134432\n* gh-134442\n* gh-134459\n* gh-134463\n* gh-134601\n* gh-134602\n* gh-134605\n* gh-134609\n* gh-134723\n* gh-134838\n* gh-134930\n* gh-134998\n* gh-136617\n* gh-137052\n* gh-137320\n* gh-137321\n* gh-137343\n* gh-137360\n\u003c!-- /gh-linked-prs --\u003e\n","author":{"url":"https://github.com/emmatyping","@type":"Person","name":"emmatyping"},"datePublished":"2025-04-26T00:55:59.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":24},"url":"https://github.com/132983/cpython/issues/132983"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:62f66ab3-7d01-0bd0-8318-fadff71fec86
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idCB9E:38004D:2E56CF:3DD16D:6969C1D0
html-safe-nonce407d91fb4a285a5a201ea804fc72c8069d256fc66d02ba6a5276fecd16eff8a8
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQjlFOjM4MDA0RDoyRTU2Q0Y6M0REMTZEOjY5NjlDMUQwIiwidmlzaXRvcl9pZCI6IjgzNTkzNTc1NDM2MTA5NTgyODgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac5a93fdcb6de56651fc368cc094d54e94903398759c3c3355d4452825964094be
hovercard-subject-tagissue:3021300364
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/132983/issue_layout
twitter:imagehttps://opengraph.githubassets.com/bb866c53208a19d7a09678560aa1e43bf97c89baa83eca949202eb902f12f808/python/cpython/issues/132983
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/bb866c53208a19d7a09678560aa1e43bf97c89baa83eca949202eb902f12f808/python/cpython/issues/132983
og:image:altFeature 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. Implement...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameemmatyping
hostnamegithub.com
expected-hostnamegithub.com
Noneacedec8b5f975d9e3d494ddd8f949b0b8a0de59d393901e26f73df9dcba80056
turbo-cache-controlno-preview
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release83c08c21cdda978090dc44364b71aa5bc6dcea79
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/issues/132983#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fissues%2F132983
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fissues%2F132983
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/issues/132983
Reloadhttps://github.com/python/cpython/issues/132983
Reloadhttps://github.com/python/cpython/issues/132983
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/issues/132983
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 33.9k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 71.1k https://github.com/login?return_to=%2Fpython%2Fcpython
Code https://github.com/python/cpython
Issues 5k+ https://github.com/python/cpython/issues
Pull requests 2.1k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects 31 https://github.com/python/cpython/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/python/cpython/security
Please reload this pagehttps://github.com/python/cpython/issues/132983
Insights https://github.com/python/cpython/pulse
Code https://github.com/python/cpython
Issues https://github.com/python/cpython/issues
Pull requests https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
New issuehttps://github.com/login?return_to=https://github.com/python/cpython/issues/132983
New issuehttps://github.com/login?return_to=https://github.com/python/cpython/issues/132983
Implement PEP 784 - Adding Zstandard to the Python standard libraryhttps://github.com/python/cpython/issues/132983#top
https://github.com/emmatyping
3.14bugs and security fixeshttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%223.14%22
extension-modulesC modules in the Modules dirhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22extension-modules%22
stdlibStandard Library Python modules in the Lib/ directoryhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22stdlib%22
type-featureA feature request or enhancementhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22type-feature%22
https://github.com/emmatyping
https://github.com/emmatyping
emmatypinghttps://github.com/emmatyping
on Apr 26, 2025https://github.com/python/cpython/issues/132983#issue-3021300364
PEP 784https://peps.python.org/pep-0784/
test_zstd failed on ubuntu with free-threading #133885https://github.com/python/cpython/issues/133885
gh-132983: Introduce compression package and move _compression module #133018https://github.com/python/cpython/pull/133018
gh-132983: Introduce _zstd bindings module #133027https://github.com/python/cpython/pull/133027
gh-132983: Install compression package contents #133063https://github.com/python/cpython/pull/133063
gh-132983: make compression._common a full-fledged package #133076https://github.com/python/cpython/pull/133076
gh-132983: Convert compression._common to a package #133086https://github.com/python/cpython/pull/133086
gh-132983: [DRAFT] Test _zstd code with Python test suite #133185https://github.com/python/cpython/pull/133185
gh-132983: [Draft] Run refleak tests against _zstd with tests #133282https://github.com/python/cpython/pull/133282
gh-132983: Add compression.zstd and Python tests #133365https://github.com/python/cpython/pull/133365
GH-132983: Build _zstd on Windows #133366https://github.com/python/cpython/pull/133366
GH-132983: Use a standard autoconf version check for zstd #133479https://github.com/python/cpython/pull/133479
gh-132983: Add What's New entry for PEP 784 implementation #133495https://github.com/python/cpython/pull/133495
GH-132983: Remove zstd version check in the header file #133502https://github.com/python/cpython/pull/133502
gh-132983: Remove pyzstd in identifiers #133535https://github.com/python/cpython/pull/133535
gh-132983: Style improvements for compression.zstd #133547https://github.com/python/cpython/pull/133547
GH-132983: Support finding libzstd without pkg-config #133550https://github.com/python/cpython/pull/133550
GH-132983: Restore libzstd fallback detection #133565https://github.com/python/cpython/pull/133565
[3.14] gh-132983: Remove pyzstd in identifiers (GH-133535) #133629https://github.com/python/cpython/pull/133629
gh-132983: Clean-ups for _zstd #133670https://github.com/python/cpython/pull/133670
gh-103092: Support subinterpreters in _zstd #133674https://github.com/python/cpython/pull/133674
GH-132983: Remove subclassing support from zstd types #133694https://github.com/python/cpython/pull/133694
[3.14] gh-103092: Support subinterpreters in _zstd (GH-133674) #133695https://github.com/python/cpython/pull/133695
gh-132983: Fix small issues with zstd support in zipfile #133723https://github.com/python/cpython/pull/133723
gh-132983: Don't allow trailer data in ZstdFile #133736https://github.com/python/cpython/pull/133736
[3.14] gh-132983: Clean-ups for _zstd (GH-133670) #133756https://github.com/python/cpython/pull/133756
[3.14] GH-132983: Restore libzstd fallback detection (GH-133565) #133757https://github.com/python/cpython/pull/133757
[3.14] GH-132983: Remove subclassing support from zstd types (GH-133694) #133762https://github.com/python/cpython/pull/133762
gh-132983: Simplify _zstd_exec() #133775https://github.com/python/cpython/pull/133775
gh-132983: Make zstd types immutable #133784https://github.com/python/cpython/pull/133784
GH-132983: remove empty_bytes from _zstd module state #133785https://github.com/python/cpython/pull/133785
[3.14] gh-132983: Simplify _zstd_exec() (GH-133775) #133786https://github.com/python/cpython/pull/133786
[3.14] GH-132983: remove empty_bytes from _zstd module state (GH-133785) #133788https://github.com/python/cpython/pull/133788
GH-132983: PEP 7 and Argument Clinic changes for zstd #133791https://github.com/python/cpython/pull/133791
[3.14] GH-132983: PEP 7 and Argument Clinic changes for zstd (GH-133791) #133792https://github.com/python/cpython/pull/133792
gh-132983: Reduce the size of _zstdmodule.h #133793https://github.com/python/cpython/pull/133793
[3.14] gh-132983: Don't allow trailer data in ZstdFile (GH-133736) #133799https://github.com/python/cpython/pull/133799
[3.14] gh-132983: Reduce the size of _zstdmodule.h (GH-133793) #133854https://github.com/python/cpython/pull/133854
gh-132983: Remove EndlessZstdDecompressor remains #133856https://github.com/python/cpython/pull/133856
[3.14] gh-132983: Make zstd types immutable (GH-133784) #133857https://github.com/python/cpython/pull/133857
[3.14] gh-132983: Remove leftovers from EndlessZstdDecompressor (GH-133856) #133859https://github.com/python/cpython/pull/133859
gh-132983: Convert zstd __new__ methods to Argument Clinic #133860https://github.com/python/cpython/pull/133860
gh-132983: Add documentation for compression.zstd #133911https://github.com/python/cpython/pull/133911
[3.14] gh-132983: Convert zstd __new__ methods to Argument Clinic (GH-133860) #133915https://github.com/python/cpython/pull/133915
gh-132983: Split _zstd_set_c_parameters #133921https://github.com/python/cpython/pull/133921
gh-132983: Convert dict_content to take Py_buffer #133924https://github.com/python/cpython/pull/133924
gh-132983: Fix zstd compiler warning about unused function mt_continue_should_break() #133947https://github.com/python/cpython/pull/133947
[3.14] gh-132983: Fix compiler warning about unused function mt_continue_should_break() (GH-133947) #133950https://github.com/python/cpython/pull/133950
gh-132983: Call Py_XDECREF rather than PyObject_GC_Del in failed __new__ #133962https://github.com/python/cpython/pull/133962
[3.14] gh-132983: Fix small issues with zstd support in zipfile (GH-133723) #133974https://github.com/python/cpython/pull/133974
[3.14] gh-132983: Style improvements for compression.zstd (GH-133547) #134001https://github.com/python/cpython/pull/134001
gh-132983: Add zstd version info to test.pythoninfo #134230https://github.com/python/cpython/pull/134230
[3.14] gh-132983: Call Py_XDECREF rather than PyObject_GC_Del in failed __new__ (GH-133962) #134305https://github.com/python/cpython/pull/134305
[3.14] gh-132983: Add documentation for compression.zstd (GH-133911) #134425https://github.com/python/cpython/pull/134425
gh-132983: Refactor shared code in train_dict and finalize_dict #134432https://github.com/python/cpython/pull/134432
[3.14] gh-132983: Refactor shared code in train_dict and finalize_dict (GH-134432) #134442https://github.com/python/cpython/pull/134442
gh-132983: Fix refleak in zstd dictionary functions #134459https://github.com/python/cpython/pull/134459
[3.14] gh-132983: Fix refleak in zstd dictionary functions (gh-134459) #134463https://github.com/python/cpython/pull/134463
gh-132983: Slightly tweak error messages for _zstd compressor/decompressor options dict #134601https://github.com/python/cpython/pull/134601
[3.14] gh-132983: Slightly tweak error messages for _zstd compressor/decompressor options dict (GH-134601) #134602https://github.com/python/cpython/pull/134602
gh-132983: Make _zstd C code PEP 7 compliant #134605https://github.com/python/cpython/pull/134605
[3.14] gh-132983: Make _zstd C code PEP 7 compliant (GH-134605) #134609https://github.com/python/cpython/pull/134609
[3.14] gh-132983: Convert dict_content to take Py_buffer in ZstdDict() (GH-133924) #134723https://github.com/python/cpython/pull/134723
[3.14] gh-132983: Split _zstd_set_c_parameters (GH-133921) #134838https://github.com/python/cpython/pull/134838
gh-132983: Minor fixes and clean up for the _zstd module #134930https://github.com/python/cpython/pull/134930
[3.14] gh-132983: Minor fixes and clean up for the _zstd module (GH-134930) #134998https://github.com/python/cpython/pull/134998
gh-132983: Add missing references to Zstandard in shutil docstrings #136617https://github.com/python/cpython/pull/136617
[3.14] gh-132983: Add missing references to Zstandard in shutil docstrings (GH-136617) #137052https://github.com/python/cpython/pull/137052
gh-132983: _zstd: use Py_UNREACHABLE in _zstd_load_impl #137320https://github.com/python/cpython/pull/137320
gh-132983: Fix docstrings in ZstdDict #137321https://github.com/python/cpython/pull/137321
[3.14] gh-132983: Fix docstrings in ZstdDict (GH-137321) #137343https://github.com/python/cpython/pull/137343
[3.14] gh-132983: Use Py_UNREACHABLE in _zstd_load_impl() (GH-137320) #137360https://github.com/python/cpython/pull/137360
emmatypinghttps://github.com/emmatyping
3.14bugs and security fixeshttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%223.14%22
extension-modulesC modules in the Modules dirhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22extension-modules%22
stdlibStandard Library Python modules in the Lib/ directoryhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22stdlib%22
type-featureA feature request or enhancementhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22type-feature%22
Compression issueshttps://github.com/orgs/python/projects/20
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.