Skip to content
Artwork for The Real Python Podcast
The Real Python Podcast · July 17 · 50 min

Free-Threaded Python's History & uv in Production

How many attempts have been made to remove Python’s Global Interpreter Lock (GIL)? How do they compare to the current approach? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects. Christopher shares a recent article about Thomas Wouters’ talk at PyCon US 2026. The talk, titled “Free-threaded Python: past, present, and future,” covers the efforts to remove the GIL starting in 1996. He explains that threads are complex, but they allow multiple tasks to run concurrently within a single process and its address space. The GIL is how CPython implements threading. The GIL protects Python objects and their reference counts, which determine the current objects in use. The talk also looks forward and shares the current work to remove the GIL, now named free-threaded Python, and the goals for the near future. We also share other articles and projects from the Python community, including community announcements, a roundup of recent Real Python tutorials and video courses, using uv in Production, employing Wagtail as Django admin on steroids, managing and measuring Python code quality, a pure-Python implementation of jq, and a project to bring interactivity to plotnine. This episode is sponsored by AURI by Endor Labs Course Spotlight: Thread Safety in Python: Locks and Other Techniques In this video course, you’ll learn about the issues that can occur when your code is run in a multithreaded environment. Then you’ll explore the various synchronization primitives available in Python’s threading module, such as locks, which help you make your code safe. Topics: 00:00:00 – Introduction 00:03:08 – PEP 836: JIT Go Brrr: The Path to a Supported JIT Compiler for CPython 00:04:34 – PyCon US 2026 Videos Are Up 00:04:53 – Thinking About Running for the PSF Board? Let’s Talk! 00:05:30 – How to Get Started With the GitHub Copilot CLI 00:06:27 – Python 3.15 Preview: Upgraded JIT Compiler 00:07:23 – Testing MCP Servers With a Python MCP Client 00:08:10 – How to Use GitHub 00:08:50 – Why I Wrote PEP 832: Virtual Environment Discovery 00:09:46 – Free-Threaded Python: Past, Present, and Future 00:16:51 – Sponsor: AURI by EndorLabs 00:17:38 – uv in Production: The Speed Is Real, the Integration Isn’t Free 00:26:18 – Wagtail as Django Admin on Steroids 00:29:52 – Video Course Spotlight 00:31:11 – Managing and Measuring Python Code Quality 00:43:10 – purejq: A Pure-Python Implementation of jq 00:46:41 – ninejs: Bringing ✨interactivity✨ to plotnine 00:49:15 – Thanks and goodbye News: PEP 836: JIT Go Brrr: The Path to a Supported JIT Compiler for CPython (Draft) The Path to a Supported JIT Compiler for CPython PyCon US 2026 Videos Are Up Thinking About Running for the PSF Board? Let’s Talk! – The Python Software Foundation Board has announced two office-hour sessions dedicated to giving information on running for the PSF Board. If you’re thinking of running in the upcoming election, these sessions can help you understand the ins and outs. Real Python News: How to Get Started With the GitHub Copilot CLI – Tutorial Managing and Measuring Python Code Quality – Video CoursePython 3.15 Preview: Upgraded JIT Compiler – Tutorial Testing MCP Servers With a Python MCP Client – Video Course How to Use GitHub – Real Python Show Links: Why I Wrote PEP 832: Virtual Environment Discovery – PEP 832 proposes a way to describe where your virtual environment is so that your tools can look in the right place. Although a relatively simple proposal it has caused some contention in the community. This post by Brett, the PEP’s author, describes his reasoning. Free-Threaded Python: Past, Present, and Future – This post summarizes a talk by core developer Thomas Wouters at PyCon US 2026 on Free-threaded Python: the attempt to remove the GIL. It describes why it is being done and what future work looks like. Free threaded Python past, present and future - YouTube uv in Production: The Speed Is Real, the Integration Isn’t Free – Oleg’s work moved their tooling from pip to uv and lived with it for ~90 days. They discovered that the speed is real, but that doesn’t mean there aren’t complications. Wagtail as Django Admin on Steroids – Wagtail can do pretty much everything the Django Admin can do, but includes a much more modern UI and more features. This article shows you how to use Wagtail as an Admin alternative. Managing and Measuring Python Code Quality – Master Python code quality tools like linters, formatters, type checkers, and profilers to measure, manage, and improve the code you write. Python Code Quality: Best Practices and Tools – Real Python Projects: purejq: A Pure-Python Implementation of jq ninejs: Bringing ✨interactivity✨ to plotnine ninejs - Documentation Additional Links: Episode #297: Improving Python Through PEPs and Protocols PEP 766 PEP 8 – Style Guide for Python Code | peps.python.org How to Write Beautiful Python Code With PEP 8 AURI for Developers - AI-Native AppSec Platform - Endor Labs Level up your Python skills with our expert-led courses: Threading in Python Thread Safety in Python: Locks and Other Techniques Testing MCP Servers With a Python MCP Client Support the podcast & join our community of Pythonistas

