Repository navigation
PEP 814: Add built-in frozendict type #141510
Copy link
Copy link
Closed
3 / 43 of 4 issues completedLabels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-featureA feature request or enhancementA feature request or enhancement
Description
Feature or enhancement
Proposal:
Issue created to track the implementation of https://peps.python.org/pep-0814/.
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
No response
Linked PRs
- [WIP] gh-141510: PEP 814: Add built-in frozendict type #141508
- gh-141510, PEP 814: Add built-in frozendict type #144757
- gh-141510, PEP 814: Add frozendict support to json #144903
- gh-141510: Replace MappingProxyType with frozendict #144904
- gh-141510: Implement copy and deepcopy for frozendict #144905
- gh-141510: Use frozendict for errno.errorcode #144906
- gh-141510: Run regen-test-frozenmain for frozendict #144907
- gh-141510: Support frozendict in pprint #144908
- gh-141510: Use frozendict in the stdlib #144909
- gh-141510: Use frozendict in the _opcode_metadata #144910
- gh-141510: Update specializer to support frozendict with BINARY_SUBSCR #144911
- gh-141510: Add frozendict fast-path to the set type #144912
- gh-141510: Update mp_length of frozendict to use non atomic operation #144913
- gh-141510: Optimize {frozen}dict.fromkeys for frozendict #144915
- gh-141510: Optimize hash(frozendict) #144919
- gh-141510: Remove unncessary lock holding for frozendict repr #144920
- gh-141510: Change repr(frozendict) for empty dict #144921
- gh-141510: Fix
test_xpicklefailing with introduction offrozendict#144927 - gh-141510: Mention frozendict in dict documentation #144934
- gh-141510, PEP 814: Add frozendict support to pickle #144936
- gh-141510: Add frozendict_check_mutable() #144944
- gh-141510: Fix frozendict.fromkeys() for subclasses #144947
- gh-141510: Update specializer to support frozendict #144949
- gh-141510: Fix frozendict.fromkeys() for subclasses #144952
- gh-141510: Add can_modify_dict() in dictobject.c #144955
- gh-141510: Update Whats News for frozendict #144961
- gh-141510: Fix frozendict.fromkeys() for dict subclasses #144962
- gh-141510, PEP 814: Add frozendict support to pickle #144967
- gh-141510: Update ftscalingbench to support frozendict #144999
- gh-141510: Document ParameterizedMIMEHeader.params change #145003
- gh-141510: Fix copy.deepcopy() for recursive frozendict #145027
- gh-145122: Add _GUARD_NOS_ANY_DICT to prevent STORE_SUBSCR_DICT on frozendict #145039
- gh-141510: Fix test_xpickle for Python 3.14 and older #145069
- gh-141510: Test frozendict C API #145081
- gh-141510: Check argument in PyDict_MergeFromSeq2() #145082
- gh-141510: Check argument in PyDict_Contains() #145083
- gh-141510: Test frozendict in test_capi.test_dict #145084
- gh-141510: Change dict_unhashable_type() error message for frozendict #145085
- gh-141510: support frozendict's in the C decimal module #145165
- gh-141510: Update PyDict_Copy documentation with note on frozendict #145249
- gh-141510: Return frozendict unmodified in PyDict_Copy() #145505
- gh-141510: Optimize PyDict_Copy() for frozendict #145509
- gh-141510: Add frozendict support to python-gdb.py #145511
- gh-141510: Always return a dict in PyDict_Copy() #145517
- gh-141510: Don't accept frozendict in PyDict_Watch() #145529
- gh-141510: Add PyAnyDict_AsNewDict() function #145531
- gh-141510: Update PyDict C API doc for frozendict #145533
- gh-141510: Fix frozendict.items() ^ frozendict.items() #145535
- gh-141510: Complete What's New in Python 3.15 for frozendict #145537
- gh-141510: No longer accept frozendict in PyDict_Copy() #145542
- gh-141510: Change marshal version to 6 #145551
- gh-141510: Raise TypeError in PyDict_SetItem() on frozendict #145564
- gh-141510: Support
frozendictinplistlib#145590 - gh-141510: Optimize frozendict(frozendict) #145592
- gh-141510: Avoid critical section on frozendict copy #145920
- gh-141510: Document isinstance change for frozendict in What's New #146107
- gh-141510 Update mapping methods in abstract.c to accept frozendict #150692
- gh-141510 Document and test frozendict class matching behaviour #150799
- [3.15] gh-141510 Document and test frozendict class matching behaviour (GH-150799) #151701
- [3.15] gh-141510 Add frozendict fast paths to abstract.c (GH-150692) #151704
- gh-141510: Update
marshalmodule comment withfrozendictsupport #153655 - [3.15] gh-141510: Update
marshalmodule comment withfrozendictsupport (GH-153655) #153681 - gh-141510: Document frozendict support in json #155929
- [3.15] gh-141510: Document frozendict support in json (gh-155929) #155933
Reactions are currently unavailable
Metadata
Metadata
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-featureA feature request or enhancementA feature request or enhancement
Activity
pythongh-141510: PEP 814: Add built-in frozendict type
pythongh-141510, PEP 814: Add built-in frozendict type
pythongh-141510, PEP 814: Add built-in frozendict type
pythongh-141510, PEP 814: Add built-in frozendict type
pythongh-141510, PEP 814: Add built-in frozendict type
gh-141510, PEP 814: Add built-in frozendict type (#144757)
pythongh-141510, PEP 814: Add frozendict support to json
pythongh-141510, PEP 814: Use frozendict in the stdlib
pythongh-141510: Replace MappingProxyType with frozendict
pythongh-141510: Replace MappingProxyType with frozendict
pythongh-141510: Use frozendict for errno.errorcode
204 remaining items
pythongh-141510: Update PyDict C API doc for frozendict (python#145533)
pythongh-141510: Avoid critical section on frozendict copy (python#14…
pythongh-141510: Document isinstance change for frozendict in What's …
pythongh-141510: Support `frozendict` in `plistlib` (python#145590)
da-woods commentedon Jun 16, 2026
I attached a couple of PRs to this (which maybe I should have created new issues for in hindsight...). The more important of them is probably #150799 (which documents and tests their
_Py_TPFLAGS_MATCH_SELFbehaviourgh-141510 Document and test frozendict class matching behaviour (#150799
gh-141510 Add frozendict fast paths to abstract.c (#150692)
[3.15] gh-141510 Document and test frozendict class matching behaviour (
[3.15] gh-141510 Add frozendict fast paths to abstract.c (GH-150692) (#…
pythongh-141510 Document and test frozendict class matching behaviour (…
pythongh-141510 Add frozendict fast paths to abstract.c (python#150692)
gh-141510: Update `marshal` module comment with `frozendict` support (#…
[3.15] gh-141510: Update `marshal` module comment with `frozendict` s…
gh-141510: Document frozendict support in json (gh-155929)
[3.15] gh-141510: Document frozendict support in json (gh-155929) (#1…