Initial commit: OpenRouter Python SDK

Auto-generated Python SDK for OpenRouter API, providing comprehensive client library with:
- Chat completions and streaming support
- Embeddings API
- Model and provider information
- API key management
- Analytics and usage tracking
- OAuth authentication flows
- Full type hints and error handling
This commit is contained in:
Matt Apperson
2025-11-13 10:56:25 -05:00
commit 5fc522c72f
721 changed files with 45654 additions and 0 deletions
+1096
View File
File diff suppressed because it is too large Load Diff
+77
View File
@@ -0,0 +1,77 @@
configVersion: 2.0.0
generation:
devContainers:
enabled: true
schemaPath: .speakeasy/out.openapi.yaml
sdkClassName: OpenRouter
maintainOpenAPIOrder: true
usageSnippets:
optionalPropertyRendering: withExample
sdkInitStyle: constructor
useClassNamesForArrayFields: true
fixes:
nameResolutionDec2023: true
nameResolutionFeb2025: true
parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true
securityFeb2025: true
sharedErrorComponentsApr2025: true
auth:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: true
hoistGlobalSecurity: true
inferSSEOverload: true
sdkHooksConfigAccess: true
schemas:
allOfMergeStrategy: shallowMerge
requestBodyFieldName: body
tests:
generateTests: false
generateNewTests: true
skipResponseBodyAssertions: false
python:
version: 0.0.1
additionalDependencies:
dev: {}
main: {}
allowedRedefinedBuiltins:
- id
- object
- input
asyncMode: both
authors:
- Speakeasy
baseErrorName: OpenRouterError
clientServerStatusCodesAsErrors: true
defaultErrorName: OpenRouterDefaultError
description: Python Client SDK Generated by Speakeasy.
enableCustomCodeRegions: false
enumFormat: union
envVarPrefix: OPENROUTER
fixFlags:
asyncPaginationSep2025: true
responseRequiredSep2024: true
flattenGlobalSecurity: true
flattenRequests: true
flatteningOrder: parameters-first
imports:
option: openapi
paths:
callbacks: ""
errors: errors
operations: ""
shared: ""
webhooks: ""
inputModelSuffix: input
legacyPyright: false
maxMethodParams: 999
methodArguments: infer-optional-args
moduleName: ""
outputModelSuffix: output
packageManager: uv
packageName: openrouter
pytestFilterWarnings: []
pytestTimeout: 0
responseFormat: flat
sseFlatResponse: false
templateVersion: v2
File diff suppressed because it is too large Load Diff
+34
View File
@@ -0,0 +1,34 @@
speakeasyVersion: 1.656.2
sources:
-OAS:
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:08647b466c00989914e3a2436175152270f771f0a57d055f5bab14cc2d4be89e
sourceBlobDigest: sha256:53027ec57392d9617cc001ece83c2fe1aa6e5dbfd52d170381c34c33c6042c23
tags:
- latest
targets:
open-router:
source: -OAS
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:08647b466c00989914e3a2436175152270f771f0a57d055f5bab14cc2d4be89e
sourceBlobDigest: sha256:53027ec57392d9617cc001ece83c2fe1aa6e5dbfd52d170381c34c33c6042c23
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
sources:
-OAS:
inputs:
- location: registry.speakeasyapi.dev/openrouter/sdk/open-router-chat-completions-api:main
output: .speakeasy/out.openapi.yaml
registry:
location: registry.speakeasyapi.dev/openrouter/sdk/-oas
targets:
open-router:
target: python
source: -OAS
codeSamples:
registry:
location: registry.speakeasyapi.dev/openrouter/sdk/-oas-python-code-samples
labelOverride:
fixedValue: Python (SDK)
blocking: false
+19
View File
@@ -0,0 +1,19 @@
workflowVersion: 1.0.0
speakeasyVersion: latest
sources:
-OAS:
inputs:
- location: registry.speakeasyapi.dev/openrouter/sdk/open-router-chat-completions-api:main
output: .speakeasy/out.openapi.yaml
registry:
location: registry.speakeasyapi.dev/openrouter/sdk/-oas
targets:
open-router:
target: python
source: -OAS
codeSamples:
registry:
location: registry.speakeasyapi.dev/openrouter/sdk/-oas-python-code-samples
labelOverride:
fixedValue: Python (SDK)
blocking: false