Python 3.13 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to discuss the new version. This year, Geir Arne coordinated a series of preview articles with members of the Real Python team and a showcase tutorial, “Python 3.13: Cool New Features for You to Try.” Christopher’s video course “What’s New in Python 3.13” covers the topics from the article and shows the new features in action.
Geir Arne and Christopher dug into the release to create code examples of the new features for the tutorial and course. We look at the options for disabling the Global Interpreter Lock (GIL) and enabling the Just-in-Time (JIT) compiler. We also discuss the new interactive interpreter, better error messages, multiple improvements to static typing, and additional performance improvements.
We share our thoughts on the updates and offer advice about incorporating them into your projects. We also discuss when you should start running Python 3.13.
This is episode is sponsored by Nvidia.
Course Spotlight: What’s New in Python 3.13)
In this video course, you’ll learn about the new features in Python 3.13. You’ll take a tour of the new REPL and error messages and see how you can try out the experimental free threading and JIT versions of Python 3.13 yourself.
Topics:
00:00:00 – Introduction
00:03:14 – A Modern REPL
00:08:54 – Making the Global Interpreter Lock Optional in CPython
00:11:33 – JIT Compilation
00:15:48 – More improved error messages
00:18:30 – Sponsor: NVIDIA
00:19:13 – Marking deprecations using the type system
00:21:09 – Type Defaults for Type Parameters
00:22:44 – Narrowing types with TypeIs
00:25:24 – TypedDict: Read-only items
00:27:50 – Random command line interface
00:29:54 – New copy.replace()
00:33:43 – Video Course Spotlight
00:34:55 – Pathlib and globbing
00:39:33 – Stripping docstrings
00:41:28 – Import improvements
00:41:56 – Dynamically import non-code files
00:42:23 – Adding iOS as a supported platform
00:43:32 – More consistency with local namespace
00:44:30 – Support for deprecation in argparse
00:45:00 – Better entry points for breakpoint or set_trace
00:46:08 – Removing dead batteries
00:47:43 – When to upgrade to 3.13?
00:53:19 – core.py podcast
00:54:14 – Thanks and goodbye
Show Links:
PEP 703 – Making the Global Interpreter Lock Optional in CPython)
PEP 594 – Removing dead batteries from the standard library)
Level up your Python skills with our expert-led courses:
Support the podcast & join our community of Pythonistas)