Episode 313: Python 3.15: Exploring the New Features
The Real Python Podcast
Python 3.15 is (almost*) here! Christopher Trudeau and Bartosz Zaczyński return to discuss the new version. Bartosz coordinated the series of preview articles with members of the Real Python team and wrote the showcase tutorial, “Python 3.15: Cool New Features for You to Try.” Christopher’s video course “What’s New in Python 3.15” covers the topics from the article and shows the new features in action.
Christopher and Bartosz dug into the release to create code examples of the new features for the tutorial and course. We cover the new built-in types, unpacking in comprehensions, and developer experience enhancements. We also look into the performance improvements, including lazy imports, the upgraded JIT compiler, and a new sampling profiler.
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.15.
Course Spotlight: What’s New in Python 3.15
Explore the new features in Python 3.15, including lazy imports, frozendict, sentinel values, a sampling profiler, and a faster JIT.
Topics:
- 00:00:00 – Introduction
- 00:00:02 – * NOTE: Python 3.15 release delayed!
- 00:03:35 – Real Python 3.15 Preview Articles and Video Course
- 00:04:40 – Sentinel Values
- 00:08:55 – Lazy Imports
- 00:14:48 – Unpacking in Comprehensions
- 00:17:12 – Mathematical functions
- 00:20:07 – Sampling Profiler
- 00:27:43 – Video Course Spotlight
- 00:29:18 – frozendict
- 00:33:12 – The speed round of features
- 00:36:04 – Continued work on free-threaded Python and upgrading the JIT
- 00:39:34 – Upgrading to 3.15
- 00:44:35 – Thanks and goodbye
Show Links:
- * Python 3.15: following tradition, let’s have a surprise rc3! - Core Development - Discussions on Python.org
- Python 3.15: Cool New Features for You to Try – Real Python
- Python 3.15 Preview: Sentinel Values – Real Python
- Python 3.15 Preview: Lazy Imports – Real Python
- Unpacking in Comprehensions -What’s new in Python 3.15 — Python 3.15 documentation
- math — Mathematical functions — Python 3.15 documentation
- Python 3.15 Preview: Sampling Profiler
- PEP 799 – A dedicated profiling package for organizing Python profiling tools
- Python 3.15 Preview: frozendict
- PEP 814 – Add frozendict built-in type
- More color - What’s new in Python 3.15
- Improved error messages - What’s new in Python 3.15
- Python 3.15 Preview: UTF-8 by Default
- PEP 803: Stable ABI for free-threaded builds - What’s new in Python 3.15
- Python 3.15 Preview: Upgraded JIT Compiler
Additional Links:
- PEP 810 – Explicit lazy imports
- Implement native PEP 0810 lazy loading by hebaalazzeh - google-cloud-python
- PEP 798 – Unpacking in Comprehensions
- PEP 448 – Additional Unpacking Generalizations
- Tachyon: Python 3.15’s sampling profiler is faster…- Pablo Galindo Salgado, Laszlo Kiss Kollar - YouTube
- The amazing and varied life of Tachyon particles in Star Trek TNG - YouTube
- Episode #128: Using a Memory Profiler in Python & What It Can Teach You
- Episode #172: Measuring Multiple Facets of Python Performance With Scalene
- Upgraded experimental JIT compiler - What’s new in Python 3.15
- What’s new in Python 3.15 — Python 3.15 documentation
Want to go deeper on this episode? Mentor AI can explain the topics it covered and find tutorials to learn more.


