Skip to content

✨ stabilize free threading#48

Merged
techouse merged 3 commits intomainfrom
feat/stabilize-free-threading
Mar 15, 2026
Merged

✨ stabilize free threading#48
techouse merged 3 commits intomainfrom
feat/stabilize-free-threading

Conversation

@techouse
Copy link
Copy Markdown
Owner

@techouse techouse commented Mar 15, 2026

This pull request updates the project to fully support and document free-threaded CPython builds, removes the "experimental" designation for these environments in CI, and improves clarity in documentation and project metadata.

Continuous Integration and Testing:

  • Removed "experimental" flags and error-tolerant settings for free-threaded Python environments in the GitHub Actions workflow, ensuring these builds are treated as fully supported and required to pass. (.github/workflows/test.yml) [1] [2]

Documentation:

  • Updated the docs/README.rst to clarify that free-threaded CPython is now supported and covered by the thread-safety test suite, rather than being experimental.

Project Metadata:

  • Added new PyPI classifiers to pyproject.toml to indicate stable support for free-threaded Python builds.

Summary by CodeRabbit

  • New Features

    • Free-threaded CPython builds are now officially supported with full test coverage
  • Documentation

    • Updated to reflect stable support for free-threaded Python builds and alignment with mutation guarantees
  • Tests

    • Simplified test workflow by removing experimental test variants and consolidating test job naming for improved consistency

@techouse techouse requested a review from Copilot March 15, 2026 23:02
@techouse techouse self-assigned this Mar 15, 2026
@techouse techouse added the enhancement New feature or request label Mar 15, 2026
@techouse
Copy link
Copy Markdown
Owner Author

@codex review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 15, 2026

📝 Walkthrough

Walkthrough

The pull request transitions free-threaded CPython from experimental to stable support by simplifying the GitHub Actions test workflow (removing conditional matrix entries for python3.13t and python3.14t), updating documentation to reflect the change, and adding corresponding classifiers to project metadata.

Changes

Cohort / File(s) Summary
CI Workflow Simplification
.github/workflows/test.yml
Removes experimental free-threaded Python variants (python3.13t, python3.14t) from test matrix; simplifies job naming from conditional format to fixed "Test ()" format; eliminates continue-on-error logic tied to experimental flag.
Documentation & Metadata
docs/README.rst, pyproject.toml
Updates README to declare free-threaded CPython as fully supported with thread-safety coverage; adds two new classifiers to project metadata: "Programming Language :: Python :: Free Threading" and "Programming Language :: Python :: Free Threading :: 3 - Stable".

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Suggested labels

python, test

Poem

🐰 The experimental threads have found their rest,
Free-threading's now stable—no more jest!
No more "13t" dance or "14t" play,
Just solid support, here to stay.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title ':sparkles: stabilize free threading' directly and clearly describes the main change—moving free-threaded Python support from experimental to stable across CI, docs, and metadata.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The pull request description provides a clear summary of changes across CI, documentation, and project metadata, aligning with the template structure.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/stabilize-free-threading
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can use your project's `pylint` configuration to improve the quality of Python code reviews.

Add a pylint configuration file to your project to customize how CodeRabbit runs pylint.

@codacy-production
Copy link
Copy Markdown

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
+0.00% (target: -1.00%)
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (2782794) 1904 1904 100.00%
Head commit (392ad92) 1904 (+0) 1904 (+0) 100.00% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#48) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

1 similar comment
@codacy-production
Copy link
Copy Markdown

codacy-production bot commented Mar 15, 2026

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
+0.00% (target: -1.00%)
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (2782794) 1904 1904 100.00%
Head commit (392ad92) 1904 (+0) 1904 (+0) 100.00% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#48) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR promotes free-threaded CPython builds from “experimental” to fully supported across the project by tightening CI requirements, updating documentation language, and advertising support in package metadata.

Changes:

  • Make free-threaded CI environments required-to-pass by removing the “experimental” job labeling and continue-on-error behavior.
  • Update documentation to state free-threaded CPython is supported and covered by the thread-safety test suite.
  • Add PyPI classifiers indicating free-threaded Python support.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
pyproject.toml Adds free-threading-related Trove classifiers to project metadata.
docs/README.rst Updates thread-safety wording to remove the “experimental” framing for free-threaded CPython.
.github/workflows/test.yml Removes “experimental” matrix flags and makes free-threaded CI runs required.

You can also share your feedback on Copilot code review. Take the survey.

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 15, 2026

Codecov Report

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

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #48   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines         1904      1904           
=========================================
  Hits          1904      1904           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@techouse techouse merged commit 7e9c0f9 into main Mar 15, 2026
29 checks passed
@techouse techouse deleted the feat/stabilize-free-threading branch March 15, 2026 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants