Python 3.15.0 alpha 7 (original) (raw)
This is an early developer preview of Python 3.15
Major new features of the 3.15 series, compared to 3.14
Python 3.15 is still in development. This release, 3.15.0a7, is the seventh of eight planned alpha releases.
Alpha releases are intended to make it easier to test the current state of new features and bug fixes and to test the release process.
During the alpha phase, features may be added up until the start of the beta phase (2026-05-05) and, if necessary, may be modified or deleted up until the release candidate phase (2026-07-28). Please keep in mind that this is a preview release and its use is not recommended for production environments.
Many new features for Python 3.15 are still being planned and written. Among the new major new features and changes so far:
- PEP 810: Explicit lazy imports
- PEP 814:
frozendictbuilt-in type - PEP 799: A new high-frequency, low-overhead, statistical sampling profiler and dedicated profiling package
- PEP 798: Unpacking in comprehensions with
*and** - PEP 686: Python now uses UTF-8 as the default encoding
- PEP 728:
TypedDictwith typed extra items - PEP 747: Annotating type forms with
TypeForm - PEP 782: A new
PyBytesWriterC API to create a Python bytes object - The JIT compiler has been significantly upgraded, with 3-4% geometric mean performance improvement on x86-64 Linux over the standard interpreter, and 7-8% speedup on AArch64 macOS over the tail-calling interpreter
- Improved error messages
- (Hey, fellow core team member, if a feature you find important is missing from this list, let Hugo know.)
The next pre-release of Python 3.15 will be 3.15.0a8, currently scheduled for 2026-04-07.
More resources
- Online documentation
- PEP 790, 3.15 release schedule
- Report bugs at https://github.com/python/cpython/issues
- Help fund Python directly (or via GitHub Sponsors) and support the Python community
And now for something completely different
And thus, while the one ship went cheerily before the breeze, the other
stubbornly fought against it; and so the two vessels parted; the crew
of the Pequod looking with grave, lingering glances towards the
receding Bachelor; but the Bachelor’s men never heeding their gaze for
the lively revelry they were in. And as Ahab, leaning over the
taffrail, eyed the homeward-bound craft, he took from his pocket a
small vial of sand, and then looking from the ship to the vial, seemed
thereby bringing two remote associations together, for that vial was
filled with Nantucket soundings.
Enjoy the new release
Thanks to all of the many volunteers who help make Python development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organisation contributions to the Python Software Foundation.
Regards from Helsinki as spring melts the snow,
Your release team,
Hugo van Kemenade @hugovk
Ned Deily @nad
Steve Dower @steve.dower
Łukasz Langa @ambv
mcepl (Matěj Cepl) March 10, 2026, 8:53pm 2
I have a question: for many releases every changelog was ordered in something which seemed quite a logical order for me: Security, Core, Library, Docs, Tests, Mac, Windows (or roughly in that style); from the most important to the least. From sometime in the last year (?) the order turned around. Is there some reason for it? It doesn’t make much sense to me. We, at openSUSE are proud to have large changelogs, so I usually copy and re-edit whole thing to our package changelog, and I am now seriously contemplating writing a script which would turn the order of those subsections around. Can somebody explain me what’s going on, please?
Thank you
hugovk (Hugo van Kemenade) March 11, 2026, 1:17pm 3
Thanks for the report, that’s a bug in our news tool, blurb. I’ve opened a fix at python/blurb#75.
barry (Barry Warsaw) March 12, 2026, 1:30am 5
brettcannon (Brett Cannon) March 12, 2026, 10:38pm 6
Yeah, yeah, you don’t need to brag about how you don’t have to lift a finger while I still have artisanal releases done by me clicking buttons. 
barry (Barry Warsaw) March 13, 2026, 1:14pm 7
Wait til I get GitLab to auto-post that it auto updated! 
steve.dower (Steve Dower) March 16, 2026, 1:18pm 8
I didn’t even know this release was going on - ask me about my automation 
brettcannon (Brett Cannon) March 16, 2026, 11:25pm 9
I don’t need to because hopefully my automation will be Savannah. 