How does Python 3.14 perform under a few hand-crafted benchmarks? Does the performance of asyncio scale on the free-threaded build? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
At the top of the show, we have a mountain of release news and Python Enhancement Proposals to cover. Then, we dig into a couple of articles covering the performance of Python 3.14. The first is a benchmarking comparison of the last several Python versions and their variations, including JIT and free-threaded mode. The second explores the changes in 3.14 that enable asyncio to scale on CPython’s free-threaded build.
We also share several other articles and projects from the Python community, including an introduction to NiceGUI, a free-threaded Python library compatibility checker, an exploration of what is “good taste” in software engineering, HTML templating with t‑strings, and a tool for testing Sphinx docs instantly in the browser.
Course Spotlight: Documenting Python Projects With Sphinx and Read the Docs
In this video series, you’ll create project documentation from scratch using Sphinx, the de facto standard for Python. You’ll also hook your code repository up to Read the Docs to automatically build and publish your code documentation.
00:00:00 – Introduction00:02:28 – Python 3.12.12, 3.11.14, 3.10.19 and 3.9.24 now available00:03:08 – Python 3.13.9 is now available00:03:26 – Python 3.15.0 alpha 100:04:02 – PEP 804: An External Dependency Registry and Name Mapping Mechanism00:04:56 – PEP 806: Mixed Sync/Async Context Managers With Precise Async Marking00:06:34 – PEP 807: Index Support for Trusted Publishing00:07:21 – PEP 809: Stable ABI for the Future00:08:10 – PEP 810: Explicit Lazy Imports 00:10:31 – Python lazy imports you can use today00:10:48 – Lazy Imports Using wrapt00:11:18 – Python 3.14 Is Here. How Fast Is It?00:17:45 – Free-Threaded Python Library Compatibility Checker00:19:54 – Scaling Asyncio on Free-Threaded Python00:24:06 – Real Python 3.14 Resources00:25:18 – Video Course Spotlight00:26:31 – Intro to NiceGUI: Build Interactive Python Web Apps00:30:22 – What Is “Good Taste” in Software Engineering?00:40:52 – Try Sphinx Docs Instantly in Your Browser00:43:11 – Introducing tdom: HTML Templating With t‑strings00:46:21 – Thanks and goodbyePython Insider: Python 3.12.12, 3.11.14, 3.10.19 and 3.9.24 are now available!Python Insider: Python 3.13.9 is now available!Python Insider: Python 3.15.0 alpha 1PEP 804: An External Dependency Registry and Name Mapping Mechanism (Added)PEP 806: Mixed Sync/Async Context Managers With Precise Async Marking (Added)PEP 807: Index Support for Trusted Publishing (Added)PEP 809: Stable ABI for the Future (Added)PEP 810: Explicit Lazy Imports (Added)Python lazy imports you can use today - PythonTestLazy Imports Using wrapt – PEP 810 proposes adding explicit lazy imports to Python, but you can already achieve this with third-party libraries. This post shows you how using wrapt.Python 3.14 Is Here. How Fast Is It? – A comprehensive deep-dive comparison of performance figures between Python versions and variations, including the JIT and free-threaded mode.Free-Threaded Python Library Compatibility Checker – A heat map and table summarizing Python free-threaded compatibility in a variety of common Python packages.Python 3.14: 3 asyncio Changes – asyncio changes are often overlooked. In the latest 3.14 release, there are three new asyncio features and changes.Scaling Asyncio on Free-Threaded Python – A recap of the work done in Python 3.14 to enable asyncio to scale on the free-threaded build of CPython.Intro to NiceGUI: Build Interactive Python Web Apps – Use NiceGUI to turn Python scripts into interactive web apps without touching HTML, CSS, or JavaScript.What Is “Good Taste” in Software Engineering? – This opinion piece discusses the difference between skill and taste when writing software. What counts as “clean code” for one person may not be the same for another.Try Sphinx Docs Instantly in Your BrowserIntroducing tdom: HTML Templating With t‑strings – Python 3.14 introduces t-strings, and this article showcases tdom, a new HTML DOM toolkit that takes advantage of them to produce safer output.Benchmarking MicroPython - miguelgrinberg.comIs Python Really That Slow? - miguelgrinberg.comBubble sort - WikipediaFibonacci sequence - WikipediaPython 3.14: Cool New Features for You to Try – Real PythonWhat’s New in Python 3.14 – Real PythonPython 3.14 Preview: REPL Autocompletion and Highlighting – Real PythonPython 3.13 Preview: A Modern REPL – Real PythonPython 3.14 Preview: Lazy Annotations – Real PythonPython 3.14 Preview: Better Syntax Error Messages – Real PythonPython 3.14 Preview: Template Strings (T-Strings) – Real PythonPython 3.13: Free Threading and a JIT Compiler – Real PythonQuasar FrameworkLevel up your Python skills with our expert-led courses:
Building a Python GUI Application With TkinterDocumenting Python Projects With Sphinx and Read the DocsWhat's New in Python 3.14 Support the podcast & join our community of Pythonistas