~/talk

Unraveling Community Support For Free-Threaded Python

Talkat PyCon US 2025 · 2025-05-16..05-18· [python, open-source]
links:none on file
links:none on file
slides:none on file

Free‑threaded Python removes the GIL but breaks many native extensions so community work ports C, C++, Cython, Fortran and Rust modules (Cython, NumPy, SciPy, PyO3) and ships free‑threaded wheels; tooling includes samply + Firefox profiler to find contention, thread sanitizer Docker images for TSAN, and pytest-run-parallel for stress tests. Migration follows pip classifiers (unstable→resilient), adds documented thread‑safety guarantees, and fixes data races; e.g. NumPy’s PR27896: critical section → rwlock restores multithreaded scaling in the thousand‑thread benchmark.

AI-written summary · about

  1. 0:00Free-threaded Python intro
  2. 1:04Native code and GIL
  3. 3:55From GIL to free-threaded builds
  4. 6:45Ecosystem migration strategy
  5. 9:33Porting packages plan
  6. 15:19Fixing data races in native code
  7. 20:05Global state patterns and fixes
  8. 22:58Reference counting solutions
  9. 24:02Mutexes replacing GIL
  10. 25:27Deadlocks with atomics
  11. 26:51Caches in free-threaded builds
  12. 29:42Mutable data structure challenges
  13. 31:31Thread-safe object critical sections
  14. 32:57Debugging tools for free-threaded
  15. 33:59NumPy scaling issues
  16. 37:13Future of free-threaded Python
  17. 40:10Q&A on thread attachment
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.