build(rust): bump pyo3 and pyo3-async-runtimes to 0.29 - #33122
build(rust): bump pyo3 and pyo3-async-runtimes to 0.29#33122mckornfield wants to merge 1 commit into
Conversation
…-python pyo3 0.23.5 only supported Python up to 3.13, blocking installation on Python 3.14 with a compile-time error. Update to 0.29.0 (current release), which adds native Python 3.14 support. pyo3 0.29 renamed two APIs: Python::with_gil -> Python::attach and py.allow_threads -> py.detach (driven by Python 3.13+ free-threaded mode making 'GIL' a misnomer). Update the two call sites accordingly. Drop the <3.14 upper bound from requires-python; no reason to block future Python versions preemptively. The per-package markers gating redisvl, semantic-router, etc. on python_version < '3.14' are separate issues with those individual packages and left unchanged. Closes BerriAI#33116
bbf649e to
e10a3fb
Compare
Greptile SummaryThis PR upgrades
Confidence Score: 4/5Safe to merge after verifying the redisvl minimum version change is intentional or reverting it to 0.4.1. All Rust changes are mechanical and correct — the two pyo3 renames are the only call-site updates required for the 0.23→0.29 migration and are applied consistently across every usage. The Python packaging side is mostly fine, but the redisvl entry quietly bumps its floor from 0.4.1 to 0.23.0 without mention in the PR description; this could force a significant upgrade on existing Python 3.10–3.13 users who rely on any redisvl version between those two points. pyproject.toml — specifically the redisvl minimum version change at line 92.
|
| Filename | Overview |
|---|---|
| litellm-rust/Cargo.toml | Bumps pyo3 from 0.23.5 to 0.29.0 and pyo3-async-runtimes from 0.23.0 to 0.29.0; versions are aligned correctly. |
| litellm-rust/crates/ai-gateway/src/python/config.rs | Renames Python::with_gil to Python::attach (pyo3 0.28+ API) and updates module-level comment; correct. |
| litellm-rust/crates/python-bridge/src/gil.rs | Renames py.allow_threads to py.detach (pyo3 0.28+ API) and updates doc comment; correct. |
| litellm-rust/crates/python-bridge/src/lib.rs | Renames Python::with_gil to Python::attach inside async future closure; correct. |
| pyproject.toml | Removes requires-python upper bound, removes python_version guards from pypdf/openapi-core, and modifies redisvl entry — both removing the python_version guard and bumping the minimum from 0.4.1 to 0.23.0, which is undocumented in the PR description and could break existing installations. |
Comments Outside Diff (1)
-
pyproject.toml, line 92 (link)The
redisvlminimum version is quietly bumped from0.4.1to0.23.0— a jump of roughly 19 minor releases — while the PR description explicitly states these per-package markers are "left unchanged." Users on Python 3.10–3.13 who haveredisvlanywhere between0.4.1and0.22.xinstalled will see their environment broken on the nextpip install --upgrade litellm[extra_proxy]. If the intent is only to add Python 3.14 support, the python_version guard can simply be removed while keeping the existing floor.
Reviews (1): Last reviewed commit: "build(rust): bump pyo3 and pyo3-async-ru..." | Re-trigger Greptile
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
already done in #33798 |
Relevant issues
Closes #33116
Linear ticket
N/A
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
@greptileaito re-request a review after pushing changes)Delays in PR merge?
If you're seeing a delay in your PR being merged, ping the LiteLLM Team on Slack (#pr-review).
Screenshots / Proof of Fix
Type
🆕 New Feature
🐛 Bug Fix
🧹 Refactoring
📖 Documentation
🚄 Infrastructure
✅ Test
Changes
pyo3 0.23.5 only supported Python up to 3.13, blocking installation on Python 3.14 with a compile-time error. Update to 0.29.0 (current release), which adds native Python 3.14 support.
pyo3 0.29 renamed two APIs: Python::with_gil -> Python::attach and py.allow_threads -> py.detach (driven by Python 3.13+ free-threaded mode making 'GIL' a misnomer). Update the two call sites accordingly.
Final Attestation