The first beta of Python 3.13 has just been released. This article presents a rundown of the most significant new features in Python 3.13 and what they mean for Python developers. Things may change between now and the first production release of 3.13, but the first beta means all the major feature additions and changes are now frozen.
Here’s a first look at these new features in the Python 3.13 beta release:
The experimental JIT
The no-GIL build of Python
A new REPL
Improved error messages
Enhancements to Python types
No more “dead batteries”
Python 3.11 introduced the Specializing Adaptive Interpreter. When the interpreter detects that some operations predictably involve the same types, those operations are “specialized.” The generic bytecode used for that code is swapped with bytecode specific to working with those types, which delivers speed boosts of anywhere from 10% to 25% for those regions of the code.