Repository navigation
feat(python-sdk)!: install the vendor LLM SDKs only through their extras - #412
Draft
czi-fsisenda wants to merge 1 commit into
Draft
czi-fsisenda wants to merge 1 commit into
czi-fsisenda wants to merge 1 commit into
Conversation
`pip install learning-commons-evaluators` no longer installs openai, anthropic or google-genai. Each comes from its extra (`[openai]`, `[anthropic]`, `[google]`, or `[all]` for every one), so a caller who injects their own `llm_provider` gets none of them or their version pins, and one using a single provider gets only that provider's SDK. The CI job for an install without vendor SDKs now runs the plain install instead of uninstalling them afterwards. BREAKING CHANGE: an install without extras no longer includes any vendor SDK. Constructing an evaluator that uses a built-in adapter then raises a ConfigurationError naming the extra to add. Install with `learning-commons-evaluators[all]` to keep the 1.x set, or with the extras for the providers you use. No code API changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
Why
This is step 2 of the plan on DSCR-2648: the 2.0, held to ship with the next batch of breaking changes rather than in a major of its own.
pip install learning-commons-evaluatorsstops installing the vendor SDKs, so a caller who injects their ownllm_providergets none of them or their pins, and everyone else installs only the providers they use.Draft: held until we decide to cut the major. Stacked on #410 (the extras), which makes this small: anyone who follows its install lines sees no change here.
Changes
feat(python-sdk)!, with aBREAKING CHANGEfooter, so release-please cuts 2.0.0:openai,anthropicandgoogle-genaimove out ofdependenciesand live only in their extras. The comments explaining their bounds move with them.Release notes
Only the install step changes. Use
learning-commons-evaluators[all]to keep the 1.x set, or the extras for the providers you use. No code API changes. An install that's missing an SDK gets aConfigurationErrorat construction naming the extra to add.Testing
make verifypasses.pip install .has no vendor SDK installed, and the no-vendor test passes there. Adding.[google]installs onlygoogle-genai.🤖 Generated with Claude Code