The First Year of Free-Threaded Python

· May 16, 2025

https://labs.quansight.org/blog/free-threaded-one-year-recap

Quansight have been doing a tonne of work on the roll-out of Free Threaded Python, and they released an insightful blog post covering the progress over the last year that complements the recent Meta eng blog post well.

At this time last year, when Python 3.13.0b1 shipped, the wider ecosystem of Python packages was more or less completely broken on the free-threaded build. Trying to pip install anything but the simplest package with no dependencies or only pure-Python dependencies would likely lead to build errors. Most of these issues were not due to fundamental problems but because of unsupported default options or minor assumptions broken on the free-threaded build.

Together with package maintainers and other contributors in the community, we have fixed many of these issues and today things are much better. With the release of Cython 3.1.0, which ships official support for the free-threaded build, we also helped fix one of the most significant sources of build issues.

There have been a number of good talks at PyCon US this year around Free-Threaded, and lots of familiar stories of rediscovering the concurrency principles that other languages have worked on in the process! I’d recommend keeping an eye on the PyCon YouTube Channel for talk recordings, particularly Lisandro and Nathan’s talk about their journey, David Hewitt’s talk about using Rust with FT Python from his experience with PyO3, and Alvaro Duran’s on his FT Python load balancer!

Some useful links I’ve been looking at from the talks: