Skip to content

Conversation

@JasperSui
Copy link
Owner

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.

  • Add test matrix entries for 3.13t and 3.14t across all OS platforms (Ubuntu, Windows, macOS) in GitHub Actions workflow
  • Update development environment setup instructions in CONTRIBUTING.md to include free-threaded Python versions
  • Modify noxfile.py to create separate python_versions_without_free_threaded list for sessions that don't support free-threaded builds (e.g., mypy session)
  • Add PyPI classifier "Programming Language :: Python :: Free Threading :: 3 - Stable" to pyproject.toml
  • Update README.md requirements section to explicitly mention support for free-threaded builds

The mypy type-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.

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.

- Add test matrix entries for 3.13t and 3.14t across all OS platforms (Ubuntu, Windows, macOS) in GitHub Actions workflow
- Update development environment setup instructions in CONTRIBUTING.md to include free-threaded Python versions
- Modify noxfile.py to create separate `python_versions_without_free_threaded` list for sessions that don't support free-threaded builds (e.g., `mypy` session)
- Add PyPI classifier "Programming Language :: Python :: Free Threading :: 3 - Stable" to pyproject.toml
- Update README.md requirements section to explicitly mention support for free-threaded builds

The mypy type-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.
@JasperSui JasperSui changed the title feat: add support for free-threaded Python builds feat: add support for free-threaded Python builds (3.14t, 3.13t) Oct 18, 2025
@codecov
Copy link

codecov bot commented Oct 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (004a879) to head (5f9c93d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##              main      #177   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            9         9           
  Lines          326       326           
  Branches        36        36           
=========================================
  Hits           326       326           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JasperSui JasperSui merged commit 66e29c1 into main Oct 18, 2025
65 checks passed
@JasperSui JasperSui deleted the feat/support-free-threaded-python branch October 18, 2025 05:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants