Skip to content
Artwork for The Real Python Podcast
The Real Python Podcast · November 6 · 1 hr 8 min

Free-Threaded Python: Why Python Devs Should Know About the ABI

Why should every Python developer know about the CPython ABI? This week on the show, we speak with Nathan Goldbaum about free-threaded Python and the changes to the Python Application Binary Interface. Nathan recently joined the CPython core developer team and has been building community support for free-threaded Python. Nathan shares his NumPy background and his work on shipping a new DType in NumPy 2.0. He also discusses his work on PyO3 and leading the effort to support thread-safe Rust extensions for use with the free-threaded build of Python. This episode is sponsored by PropelAuth. Spotlight: Converting Documents to Markdown With MarkItDown Learn how to use MarkItDown to convert Excel files, PDFs, and images into clean Markdown that’s ready for LLMs and AI workflows. Get Your Code: Click here to download the free sample code that shows you how to work with the experimental free threading and JIT compiler in Python 3.13. Topics: 00:00:00 – Introduction 00:01:51 – The evolution of Free-Threaded Python 00:03:42 – Changes to the Application Binary Interface 00:05:16 – Improving the garbage collector 00:07:04 – Why should developers know about the ABI? 00:11:31 – What has changed with ABI? 00:19:42 – Sponsor: PropelAuth 00:20:18 – Python 3.13 and the updated PyObject 00:23:15 – EuroPython talk - What Every Python Developer Should Know About the ABI 00:31:13 – How did you get involved with NumPy? 00:35:33 – Video Course Spotlight 00:37:24 – Working on NumPy conference talk 00:42:23 – LLMs, aesthetic taste, and intentional software design 00:43:16 – Working on NumPy 2.0, DTypes, and building the String DType 00:54:43 – The stages of intentional design 00:57:34 – How does it connect to working on the ABI? 00:59:11 – Rust, PyO3, and the Spinning Jenny Project 01:04:03 – What are you excited about in the world of Python? 01:05:23 – What do you want to learn next? 01:06:34 – How can people follow your work online? 01:06:50 – Thanks and goodbye Show Links: What Every Python Developer Should Know About the CPython ABI - Quansight Labs What every Python developer should know about the CPython ABI - Nathan Goldbaum - YouTube Python Free-Threading Guide Unraveling Community Support For Free-Threaded Python - Lysandros Nikolaou & Nathan Goldbaum - YouTube Compatibility Status Tracking - Python Free-Threading Guide PEP 779 – Criteria for supported status for free-threaded Python PEP 703 – Making the Global Interpreter Lock Optional in CPython Memory Management in Python – Real Python Nathan Goldbaum - From no CPython C API experience to shipping a new DType in NumPy 2.0 - YouTube The yt Project: Home yt - PyPI The Recurse Center Working with Arrays of Strings And Bytes — NumPy v2.6.dev0 Manual NEP: add NEP-0058 for bytestringdtype by ngoldbaum · Pull Request #32433 · numpy/numpy PyO3: Rust bindings for the Python interpreter Quansight Labs - Blog Nathan Goldbaum - LinkedIn Nathan Goldbaum - ngoldbaum - GitHub Level up your Python skills with our expert-led courses: Speed Up Python With Concurrency NumPy Techniques and Practical Examples Converting Documents to Markdown With MarkItDown Support the podcast & join our community of Pythonistas

0:00-1:08:05

transcript

No transcript — this publisher did not publish one.

show notes

Why should every Python developer know about the CPython ABI? This week on the show, we speak with Nathan Goldbaum about free-threaded Python and the changes to the Python Application Binary Interface.

Nathan recently joined the CPython core developer team and has been building community support for free-threaded Python. Nathan shares his NumPy background and his work on shipping a new DType in NumPy 2.0. He also discusses his work on PyO3 and leading the effort to support thread-safe Rust extensions for use with the free-threaded build of Python.

This episode is sponsored by PropelAuth.

Spotlight: Converting Documents to Markdown With MarkItDown

Learn how to use MarkItDown to convert Excel files, PDFs, and images into clean Markdown that’s ready for LLMs and AI workflows.

Get Your Code: Click here to download the free sample code that shows you how to work with the experimental free threading and JIT compiler in Python 3.13.

Topics:

  • 00:00:00 – Introduction
  • 00:01:51 – The evolution of Free-Threaded Python
  • 00:03:42 – Changes to the Application Binary Interface
  • 00:05:16 – Improving the garbage collector
  • 00:07:04 – Why should developers know about the ABI?
  • 00:11:31 – What has changed with ABI?
  • 00:19:42 – Sponsor: PropelAuth
  • 00:20:18 – Python 3.13 and the updated PyObject
  • 00:23:15 – EuroPython talk - What Every Python Developer Should Know About the ABI
  • 00:31:13 – How did you get involved with NumPy?
  • 00:35:33 – Video Course Spotlight
  • 00:37:24 – Working on NumPy conference talk
  • 00:42:23 – LLMs, aesthetic taste, and intentional software design
  • 00:43:16 – Working on NumPy 2.0, DTypes, and building the String DType
  • 00:54:43 – The stages of intentional design
  • 00:57:34 – How does it connect to working on the ABI?
  • 00:59:11 – Rust, PyO3, and the Spinning Jenny Project
  • 01:04:03 – What are you excited about in the world of Python?
  • 01:05:23 – What do you want to learn next?
  • 01:06:34 – How can people follow your work online?
  • 01:06:50 – Thanks and goodbye

Show Links:

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

Support the podcast & join our community of Pythonistas

links24