build(deps): google-genai >=2.16.0 + regenerated CI lock (supersedes #407) - #429
Open
WalksWithASwagger wants to merge 1 commit into
Open
build(deps): google-genai >=2.16.0 + regenerated CI lock (supersedes #407)#429WalksWithASwagger wants to merge 1 commit into
WalksWithASwagger wants to merge 1 commit into
Conversation
Raise the google-genai floor from >=1.0.0 to >=2.16.0 and regenerate the hashed Python 3.11 CI lock so the "Check Python CI lock" regeneration-diff gate passes. Supersedes Dependabot #407, which bumped only requirements.txt and left requirements-ci.txt pinning google-genai==2.12.1 (< 2.16.0), failing CI. Lock delta is limited to the target plus its transitive dep: google-genai 2.12.1 -> 2.16.0 google-auth 2.55.2 -> 2.56.2 The provider (lib/providers/gemini.py) needs no code changes: the codebase already ran on google-genai 2.x (the prior lock resolved >=1.0.0 to 2.12.1), and 2.16.0 preserves the full API surface it uses (genai.Client, types.ImageConfig{aspect_ratio,image_size}, types.GenerateContentConfig {response_modalities,image_config}, models.generate_content, response.parts, Part.inline_data, Part.as_image) — verified by introspection. Refs #421 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017F63bPvWRFR4iVEm83Pzoj
5 tasks
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.
Summary
Migrates
google-genaito>=2.16.0and regenerates the hashed Python 3.11 CI lock so thetestgate passes. Closes out the tracking work in #421.Supersedes #407 (Dependabot
google-genai >=1.0.0 → >=2.16.0), which currently FAILS CI. #407 bumped onlyrequirements.txtand leftrequirements-ci.txtpinninggoogle-genai==2.12.1(< 2.16.0), so thetestjob's "Check Python CI lock" step (npm run lock:python-ci+git diff --exit-code) fails on the stale lock. Please close #407 in favor of this PR — I have not touched it.What changed
requirements.txt:google-genai>=1.0.0→google-genai>=2.16.0requirements-ci.txt: regenerated with the repo's exact toolchain (pip-compile7.6.0 under Python 3.11.10, same--pip-argstargetingmanylinux_2_17_x86_64 / cp311). Lock delta is limited to the target plus one transitive dep:google-genai2.12.1 → 2.16.0google-auth2.55.2 → 2.56.2The pip-compile header is byte-identical to the previous lock (same recorded command), so CI's own
npm run lock:python-ciregeneration reproduces this file and thegit diff --exit-codegate passes.No provider code changes required
lib/providers/gemini.pyneeds no edits. The codebase was already running on google-genai 2.x — the prior>=1.0.0floor resolved to2.12.1in the lock, and main's CI has been green on it. 2.16.0 is a minor bump within the same major and its changelog is purely additive (environment resource, GoogleMaps grounding, audio transcription, Imagen deprecation warnings — none used here).I verified by introspection that every API the provider uses still exists and constructs under 2.16.0:
genai.Client(api_key=...),types.ImageConfig{aspect_ratio, image_size},types.GenerateContentConfig{response_modalities, image_config},models.generate_content(...),response.parts,Part.inline_data,Part.as_image().Verification performed (offline)
google-genai==2.16.0andgoogle-auth==2.56.2wheels + hashes are valid for themanylinux_2_17_x86_64 / cp311CI target.pytest tests/test_providers.pyunder Python 3.11 with 2.16.0 installed: 10 passed (incl. theimportorskip("google.genai")no-API-key path).Green CI is necessary but NOT sufficient here. The offline
testsuite mocks the provider and only exercisesgoogle.genai's importability plus the no-API-key early-return; it never callsgenerate_content,response.parts, orPart.as_image(). This is the highest-blast-radius dependency in the repo. A maintainer must run one real image-generation dry-run against Gemini with a liveGOOGLE_API_KEYbefore merging. I did not call the live provider, generate any image, or spend money.Do not enable auto-merge. Review-ready only.
Refs #421