The Real Python Podcast

Exploring the New Features of Python 3.13


Listen Later

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:

    • Python 3.13: Cool New Features for You to Try
    • What’s New in Python 3.13
    • Python 3.13 Preview: A Modern REPL
    • Python 3.13 Preview: Free Threading and a JIT Compiler
    • What’s New In Python 3.13 — Python 3.13.0rc2 documentation
    • PEP 703 – Making the Global Interpreter Lock Optional in CPython
    • PEP 744 – JIT Compilation
    • PEP 702 – Marking deprecations using the type system
    • PEP 696 – Type Defaults for Type Parameters
    • PEP 742 – Narrowing types with TypeIs
    • PEP 705 – TypedDict: Read-only items
    • PEP 730 – Adding iOS as a supported platform
    • PEP 738 – Adding Android as a supported platform
    • PEP 667 – Consistent views of namespaces
    • PEP 594 – Removing dead batteries from the standard library
    • The Python Standard REPL: Try Out Code and Ideas Quickly
    • Unlock IPython’s Magical Toolbox for Your Coding Journey
    • core.py Podcast - Episode 14: Integration Events
    • Level up your Python skills with our expert-led courses:

      • What's New in Python 3.13
      • Python Type Checking
      • What's New in Python 3.12
      • Support the podcast & join our community of Pythonistas

        ...more
        View all episodesView all episodes
        Download on the App Store

        The Real Python PodcastBy Real Python

        • 4.7
        • 4.7
        • 4.7
        • 4.7
        • 4.7

        4.7

        134 ratings


        More shows like The Real Python Podcast

        View all
        Hanselminutes with Scott Hanselman by Scott Hanselman

        Hanselminutes with Scott Hanselman

        378 Listeners

        Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

        Software Engineering Radio - the podcast for professional software developers

        262 Listeners

        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        285 Listeners

        LINUX Unplugged by Jupiter Broadcasting

        LINUX Unplugged

        263 Listeners

        Thoughtworks Technology Podcast by Thoughtworks

        Thoughtworks Technology Podcast

        43 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        585 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        630 Listeners

        Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

        Super Data Science: ML & AI Podcast with Jon Krohn

        295 Listeners

        Python Bytes by Michael Kennedy and Brian Okken

        Python Bytes

        212 Listeners

        Data Engineering Podcast by Tobias Macey

        Data Engineering Podcast

        142 Listeners

        Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

        Syntax - Tasty Web Development Treats

        984 Listeners

        CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

        CoRecursive: Coding Stories

        185 Listeners

        DataFramed by DataCamp

        DataFramed

        267 Listeners

        Practical AI by Practical AI LLC

        Practical AI

        196 Listeners

        The Stack Overflow Podcast by The Stack Overflow Podcast

        The Stack Overflow Podcast

        63 Listeners