chore: update all dependencies and correct stale provider floors - #24
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
uv lock --upgradeacross the board, plus two dependency floors that turned out to be wrong.Five major-version bumps, two of which touch code directly, so I verified those rather than trusting the test suite alone.
rich 14.3.3 → 15.0.0 drives the whole dashboard. Rendered it with all four stop criteria enabled and confirmed the output is intact. Note that rich 15 drops
rich.__version__; the codebase never used it, only my probe did.google-genai 1.69.0 → 2.14.0 is a major bump under the Gemini provider. Checked every symbol it touches:
genai.Client(api_key=),types.Part.from_bytes, and thetemperature,thinking_config,response_mime_typeandresponse_schemafields ofGenerateContentConfig, plusThinkingConfig.thinking_budget. All present.Also checked the other two providers, since anthropic 0.86 → 0.120 and openai 2.30 → 2.49 are large jumps: every keyword argument the code passes to
messages.createandchat.completions.createstill exists.The remaining majors are
cryptography46→49,setuptools81→83 andpyrefly0.58→1.1, none of which the package imports.472 tests pass with zero skips. That matters here: torch and transformers were not installed locally before, so the 13 vision tests had been skipping. Installing the vision extra exercises torch 2.11 → 2.13 and transformers 5.4 → 5.14 against the real scorer. I also ran an end-to-end offline search for all three formats (svg 0.0039, graphviz 0.1394, typst 0.0938) and both analysis scripts under matplotlib 3.11.
The two floor corrections are bug fixes, not a narrowing of support.
anthropic>=0.21.0andopenai>=1.0.0cannot run this code at all. Verified by installing those exact versions: neither supports the parameter the--reasoningfeature passes.So the floors move to
anthropic>=0.47.0andopenai>=1.60.0, which is where those parameters actually appear. Bisected rather than guessed. Left every other floor alone, since the code runs on both sides of each.Two things worth knowing, neither caused by this PR and neither gating:
pyreflygoes from 21 errors to 23. It is not in CI and was already unclean, so this is not a regression, but the two new findings do come from the upgraded SDK stubs:chat.completions.createandmessages.createare now typed as returning a union withStream, and pyrefly narrows to the streaming branch. Neither call passesstream=True, so both are false positives at runtime. Happy to silence them separately.While probing the old floors I found that
anthropic==0.21.0andopenai==1.0.0also cannot construct a client against a modern httpx at all, since it removed theproxiesargument they pass. Independent of the parameter problem, and further reason those floors were stale.