Skip to content

Python 3.15: default to 3.15 and test it in CI - #581

Draft
tony wants to merge 3 commits into
masterfrom
python-3.15
Draft

tony wants to merge 3 commits into
masterfrom
python-3.15

Conversation

@tony

@tony tony commented Oct 17, 2026

Copy link
Copy Markdown
Member

Summary

Makes Python 3.15 the default interpreter and the interpreter of the CI test job. CI on 3.15 is expected to fail until the formatter tests are fixed for 3.15: 14 tests in tests/cli/test_formatter.py fail with AttributeError: property '_theme' of 'VcspullHelpFormatter' object has no setter. This branch does not fix them.

Changes

  • .tool-versions: python 3.15 3.14 3.13 3.12 3.11 3.10, so mise uses 3.15 first.
  • .python-version: 3.14 to 3.15, so uv sync and uv run pick 3.15.
  • .github/workflows/tests.yml: the build job matrix goes from ['3.14'] to ['3.15']. The release job stays on 3.14.

Refs #580

Testing

$ uv run py.test

On Python 3.15.0 this reports 14 failed, all in tests/cli/test_formatter.py, and the rest passing. The same command on 3.14 reports no failures.

tony added 3 commits October 17, 2026 10:15
why: CPython 3.15.0 was released on 2026-10-09. mise resolves the bare
`3.15` to the newest installed 3.15.x, so the pin needs no patch bumps.
mise now uses Python 3.15 first, with 3.14 through 3.10 still installed.

See also:
- https://www.python.org/downloads/release/python-3150/
- https://docs.python.org/3.15/whatsnew/3.15.html
why: uv uses this as the default interpreter for `uv sync` and
`uv run`.

See also:
- https://docs.python.org/3.15/whatsnew/3.15.html
why: Run the test job on the current CPython release.

what:
- replace 3.14 with 3.15 in the `build` job matrix of tests.yml
- leave the `release` job on 3.14

The suite does not pass on 3.15 yet: `uv run py.test` reports 14
failures in tests/cli/test_formatter.py.

See also: https://devguide.python.org/versions/

This branch has not been deployed

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