fix(deps): pin stable litellm 1.89.0 so uv tool install benchflow works by default#759
Conversation
…orks by default benchflow 0.6.0 (a final release) depended on litellm[proxy]==1.88.0rc1, a prerelease. uv refuses transitive prereleases by default, so `uv tool install benchflow` / `uv pip install benchflow` silently backtracked to benchflow 0.4.0 (the newest release with no prerelease dependency) instead of erroring — users got an ancient CLI with no litellm and a missing --version. Repin to the stable litellm 1.89.0 (released after the rc) in both the package dependency and the in-sandbox LITELLM_VERSION_SPEC, bump to 0.6.1, relock, and drop the now-unneeded `--prerelease allow` workaround from the quickstart. Validated against litellm 1.89.0: resolves with no --prerelease flag; bedrock monkeypatch targets intact and patch applies in-proxy; 140 litellm/bedrock/ runtime unit tests pass; real proxy boots healthy (/health/liveliness 200) with benchflow's generated config + callback.
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f6b2fa121c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| The `--prerelease allow` flag is REQUIRED: benchflow pins a litellm release | ||
| candidate (litellm[proxy]==1.88.0rc1), and uv refuses prerelease transitive | ||
| dependencies without it — 0.6.0 itself is a final release. If uv reports | ||
| uv tool install benchflow |
There was a problem hiding this comment.
Update remaining public install docs
This quickstart now correctly drops --prerelease allow, but the same public install flow is still stale in README.md and docs/getting-started.md: both still tell users to run uv tool install --prerelease allow benchflow and explain that the LiteLLM RC dependency requires it. In environments where internal *.devN builds are published, that flag makes uv consider prereleases (uv tool install --help describes --prerelease as controlling “considering pre-release versions”), so following the main docs can put users on a preview channel instead of this 0.6.1 stable release; update those install docs together with this dependency change.
Useful? React with 👍 / 👎.
Problem
benchflow
0.6.0is a final release, but it depends on a prerelease:litellm[proxy]==1.88.0rc1. uv refuses transitive prereleases by default, souv tool install benchflow/uv pip install benchflowsilently backtrack to0.4.0(the newest release with no prerelease dependency) instead of erroring — users get an ancient CLI with no litellm and a missing--version. (piphappened to honor the explicit==…rc1pin, which masked this.)A version bump alone does not fix it — any release still depending on the rc is rejected by uv the same way. The fix is to remove the prerelease dependency.
Fix
litellm shipped a stable
1.89.0after that rc, so repin to it:pyproject.toml:litellm[proxy]==1.88.0rc1→==1.89.0; version0.6.0→0.6.1litellm_runtime.py:LITELLM_VERSION_SPEC→1.89.0(in-sandbox installs carried the same prerelease risk)litellm_bedrock_patch.py/litellm_bedrock_preflight.py: version refs in comments →1.89.0docs/agent-quickstart.md: drop the now-unneeded--prerelease allowworkarounduv.lock: relocked tolitellm 1.89.0Validation (against litellm 1.89.0)
uv pip compile pyproject.tomlwith no--prereleaseflag →litellm==1.89.0, exit 0 ✅ (the core fix)AnthropicConfig._is_adaptive_thinking_model,AmazonConverseConfig._handle_reasoning_effort_parameter,model_cost); patch applies in-proxy ✅/health/liveliness → 200) with benchflow's generated config + callback + bedrock patch ✅Release
Tag
v0.6.1on the merge commit to publish to PyPI viapublic-release.yml. This becomes the versionuv tool install benchflowresolves by default.