What’s coming to Python in 3.13 and 3.14
Batteries included is a blog series about the Python Standard Library. Each day, I share insights, ideas and examples for different parts of the library. Blaugust is an annual blogging festival in August where the goal is to write a blog post every day of the month.
Over the past month, I’ve looked into the great standard library stuff that comes built in with Python. And I only scratched the surface! As the month is coming close to the end, I wanted to take a quick look into the future versions and what standard library related improvements are coming.
The development of Python is always happening and the following October we’re getting Python 3.13 and with it, a couple of nice improvements to the things I’ve written about.
The interactive REPL gets an overhaul with a ton of goodies. I’m excited as I almost always have a REPL session open for quick interactive Python. The new development brings multiline editing with history, colored prompts and tracebacks, interactive help and more.
The error messages keep getting better. Ever since 3.10, Python has taken big steps forward in having better experience with errors and I’m amazed at how much they keep improving each time.
On the 16th day,
I wrote about the random module
and in 3.13 it gets
a command line interface
with which you can roll a D6 die with
python -m random 6
.
argparse, which I wrote about in day 26 gets a way to mark arguments, options and subcommands as deprecated.
A lot of “dead batteries” have also been cleared out. These have been depracated for a couple of years now since 3.11
Python 3.14 is still a year away in the future but one mention-worthy change
is a great improvement: using
json
module from command line no longer
requires the .tool
part and you will be
able to call it with
python -m json
which is more intuitive
and easy to remember.