Skip to content

fix(deps): pin stable litellm 1.89.0 so uv tool install benchflow works by default#759

Merged
xdotli merged 1 commit into
mainfrom
fix/litellm-189-stable-pin
Jun 14, 2026
Merged

fix(deps): pin stable litellm 1.89.0 so uv tool install benchflow works by default#759
xdotli merged 1 commit into
mainfrom
fix/litellm-189-stable-pin

Conversation

@xdotli

@xdotli xdotli commented Jun 14, 2026

Copy link
Copy Markdown
Member

Problem

benchflow 0.6.0 is a final release, but it depends on a prerelease: litellm[proxy]==1.88.0rc1. uv refuses transitive prereleases by default, so uv tool install benchflow / uv pip install benchflow silently backtrack to 0.4.0 (the newest release with no prerelease dependency) instead of erroring — users get an ancient CLI with no litellm and a missing --version. (pip happened to honor the explicit ==…rc1 pin, 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.0 after that rc, so repin to it:

  • pyproject.toml: litellm[proxy]==1.88.0rc1==1.89.0; version 0.6.00.6.1
  • litellm_runtime.py: LITELLM_VERSION_SPEC1.89.0 (in-sandbox installs carried the same prerelease risk)
  • litellm_bedrock_patch.py / litellm_bedrock_preflight.py: version refs in comments → 1.89.0
  • docs/agent-quickstart.md: drop the now-unneeded --prerelease allow workaround
  • uv.lock: relocked to litellm 1.89.0

Validation (against litellm 1.89.0)

  • uv pip compile pyproject.toml with no --prerelease flaglitellm==1.89.0, exit 0 ✅ (the core fix)
  • Bedrock monkeypatch targets intact (AnthropicConfig._is_adaptive_thinking_model, AmazonConverseConfig._handle_reasoning_effort_parameter, model_cost); patch applies in-proxy ✅
  • 140 unit tests pass (bedrock/config/logging/smoke/hardening/runtime), 5 live-gated skips ✅
  • Real litellm 1.89.0 proxy boots healthy (/health/liveliness → 200) with benchflow's generated config + callback + bedrock patch ✅

Release

Tag v0.6.1 on the merge commit to publish to PyPI via public-release.yml. This becomes the version uv tool install benchflow resolves by default.

…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.
@mintlify

mintlify Bot commented Jun 14, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
benchflow-bff148e7 🟢 Ready View Preview Jun 14, 2026, 7:19 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread docs/agent-quickstart.md
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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@xdotli xdotli merged commit 80d3bc1 into main Jun 14, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant