feat: add support for free-threaded Python builds (3.14t, 3.13t)
#177
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
Add comprehensive support for Python 3.13t and 3.14t free-threaded builds, enabling the project to work with Python's experimental free-threaded mode that removes the Global Interpreter Lock (GIL).
Changes
TL;DR
Added CI testing for Python 3.13t/3.14t free-threaded builds across all platforms, updated documentation and build configuration, and intelligently excluded free-threaded versions from mypy checks while keeping them in test runs.
Add comprehensive support for Python 3.13t and 3.14t free-threaded builds across the project infrastructure. This includes CI pipeline updates, documentation updates, and build configuration changes.
python_versions_without_free_threadedlist for sessions that don't support free-threaded builds (e.g.,mypysession)The
mypytype-checking session explicitly excludes free-threaded versions since type checkers may not yet fully support these builds, while all other test sessions run on both standard and free-threaded Python versions.