Skip to content

Add Opper provider - #419

Open
Felixkw12 wants to merge 1 commit into
andrewyng:mainfrom
Felixkw12:Felixkw12/add-opper-provider
Open

Felixkw12 wants to merge 1 commit into
andrewyng:mainfrom
Felixkw12:Felixkw12/add-opper-provider

Conversation

@Felixkw12

Copy link
Copy Markdown

Add an opper provider that mirrors the existing Requesty provider and the OpenRouter provider it was based on. Opper is an OpenAI-compatible AI gateway, so the provider reuses the openai client and the shared OpenAICompliantMessageConverter.

The API key is read from OPPER_API_KEY and can be overridden via config. The base URL is https://api.opper.ai/v3/compat, which is versioned, so requests go to /v3/compat/chat/completions. Model names are passed through as is, for example opper:claude-sonnet-4-6 or opper:gpt-5.4-mini. The provider is discovered through the existing *_provider.py naming convention, so no registry change is needed.

Also adds unit tests mirroring the Requesty provider tests and lists Opper in the README provider summary.

Disclosure: I work at Opper.

Add an opper provider that mirrors the existing Requesty provider and the
OpenRouter provider it was based on. Opper is an OpenAI-compatible AI
gateway, so the provider reuses the openai client and the shared
OpenAICompliantMessageConverter.

The API key is read from OPPER_API_KEY and can be overridden via config.
The base URL is https://api.opper.ai/v3/compat, which is versioned, so
requests go to /v3/compat/chat/completions. Model names are passed through
as is, for example opper:claude-sonnet-4-6 or opper:gpt-5.4-mini. The
provider is discovered through the existing *_provider.py naming
convention, so no registry change is needed.

Also adds unit tests mirroring the Requesty provider tests and lists Opper
in the README provider summary.

Disclosure: I work at Opper.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant