Skip to content

Support Python 3.14#2871

Merged
adamtheturtle merged 31 commits intomainfrom
support-python-3.14
Apr 26, 2026
Merged

Support Python 3.14#2871
adamtheturtle merged 31 commits intomainfrom
support-python-3.14

Conversation

@adamtheturtle
Copy link
Copy Markdown
Member

@adamtheturtle adamtheturtle commented Jan 27, 2026

Add Python 3.14 to the test matrix and classifiers.


Note

High Risk
Raises the minimum supported Python to 3.14 and updates CI/docs build matrices accordingly; additionally changes except clauses in runtime code, which could introduce syntax/runtime failures if incorrect.

Overview
Updates the project to target Python 3.14: bumps requires-python, PyPI classifiers, README minimum version, and all GitHub Actions workflows (lint/test/docs publish/coverage) to run on 3.14.

Refreshes build/runtime tooling to match (Docker base image to uv Python 3.14, pyproject-fmt max Python, and a small dev dependency bump), and adjusts linting/spelling config (adds Ruff TC00x ignores and new dictionary words).

Tweaks exception handling in healthcheck.py and target_raters.py by changing multi-exception except clauses.

Reviewed by Cursor Bugbot for commit 9702313. Bugbot is set up for automated code reviews on this repo. Configure here.

dependabot Bot and others added 3 commits January 19, 2026 07:54
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 8.2.3 to 9.1.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst)
- [Commits](sphinx-doc/sphinx@v8.2.3...v9.1.0)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-version: 9.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Comment thread .github/workflows/test.yml Outdated
Use modulo arithmetic to map job index to secrets file index,
ensuring that adding Python versions to the matrix doesn't break
the secrets file lookup. Each test pattern maps to the same
secrets file regardless of Python version.

The number of secrets files is determined dynamically from
the extracted tarball.
adamtheturtle and others added 2 commits January 28, 2026 08:11
This reverts commit 9a342f4.
Beartype requires imports to be available at runtime, not just under
`if TYPE_CHECKING`. See beartype/beartype#594
for when beartype 0.23 will add support for TYPE_CHECKING imports.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Comment thread pyproject.toml
Python 3.14's deferred annotation evaluation (PEP 649) causes
`_Stringifier.__format__` to raise a TypeError when beartype
inspects function signatures at test collection time.

This is a workaround until beartype 0.23 is released with full
Python 3.14 support.

See:
- beartype/beartype#594
- beartype/beartype#440

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Comment thread src/mock_vws/_flask_server/healthcheck.py
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 49b6aa0. Configure here.

Comment thread src/mock_vws/target_raters.py
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.

1 participant