✨ feat: support Python 3.15 and 3.15t, drop Python 3.10 - #103
Merged
Conversation
SigureMo
requested changes
Sep 28, 2026
Comment on lines
+19
to
+21
| env: | ||
| UV_PYTHON: ${{ matrix.python-version }} | ||
| UV_LOCKED: 'true' |
Member
Author
There was a problem hiding this comment.
这两项对 lint job 并非必需:setup-python 已将普通 3.11 放到 PATH 首位;UV_LOCKED 是额外的 CI 策略,不是版本兼容修复。已在 cad2244 删除 lint 的整个 env,并删除 unit-test 的 UV_LOCKED。仅在 unit-test 保留 UV_PYTHON 来显式选择 3.15t:本地将 free-threaded 解释器目录放到 PATH 首位后,未指定版本的 uv venv 仍选择 3.14;设置 UV_PYTHON=3.15t 才选择 free-threaded 解释器。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
Locally on macOS arm64:
UV_PYTHON=<version> UV_LOCKED=true just ci-install ci-test: passed on 3.11.16, 3.12.14, 3.13.15, 3.14.7, 3.15.0rc2 and 3.15.0rc2 free-threaded (1 test each).just ci-lint ci-fmt-check: passed.Requires-Python: >=3.11and the updated classifiers.moelib --version/python -m moelib --versionon 3.11, 3.15 and 3.15t: passed. Verified the GIL remains disabled after imports on 3.15t.uv lock --check, workflow formatting andgit diff --check: passed.Review follow-up
In cad2244, removed the extra README paragraph, runtime-assertion step, lint job environment overrides and CI lock-policy change. Only the unit-test interpreter selection remains, to ensure 3.15t actually runs free-threaded Python.
All seven checks pass on cad2244: unit tests, Python 3.11–3.15 and 3.15t and lint/format. The 3.15t job log confirms the free-threaded interpreter and the complete passing test suite.
Repository settings
Rechecked after review: the repository ruleset now requires the 3.11–3.15 and 3.15t unit-test checks, with no obsolete 3.10 requirement. No repository settings were changed by this PR.
@SigureMo please review when convenient.