Real Python Podcast Episode #223 Title Artwork

Episode 223: Exploring the New Features of Python 3.13

The Real Python Podcast

Oct 11, 2024 55m

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.

Episode Sponsor:

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.

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:

Level Up Your Python Skills With These Courses: