Skip to content

feat: add Requesty as a first-class OpenAI-compatible provider#242

Open
Thibaultjaigu wants to merge 1 commit into
siddsachar:mainfrom
Thibaultjaigu:add-requesty-provider
Open

feat: add Requesty as a first-class OpenAI-compatible provider#242
Thibaultjaigu wants to merge 1 commit into
siddsachar:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

Copy link
Copy Markdown

What

Adds Requesty as a first-class, OpenAI-compatible LLM provider, mirroring the existing OpenRouter / Atlas Cloud wiring.

Requesty (https://requesty.ai) is an OpenAI-compatible LLM gateway. It uses the same provider/model naming as OpenRouter (e.g. openai/gpt-4o-mini) and exposes an OpenAI-shaped API at https://router.requesty.ai/v1.

Changes

  • providers/catalog.py — register requesty in PROVIDER_DEFINITIONS (base URL https://router.requesty.ai/v1, OPENAI_CHAT transport, third_party_router risk label), and a requesty branch in classify_model_capabilities.
  • providers/requesty.py — small helper module. Requesty's /v1/models capability fields differ from OpenRouter: it reports context_window (not context_length) and supports_tool_calling / supports_reasoning / supports_vision booleans (not a supported_parameters array), so these helpers map the real fields.
  • providers/runtime.py — add requesty to list_configured_provider_ids and a dispatch branch in create_chat_model that builds a ChatOpenAICompatible client, mirroring the Atlas Cloud branch.
  • providers/auth_store.py — map requestyREQUESTY_API_KEY.
  • models.py — base-URL constant, provider icon, and is_requesty_available().
  • README.md — add Requesty to the two existing provider lists (one factual mention each).
  • tests/test_requesty_first_class_provider.py — catalog registration, env-var mapping, runtime client construction (incl. missing-key error), and capability classification using Requesty's boolean fields.

Testing

  • pytest tests/test_requesty_first_class_provider.py tests/test_provider_catalog.py → 51 passed (6 new + existing catalog suite, no regressions).
  • Live check against the real endpoint: POST https://router.requesty.ai/v1/chat/completions with openai/gpt-4o-mini → HTTP 200 with a valid completion.

The key is read from the OS keyring via the existing get_provider_secret path, exactly like the other providers; no new env-file surface is introduced.


I work at Requesty. This mirrors the existing OpenRouter provider as closely as possible. Happy to adjust wording/placement or close it if it's not a fit.

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