Conversation
New in2lambda.llm package behind a Poetry `llm` extra (pip install 'in2lambda[llm]' -> openai, python-dotenv, pydantic): - client.get_client() returns an openai.OpenAI pointed at https://openrouter.ai/api/v1, keyed by $OPENROUTER_API_KEY (loaded from a .env file if present). Raises a clear RuntimeError when the extra is missing or the key is unset. - client.resolve_model() picks the model slug: --model value, else $IN2LAMBDA_MODEL, else DEFAULT_MODEL (openai/gpt-4o-mini). The package imports cleanly without the extra (openai/dotenv guarded), so --doctest-modules still works on a bare install. CI now installs --all-extras so the llm code is covered. Tests are fully offline. openai floor is ^1.55 - older releases resolve against a too-new httpx and break with a `proxies` TypeError. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017VXb8aZqgFBjoeuuddjW6r
|
One real bug here, in
Minimal reproduction, with a library in one folder and a project in another:
This matters because the wizard docs in the next PR tell people a Suggestions: load the Smaller points: |
New
in2lambda.llmpackage behind a Poetryllmextra (pip install 'in2lambda[llm]'→openai,python-dotenv,pydantic):client.get_client()returns anopenai.OpenAIpointed athttps://openrouter.ai/api/v1, keyed by$OPENROUTER_API_KEY(loaded from a.envfile if present). ClearRuntimeErrorwhen the extra is missing or the key is unset.client.resolve_model()picks the model slug:--modelvalue, else$IN2LAMBDA_MODEL, elseDEFAULT_MODEL(openai/gpt-4o-mini).The package imports cleanly without the extra (openai/dotenv guarded), so
--doctest-modulesstill works on a bare install. CI now installs--all-extras. Tests are fully offline.openaifloor is^1.55— older releases resolve against a too-new httpx and break with aproxiesTypeError.Stack: cli-group ← llm-client ← mathpix ← wizard-command
Base:
cli-group— #24.🤖 Generated with Claude Code