GitHub Actions: Test on Python 3.14#1346
GitHub Actions: Test on Python 3.14#1346cclauss wants to merge 1 commit intomodelcontextprotocol:mainfrom
Conversation
|
Curious what other maintainers think about adding 3.14 already to our CI @Kludex @dsp-ant @ihrpr Looks like 3.14 is currently pre-release with release slated for 7 Oct 2025 so relatively soon (https://devguide.python.org/versions/) |
|
I mean, if you are able to make the pipeline pass, then sure... |
ad5ebde to
e8229ab
Compare
ff8d859 to
7e204c0
Compare
|
We don't really need to build the docs in 3.14. You can add a marker to not install on that version. |
|
Sorry. I am out of my depth. uv --all-extras will ignore python_version markers and install everything. |
058dd07 to
109909b
Compare
|
Now the problem is Using the alpha release https://pypi.org/project/pydantic/2.12.0a1, we finally get the build to succeed. |
8179c10 to
9a66350
Compare
| with: | ||
| enable-cache: true | ||
| version: 0.7.2 |
There was a problem hiding this comment.
https://github.com/astral-sh/uv/releases/tag/0.8.11 Added Python 3.14rc2 and 0.8.12 speeds up zstandard performance.
There was a problem hiding this comment.
You can change the version, but there's no need to remove it.
We actually need to set this version in the pyproject.toml.
pyproject.toml
Outdated
| @@ -25,7 +25,8 @@ dependencies = [ | |||
| "anyio>=4.5", | |||
| "httpx>=0.27.1", | |||
| "httpx-sse>=0.4", | |||
| "pydantic>=2.11.0,<3.0.0", | |||
| "pydantic>=2.11.0,<3.0.0; python_version < '3.14'", | |||
There was a problem hiding this comment.
This is missing on line 22.
"Programming Language :: Python :: 3.14",
There was a problem hiding this comment.
I was not going to commit to supporting 3.14 until after we got the tests to pass, but here we go...
2ac61e5 to
9018463
Compare
3c4e0c1 to
3ebe806
Compare
|
Marking this as a draft for now to remove from our review queue while the 3.14 tests are still failing - let us know if you need help on addressing the remaining failures? |
```diff - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] ``` https://www.python.org/download/pre-releases https://www.python.org/downloads/release/python-3140rc2
|
Yes. Sorry, this will require someone who understands the Pydantic annotation changes in Python 3.14. |
|
I'll handle the Pydantic 2.12 compatibility. |
Python 3.14 (the π version)
Motivation and Context
Let's ensure things work as expected on the next version of CPython as recommended by the Python Core Team.
How Has This Been Tested?
Breaking Changes
Types of changes
Checklist
Additional context