GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — PEP 814: Add built-in frozendict type · Issue #141510 · python/cpython

PEP 814: Add built-in frozendict type #141510

New issue
Copy link
New issue
Copy link
Closed
3 / 43 of 4 issues completed
Closed
PEP 814: Add built-in frozendict type#141510
3 / 43 of 4 issues completed
Copy link
Assignees
vstinnercorona10
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

Description

@vstinner
vstinner
opened on Nov 13, 2025
Issue body actions

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_xpickle failing with introduction of frozendict #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 frozendict in plistlib #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 marshal module comment with frozendict support #153655
  • [3.15] gh-141510: Update marshal module comment with frozendict support (GH-153655) #153681
  • gh-141510: Document frozendict support in json #155929
  • [3.15] gh-141510: Document frozendict support in json (gh-155929) #155933
Reacted by kalvdans, Chengfeng Xie, Triang-jyed-driung and Piotr Karmelita

Activity

Next
  1. vstinner
    added
    type-featureA feature request or enhancementA feature request or enhancement
    on Nov 13, 2025
  2. StanFromIreland
    added
    interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)
    on Nov 13, 2025
  3. vstinner
    added 5 commits that reference this issue on Feb 12, 2026

    pythongh-141510: PEP 814: Add built-in frozendict type

    544d567

    pythongh-141510, PEP 814: Add built-in frozendict type

    0a23342

    pythongh-141510, PEP 814: Add built-in frozendict type

    995b94d

    pythongh-141510, PEP 814: Add built-in frozendict type

    af4448c

    pythongh-141510, PEP 814: Add built-in frozendict type

    bde4379
  4. corona10
    assigned
    corona10
    and
    vstinner
    on Feb 13, 2026
  5. vstinner
    added 6 commits that reference this issue on Feb 17, 2026

    gh-141510, PEP 814: Add built-in frozendict type (#144757)

    696cdfc

    pythongh-141510, PEP 814: Add frozendict support to json

    d0e7ed7

    pythongh-141510, PEP 814: Use frozendict in the stdlib

    9692c2b

    pythongh-141510: Replace MappingProxyType with frozendict

    e15b299

    pythongh-141510: Replace MappingProxyType with frozendict

    df40ed7

    pythongh-141510: Use frozendict for errno.errorcode

    a4834a8
  6. 204 remaining items

    Load more actions
  7. ljfp
    added 4 commits that reference this issue on Apr 25, 2026

    pythongh-141510: Update PyDict C API doc for frozendict (python#145533)

    00ed59c

    pythongh-141510: Avoid critical section on frozendict copy (python#14…

    7fa0baa

    pythongh-141510: Document isinstance change for frozendict in What's …

    306edee

    pythongh-141510: Support `frozendict` in `plistlib` (python#145590)

    896a98c
  8. da-woods commented on Jun 16, 2026

    @da-woods
    da-woods
    on Jun 16, 2026
    Contributor
    More actions

    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_SELF behaviour

  9. vstinner
    added 4 commits that reference this issue on Jun 18, 2026

    gh-141510 Document and test frozendict class matching behaviour (#150799

    fd53ae1

    gh-141510 Add frozendict fast paths to abstract.c (#150692)

    a5568d0

    [3.15] gh-141510 Document and test frozendict class matching behaviour (

    7e36838

    [3.15] gh-141510 Add frozendict fast paths to abstract.c (GH-150692) (#…

    2c09c0e
  10. pyctrl
    added 2 commits that reference this issue on Jul 5, 2026

    pythongh-141510 Document and test frozendict class matching behaviour (…

    4bc0cdd

    pythongh-141510 Add frozendict fast paths to abstract.c (python#150692)

    1ff92c0
  11. sobolevn
    added 2 commits that reference this issue on Jul 14, 2026

    gh-141510: Update `marshal` module comment with `frozendict` support (#…

    37571ea

    [3.15] gh-141510: Update `marshal` module comment with `frozendict` s…

    3597587
  12. corona10
    added a commit that references this issue on Aug 17, 2026

    gh-141510: Document frozendict support in json (gh-155929)

    c3df37c
  13. hugovk
    added a commit that references this issue on Aug 19, 2026

    [3.15] gh-141510: Document frozendict support in json (gh-155929) (#1…

    0bfe0f1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

  • @corona10
    corona10
  • @vstinner
    vstinner

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

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    You are visitor 01402503 — GeezerVison does not store the pages you look up.
    Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.