Python 3.14 was released today and I caught myself reading the Python 3.14 release notes so figured I’d type up what changes caught my eye.
§Installing Python
There are probably better ways to do this. I opted to manually build and install Python 3.14:
./configure --prefix=$HOME/python3.14 && make -j && make install
export PATH="$HOME/python3.14/bin:$PATH"
which python3 # Should print out a path equivalent to $HOME/python3.14/bin/python3
§python -m json
This is a nice way to pretty-print JSON (both indentation and color).
Previously, one can use python -m json.tool
. Now one can simply invoke
python -m json
. Personally, I missed the release of python -m json.tool
,
so this release note item helped introduce me to this built-in command line
utility. Did you know about python -m json.tool
?

§Multiple performance improvements
The following areas saw significant performance improvements:
uuid
module- garbage collection
- import time of a over 20 modules has been improved.
- asyncio subsystem performance improvements
§compression.zstd
Python 3.14 now has ZSTD compression support built-in! ZSTD has pretty great characteristics for general use. One less pypi package to grab — hooray!
§Attach pdb
to a running Python process
Have a run away Python process? Attach pdb
to it! In the screenshot, I’ve
attached pdb
to a toy roguelike that I created last year.

§Simplified Exception specifications with PEP 758
Formerly you’d catch multiple exception types using a tuple except (ConnectionRefusedError, TimeoutError):
. Now one can drop the parenthesis.
It looks cleaner and less busy: except ConnectionRefusedError, TimeoutError:
.
§Color by default in more places!
Color now appears in argparse
generated help messages. In the following
picture, check out python -m http.server
’s argparse message.

Oh, and python -m json
prints in color by default now! (See the picture in
the previous section for its colorfulness in action.)
§Some other goodies
pathlib
’sPath
objects gaincopy()
andmove()
methods to simplify file manipulation. Less reliance onshutil.copy
andshutil.move
.- many more improvements - see the release notes!
What is your favorite recent Python addition?