Conversation
WalkthroughAdded Python 3.14 to the CI test matrix and the project's trove classifiers; no functional code changes were made. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/main.yml:
- Line 36: The workflow change adding Python "3.14" to the matrix must be
reverted until dependencies are upgraded: remove the "3.14" entry from the
matrix in .github/workflows/main.yml and do not add it back until you upgrade
and verify compatibility for mlflow (currently 2.22.4), sqlalchemy-cratedb
(0.38), and dev tools (mypy, ruff); update mlflow and sqlalchemy-cratedb to
versions that explicitly support Python 3.14, run dependency resolution and test
the suite under 3.14 locally/CI, and only then reintroduce "3.14" into the
matrix.
In `@pyproject.toml`:
- Line 50: Remove the incorrect Python classifier entry by deleting the line
containing the exact string "Programming Language :: Python :: 3.14" from
pyproject.toml so the package metadata does not claim unsupported Python 3.14
compatibility (leave other classifiers intact).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
Run ID: 59189b4c-303b-4719-8d3c-dc319282c96b
📒 Files selected for processing (2)
.github/workflows/main.ymlpyproject.toml
| - "3.11" | ||
| - "3.12" | ||
| - "3.13" | ||
| - "3.14" |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
Does GitHub Actions ubuntu-latest runner support Python 3.14 as of March 2026?
💡 Result:
Yes, the GitHub Actions ubuntu-latest runner supports Python 3.14 as of March 2026. ubuntu-latest refers to Ubuntu 24.04, which has Python versions pre-cached in the toolcache, including 3.14.3. Users can install it using actions/setup-python with python-version: '3.14'. The system Python is 3.12.3, but 3.14 is available via the toolcache. Python 3.14 builds are provided by actions/python-versions repository, with releases like 3.14.3 in early 2026.
Citations:
- 1: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
- 2: https://newreleases.io/project/github/actions/runner-images/release/ubuntu24%2F20260224.36
- 3: https://github.com/actions/python-versions/releases
- 4: https://github.com/actions/python-versions
- 5: https://github.com/actions/runner-images
- 6: https://docs.github.com/en/actions/reference/runners/github-hosted-runners
- 7: Ubuntu 24.04 update to Python 3.14 breaks things actions/runner-images#13261
🌐 Web query:
Does astral-sh setup-uv v7 support Python 3.14?
💡 Result:
Yes, astral-sh/setup-uv v7 supports Python 3.14.
Citations:
- 1: https://astral.sh/blog/python-3.14
- 2: https://github.com/astral-sh/setup-uv
- 3: https://docs.astral.sh/uv/concepts/python-versions/
- 4: https://github.com/astral-sh/uv
- 5: https://docs.astral.sh/uv/reference/policies/python/
- 6: https://docs.astral.sh/uv/guides/install-python/
🏁 Script executed:
#!/bin/bash
# Description: Check dependency compatibility with Python 3.14 by examining version constraints
echo "=== Core dependencies ==="
echo "mlflow[auth]==2.22.4"
echo "sqlalchemy-cratedb>=0.38.0,<1"
echo "sqlparse<0.6"
echo ""
echo "=== Dev dependencies ==="
echo "mypy<1.20"
echo "poethepoet<1"
echo "pyproject-fmt<3"
echo "ruff<0.16"
echo "validate-pyproject<1"
echo ""
echo "=== Test dependencies ==="
echo "psutil<8"
echo "pytest<9"
echo "pytest-cov<8"
echo ""
echo "Please verify these packages support Python 3.14"Repository: crate/mlflow-cratedb
Length of output: 357
🏁 Script executed:
#!/bin/bash
# Find dependency definition files
echo "=== Looking for dependency files ==="
find . -maxdepth 2 -type f \( -name "pyproject.toml" -o -name "setup.py" -o -name "requirements*.txt" \) | head -20Repository: crate/mlflow-cratedb
Length of output: 194
🏁 Script executed:
#!/bin/bash
# Read pyproject.toml to see actual dependencies
cat -n pyproject.toml | head -100Repository: crate/mlflow-cratedb
Length of output: 3705
🌐 Web query:
mlflow 2.22.4 python 3.14 support pypi
💡 Result:
No, MLflow 2.22.4 does not officially support Python 3.14. MLflow 2.22.4 requires Python >=3.9, as indicated by the PyPI metadata for the 2.22.0 release and consistent patterns in the 2.x series (e.g., 2.18.0 explicitly dropped Python 3.8 support). Python 3.14 was released on 2025-10-07, after MLflow 2.22.4 (released around 2025-12-05 based on download timestamps). There is a reported bug with MLflow 3.6.0 on Python 3.14 due to pydantic 'Schema' import issues, suggesting early 3.x versions also lack full support. Current MLflow 3.10 requires Python >=3.10. Users may attempt installation, but compatibility is not guaranteed and may fail due to dependency incompatibilities like pydantic.
Citations:
- 1: https://pypi.org/project/mlflow/2.22.0/
- 2: https://mlflow.github.io/mlflow-website/releases/2.18.0/
- 3: https://mlflow.org/releases/2.18.0
- 4: https://mlflow.org/releases/2.22.0
- 5: [BUG] Python 3.14 & 3.14 CLI
mlflow serverfails with errorImportError: cannot import name 'Schema' from 'pydantic'mlflow/mlflow#18868 - 6: https://github.com/mlflow/mlflow/blob/master/pyproject.toml
- 7: https://peps.python.org/pep-0745/
- 8: https://pypi.org/project/mlflow/
🌐 Web query:
pytest 9 python 3.14 support
💡 Result:
Pytest 9 supports Python 3.14. Official support was added in pytest via #13308 (prior to 9.0 release). The current version (9.0.2 as of 2025-12-06) requires Python >=3.10 per pyproject.toml and PyPI metadata, which includes 3.14. Pytest's CI tests Python 3.14 (issue #13308 fixed test failures on 3.14.0a6). A December 2025 discussion (#14076) notes a minor pluggy dependency bug on 3.14 fixed in pluggy#623 (metadata added), with a workaround available; pluggy is compatible even pre-release. Python 3.14 was released October 2025. No sources indicate lack of support in pytest 9.
Citations:
- 1: Is python 3.14 actually supported? pytest-dev/pytest#14076
- 2: https://docs.pytest.org/en/stable/changelog.html
- 3: https://pypi.org/project/pytest/
- 4: https://pytest.org/en/stable/changelog.html
- 5: https://docs.python.org/3/whatsnew/3.14.html
- 6: https://github.com/pytest-dev/pytest/blob/main/pyproject.toml
- 7: Test failures with Python 3.14.0a6 pytest-dev/pytest#13308
🌐 Web query:
sqlalchemy-cratedb 0.38 python 3.14 support
💡 Result:
No, sqlalchemy-cratedb 0.38 does not explicitly support Python 3.14. Python 3.14 was released after the 0.38.0 release on 2024-06-25. PyPI classifiers for recent versions list support up to Python 3.8 explicitly, with "Python :: 3 :: Only" and requires Python >=3.6, but no mention of 3.14. CI verified Python 3.13 support was added later (in a release after 0.38, dated 2025-01-30). Official docs verify CPython support but no specific Python 3.14 mention for 0.38. It may work due to broad Python 3 support, but lacks verified support.
Citations:
- 1: https://cratedb.com/docs/sqlalchemy-cratedb/
- 2: https://cratedb.com/docs/sqlalchemy-cratedb/index.html
- 3: https://github.com/crate/sqlalchemy-cratedb/releases
- 4: https://pypi.org/project/sqlalchemy-cratedb/
- 5: https://pypi.org/project/sqlalchemy-cratedb/0.42.0.dev2/
🌐 Web query:
mypy 1.20 ruff 0.16 python 3.14 support
💡 Result:
Mypy development version 1.20 (as of changelog on readthedocs) supports Python 3.14, with initial support added in 1.17 (tested on 3.14, mypyc works with 3.14.0b3+), wheels for cp314, and free-threading support. However, some features like PEP 750 template strings cause crashes in master (issue #19329 from Jun 2025). Latest stable release is 1.19.1 (Dec 2025). Ruff versions 0.14+ (e.g., 0.14.0 Oct 2025, current latest 0.15.7 Mar 2026) fully support Python 3.14, with tracking issue #15506 closed Aug 2025, defaults to py314 for syntax errors, and rules updated for t-strings etc. No 0.16 found; likely refers to recent 0.1x versions. Note: Ruff 0.16 does not exist yet; support starts from 0.14. Both tools can run on and target Python 3.14, but mypy has minor outstanding issues in dev.
Citations:
- 1: https://mypy.readthedocs.io/en/latest/changelog.html
- 2: https://astral.sh/blog/python-3.14
- 3: https://github.com/python/mypy/blob/master/CHANGELOG.md
- 4: https://pypi.org/project/mypy/
- 5: https://mypy-lang.blogspot.com/2025/07/mypy-117-released.html
- 6: https://pypi.org/project/ruff/0.14.8/
- 7: https://togithub.com/charliermarsh/ruff/releases
- 8: https://pypi.org/project/ruff/
Do not add Python 3.14 to the test matrix without upgrading dependencies.
mlflow 2.22.4 does not support Python 3.14 and has dependency incompatibilities (pydantic-related). sqlalchemy-cratedb 0.38 lacks verified Python 3.14 support. While GitHub Actions ubuntu-latest and setup-uv v7 support Python 3.14, these core dependencies must be upgraded to versions with confirmed Python 3.14 support before adding it to the workflow matrix. Verify and upgrade:
- mlflow to a version supporting Python 3.14
- sqlalchemy-cratedb to a version with verified Python 3.14 support
- Ensure dev dependencies (mypy, ruff) are compatible with target versions
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/main.yml at line 36, The workflow change adding Python
"3.14" to the matrix must be reverted until dependencies are upgraded: remove
the "3.14" entry from the matrix in .github/workflows/main.yml and do not add it
back until you upgrade and verify compatibility for mlflow (currently 2.22.4),
sqlalchemy-cratedb (0.38), and dev tools (mypy, ruff); update mlflow and
sqlalchemy-cratedb to versions that explicitly support Python 3.14, run
dependency resolution and test the suite under 3.14 locally/CI, and only then
reintroduce "3.14" into the matrix.
| "Programming Language :: Python :: 3.11", | ||
| "Programming Language :: Python :: 3.12", | ||
| "Programming Language :: Python :: 3.13", | ||
| "Programming Language :: Python :: 3.14", |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
Is Python 3.14 officially released and stable as of March 2026?
💡 Result:
Yes, Python 3.14 is officially released and stable as of March 2026. Python 3.14.0 was released on October 7, 2025, and the latest stable version, Python 3.14.3 (a maintenance release), was released on February 3, 2026. It is the current bugfix-supported series, with official binaries available for download from python.org.
Citations:
- 1: https://www.python.org/downloads/release/python-3140/
- 2: http://python.org/downloads/latest
- 3: https://docs.python.org/3/whatsnew/3.14.html
- 4: https://peps.python.org/pep-0745/
- 5: https://docs.python.org/3/whatsnew/changelog.html
- 6: https://www.python.org/downloads/latest
- 7: https://www.python.org/downloads/release/python-3143/
- 8: https://devguide.python.org/versions/
- 9: https://www.python.org/downloads/source/
🌐 Web query:
Does MLflow 2.22.4 support Python 3.14?
💡 Result:
No, MLflow 2.22.4 does not support Python 3.14.
Citations:
- 1: https://pypi.org/project/mlflow/
- 2: https://mlflow.github.io/mlflow-website/releases/2.18.0/
- 3: https://mlflow.org/releases/2.18.0
- 4: https://github.com/mlflow/mlflow/tags
Remove Python 3.14 classifier—MLflow 2.22.4 does not support it.
While Python 3.14 is officially released and stable as of March 2026, MLflow 2.22.4 does not support Python 3.14. Adding this classifier would create a false claim of compatibility.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@pyproject.toml` at line 50, Remove the incorrect Python classifier entry by
deleting the line containing the exact string "Programming Language :: Python ::
3.14" from pyproject.toml so the package metadata does not claim unsupported
Python 3.14 compatibility (leave other classifiers intact).
c0cf1b1 to
eb0533b
Compare
Does MLflow work with Python 3.14 already?