Repository navigation
fix: cap requires-python at <3.14 and record uv exclude-newer policy in lockfile - #56
0fflineuser wants to merge 1 commit into
Conversation
…ntic-core wheels On machines where Python 3.14 is the default interpreter, 'uv sync' picked 3.14 and tried to build pydantic-core 2.33.2 (via mcp -> pydantic) from source, because no CPython 3.14 wheel exists. The source build fails at PyO3 0.24.1, which supports a maximum of Python 3.13. Cap requires-python at <3.14 and pin .python-version to 3.13 so uv resolves prebuilt wheels as before.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review. WalkthroughThe project now configures Python 3.13 and limits its supported Python range to versions 3.11 through 3.13. ChangesPython version alignment
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to The project now targets Python 3.11–3.13 and pins local development to Python 3.13, avoiding the Python 3.14 source-build failure. Validation succeeds, with no merge-blocking risk remaining. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 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 |
|
Thanks for this! Closing as superseded: #46 refreshed uv.lock (pydantic-core 2.46.5 with cp314 wheels), so the server now installs and runs on Python 3.14 and the <3.14 cap is no longer needed. This branch's uv.lock also conflicts with main now. |
TL;DR
uv syncbroke on machines whose default Python is 3.14 (pydantic-core source build fails: PyO3 0.24.1 supports Python ≤ 3.13). This caps the project at Python < 3.14 and pins.python-versionto 3.13, restoring prebuilt-wheel installs.uv.lockalso records a uv resolution policy (see Lockfile note) — reviewers please confirm that's acceptable for the repo.Summary
requires-python = ">=3.11"let uv pick CPython 3.14 as the interpreter.pydantic-core==2.33.2(viamcp→pydantic) publishes no CPython 3.14 wheels, so uv built it from source.Changes
pyproject.toml:requires-python = ">=3.11,<3.14".python-version: pinned to3.13(committed so all contributors resolve the same interpreter)uv.lock: regenerated for the new Python rangeTesting
uv synccompletes using prebuilt wheels — no Rust/maturin builduv run python -c "import mcp, pydantic_core"→ OKLockfile note:
[options] exclude-newerBesides the Python range, the regenerated
uv.lockrecords the uv resolution policy under[options]:0001-01-01Zline is a documented no-op kept for backwards compatibility; the effective entry isexclude-newer-span = "P7D".uv.tomlso it's visible and reproducible independent of uv's lockfile format.Summary by CodeRabbit