0:00-50:42

transcript

No transcript — this publisher did not publish one.

show notes

How many attempts have been made to remove Python’s Global Interpreter Lock (GIL)? How do they compare to the current approach? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

Christopher shares a recent article about Thomas Wouters’ talk at PyCon US 2026. The talk, titled “Free-threaded Python: past, present, and future,” covers the efforts to remove the GIL starting in 1996. He explains that threads are complex, but they allow multiple tasks to run concurrently within a single process and its address space.

The GIL is how CPython implements threading. The GIL protects Python objects and their reference counts, which determine the current objects in use. The talk also looks forward and shares the current work to remove the GIL, now named free-threaded Python, and the goals for the near future.

We also share other articles and projects from the Python community, including community announcements, a roundup of recent Real Python tutorials and video courses, using uv in Production, employing Wagtail as Django admin on steroids, managing and measuring Python code quality, a pure-Python implementation of jq, and a project to bring interactivity to plotnine.

This episode is sponsored by AURI by Endor Labs

Course Spotlight: Thread Safety in Python: Locks and Other Techniques

In this video course, you’ll learn about the issues that can occur when your code is run in a multithreaded environment. Then you’ll explore the various synchronization primitives available in Python’s threading module, such as locks, which help you make your code safe.

Topics:

  • 00:00:00 – Introduction
  • 00:03:08 – PEP 836: JIT Go Brrr: The Path to a Supported JIT Compiler for CPython
  • 00:04:34 – PyCon US 2026 Videos Are Up
  • 00:04:53 – Thinking About Running for the PSF Board? Let’s Talk!
  • 00:05:30 – How to Get Started With the GitHub Copilot CLI
  • 00:06:27 – Python 3.15 Preview: Upgraded JIT Compiler
  • 00:07:23 – Testing MCP Servers With a Python MCP Client
  • 00:08:10 – How to Use GitHub
  • 00:08:50 – Why I Wrote PEP 832: Virtual Environment Discovery
  • 00:09:46 – Free-Threaded Python: Past, Present, and Future
  • 00:16:51 – Sponsor: AURI by EndorLabs
  • 00:17:38 – uv in Production: The Speed Is Real, the Integration Isn’t Free
  • 00:26:18 – Wagtail as Django Admin on Steroids
  • 00:29:52 – Video Course Spotlight
  • 00:31:11 – Managing and Measuring Python Code Quality
  • 00:43:10 – purejq: A Pure-Python Implementation of jq
  • 00:46:41 – ninejs: Bringing ✨interactivity✨ to plotnine
  • 00:49:15 – Thanks and goodbye

News:

Real Python News:

Show Links:

Projects:

Additional Links:

Level up your Python skills with our expert-led courses:

Support the podcast & join our community of Pythonistas

links26