Python Monthly News

Python Gains frozendict and Other Python News for March 2026

by Philipp Acsany 0 Comments community news

After years of community requests, Python is finally getting frozendict. The Steering Council accepted PEP 814 in February, bringing an immutable, hashable dictionary as a built-in type in Python 3.15. It’s one of those additions that feels overdue, and the frozenset-to-set analogy makes it immediately intuitive. This is just one piece of a busy month of Python news.

Beyond that, February brought security patches, AI SDK updates, and some satisfying infrastructure improvements under Python’s hood. Time to dive into the biggest Python news from the past month!

Python Releases and PEP Highlights

The Steering Council was active in February, with several PEP decisions landing. On the release side, both the 3.14 and 3.13 branches got maintenance updates.

Python 3.15.0 Alpha 6: Comprehension Unpacking and More

Python 3.15.0a6 shipped on February 11, continuing the alpha series toward the May 5 beta freeze. This release includes several accepted PEPs that are now testable:

PEP 798 is the kind of quality-of-life improvement that makes you smile. It lets you flatten or merge collections directly in a comprehension:

Python
>>> lists = [[1, 2], [3, 4], [5]]
>>> [*it for it in lists]
[1, 2, 3, 4, 5]

>>> dicts = [{"a": 1}, {"b": 2}]
>>> {**d for d in dicts}
{'a': 1, 'b': 2}

No more writing explicit loops just to concatenate a list of lists.

The JIT compiler continues to show gains: 3-4% on x86-64 Linux over the standard interpreter and 7-8% on AArch64 macOS over the tail-calling interpreter, matching the numbers from alpha 5.

Python 3.14.3 and 3.13.12: Maintenance Releases

On February 3, the team shipped Python 3.14.3 with around 300 bug fixes and Python 3.13.12 with about 240 fixes. No new features here, but if you’re running either version in production, it’s worth grabbing these patches to stay current.

PEP 814 Accepted: frozendict Joins the Built-Ins

This one has been on many Python developers’ wishlists for over a decade. PEP 814, authored by Victor Stinner and Donghee Na, adds frozendict as a built-in immutable dictionary type in Python 3.15.

The concept is straightforward. Just as frozenset gives you an immutable version of set, frozendict gives you an immutable version of dict:

Python
>>> config = frozendict(host="localhost", port=8080)
>>> config["host"]
'localhost'

>>> config["host"] = "0.0.0.0"
Traceback (most recent call last):
    ...
TypeError: 'frozendict' object does not support item assignment

Locked learning resources

Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Article

Already a member? Sign-In

Locked learning resources

The full article is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Article

Already a member? Sign-In

About Philipp Acsany

Philipp is a core member of the Real Python team. He creates tutorials, records video courses, and hosts Office Hours sessions to support your journey to becoming a skilled and fulfilled Python developer.

» More about Philipp

Each tutorial at Real Python is created by a team of developers so that it meets our high quality standards. The team members who worked on this tutorial are:

What Do You Think?

What’s your #1 takeaway or favorite thing you learned? How are you going to put your newfound skills to use? Leave a comment below and let us know.

Commenting Tips: The most useful comments are those written with the goal of learning from or helping out other students. Get tips for asking good questions and get answers to common questions in our support portal.


Looking for a real-time conversation? Visit the Real Python Community Chat or join the next “Office Hours” Live Q&A Session. Happy Pythoning!

Become a Member to join the conversation.

Keep Learning

Related Topics: community news