Skip to content

Move litellm to an optional extra #29

Description

@aniketwattamwar

Problem

runtime/python/pyproject.toml has litellm>=1.0.0,<1.50.0 as a hard dependency, pulled in solely for the llm_judge grader. Every user installs a heavy transitive tree whether or not they ever use a judge, and our version pin becomes theirs.

It is also why test_llm_judge_fails_without_api_key and test_llm_judge_uses_configured_model fail on a clean checkout without it.

Proposal

[project.optional-dependencies]
judge = ["litellm>=1.0.0,<1.50.0"]

graders.py already handles the import being absent and returns a clear "install with pip install litellm" message — so the fallback path exists and is tested.

Acceptance criteria

  • litellm moved to a judge extra
  • ecp run without it gives an actionable error only when a manifest uses llm_judge
  • Tests skip cleanly rather than fail when absent
  • Install docs updated across README, docs, and both package READMEs

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions