Introduction
Free-threaded CPython is coming!
After the acceptance by the Python Steering Council of, and the gradual rollout strategy for, PEP 703 - Making the Global Interpreter Lock Optional in CPython, a lot of work is happening both in CPython itself and across the Python ecosystem.
This website aims to serve as a centralized resource both for Python package maintainers and end users interested in supporting or experimenting with free-threaded Python. An overview of the compatibility status of various Python libraries is maintained in:
This website also provide documentation and porting guidance - with a focus on extension modules using the Python C API, because that's where most of the work will be. The following resources should get you started:
- Installing free-threaded CPython
- Running Python with the GIL disabled
- Porting extension modules to support free-threading
- Setting up CI
- Finding, testing and debugging concurrency issues
About this site
Any contributions are very much welcome - please open issues or pull requests on this repo for anything that seems in scope for this site or for tracking issues related to support for free-threaded Python across the ecosystem.
This site is maintained primarily by Quansight Labs, where a team is working together with the Python runtime team at Meta and stakeholders across the ecosystem to jumpstart work on converting the libraries that make up the scientific Python and AI/ML stacks to work with the free-threaded build of CPython 3.13. Additionally, that effort will look at libraries like PyO3 that are needed to interface with CPython from other languages.