Skip to content

Conversation

@adamtheturtle
Copy link
Member

@adamtheturtle adamtheturtle commented Jan 27, 2026

Add Python 3.14 to the test matrix and classifiers.


Note

Upgrades project to Python 3.14 and removes 3.13 usage.

  • Requires Python >=3.14 in pyproject.toml, updates classifiers and README substitution, and sets max_supported_python to "3.14"
  • CI: switch all GitHub Actions (lint, tests, docs publish, Windows) to Python 3.14
  • Docker: base image changed to python:3.14-slim
  • Tests: stop auto-applying beartype to test functions in conftest.py due to 3.14 annotations issue; add explanatory docstring
  • Linting: ignore TC001-3 to accommodate beartype’s runtime import needs

Written by Cursor Bugbot for commit 152c09a. This will update automatically on new commits. 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>
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>
Copy link

@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.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

"Operating System :: POSIX",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
Copy link

Choose a reason for hiding this comment

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

Python 3.13 support dropped instead of adding 3.14

High Severity

The PR description states "Add Python 3.14 to the test matrix and classifiers" but the implementation replaces Python 3.13 with 3.14 instead of adding 3.14 alongside it. The requires-python constraint was changed from >=3.13 to >=3.14, the test matrices now only include '3.14' instead of ['3.13', '3.14'], and the classifiers only list Python :: 3.14. This drops support for Python 3.13 users, which is a breaking change that contradicts the stated intent.

Additional Locations (1)

Fix in Cursor Fix in Web

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>
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