chore: 🐝 Update SDK - Generate (spec change merged) 0.11.12 (#412)

Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
Co-authored-by: speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2026-07-09 10:18:20 +00:00
committed by GitHub
co-authored by speakeasybot speakeasy-github[bot] <128539517+speakeasy-github[bot]@users.noreply.github.com>
parent 8ba375943d
commit 75678a07aa
12 changed files with 102 additions and 37 deletions
+21 -17
View File
@@ -1,19 +1,19 @@
lockVersion: 2.0.0 lockVersion: 2.0.0
id: c48cf606-fb42-4a45-9c23-8f0555307828 id: c48cf606-fb42-4a45-9c23-8f0555307828
management: management:
docChecksum: afeda9d88fc53bdc999b51cbbfc38e5e docChecksum: 806da48c3f8b0f6fcd8822556deb2d52
docVersion: 1.0.0 docVersion: 1.0.0
speakeasyVersion: 1.787.0 speakeasyVersion: 1.787.0
generationVersion: 2.914.0 generationVersion: 2.914.0
releaseVersion: 0.11.11 releaseVersion: 0.11.12
configChecksum: ae2567ccf8234af257af2be5ae3dbbd1 configChecksum: 716de99521ede522990999611400003e
repoURL: https://github.com/OpenRouterTeam/python-sdk.git repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true published: true
persistentEdits: persistentEdits:
generation_id: 5b3c1f6f-8726-47a8-9cc7-06c617d38a5c generation_id: 8679aa3b-5d9e-4893-8022-baf536bf7090
pristine_commit_hash: 76b75ea93007df78d1485757c023c321759bea7b pristine_commit_hash: 65881050ceed3021f70ad4f272545c4b4a65c4b1
pristine_tree_hash: 8654a70e996630eaf827850b4aec1216cb1fe692 pristine_tree_hash: 81dbfc8598b20a107de700cfb2a93473c41dde40
features: features:
python: python:
acceptHeaders: 3.0.0 acceptHeaders: 3.0.0
@@ -3818,8 +3818,8 @@ trackedFiles:
pristine_git_object: 750d3a21ada3133dba71217f0444c2064b2ff081 pristine_git_object: 750d3a21ada3133dba71217f0444c2064b2ff081
docs/components/providerresponse.mdx: docs/components/providerresponse.mdx:
id: 36e1a24f90b6 id: 36e1a24f90b6
last_write_checksum: sha1:8cc7665df40a74a5df41e654e7824b6cdd8a2155 last_write_checksum: sha1:512adc6bd7e7854ce01d5e5c46ce76b26a1b1174
pristine_git_object: 65abb901a8ffeeafa89279f5e15d885cbaa297ec pristine_git_object: dd376f0952fa0517dd83b06ed7afc2c856123dbc
docs/components/providerresponseprovidername.mdx: docs/components/providerresponseprovidername.mdx:
id: 2fc17b61e546 id: 2fc17b61e546
last_write_checksum: sha1:3c9ef87051135f7aa37e89b7b952aed3b8e2c13a last_write_checksum: sha1:3c9ef87051135f7aa37e89b7b952aed3b8e2c13a
@@ -4124,6 +4124,10 @@ trackedFiles:
id: 5eefe41f1850 id: 5eefe41f1850
last_write_checksum: sha1:06ac8357212098a2e461592ff4cd29ef9e7e1fe1 last_write_checksum: sha1:06ac8357212098a2e461592ff4cd29ef9e7e1fe1
pristine_git_object: a9e4e2a7461ba24eedfd00740bf4522607e64a04 pristine_git_object: a9e4e2a7461ba24eedfd00740bf4522607e64a04
docs/components/routedservicetier.mdx:
id: 1ecc7cdd925e
last_write_checksum: sha1:538e8fc60dab1d88f2b735682161cc8ab6101d5d
pristine_git_object: 0c826312b0c506004b51e7dbcaceb82639046687
docs/components/routerattempt.mdx: docs/components/routerattempt.mdx:
id: 372598a145ed id: 372598a145ed
last_write_checksum: sha1:51d8aee604f0093ea6df2df0fd73f02241190f70 last_write_checksum: sha1:51d8aee604f0093ea6df2df0fd73f02241190f70
@@ -6454,8 +6458,8 @@ trackedFiles:
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml: pyproject.toml:
id: 5d07e7d72637 id: 5d07e7d72637
last_write_checksum: sha1:8ddea0ed1450ec8900293e8184a4637d2c0b10ad last_write_checksum: sha1:ac2002f15d1247065c7cb46d7eefa45718cff498
pristine_git_object: b33321664705f741a9e137daa2bbcaee1c59769a pristine_git_object: e6ead548984f180e102da37f58096846d8587c7e
scripts/prepare_readme.py: scripts/prepare_readme.py:
id: e0c5957a6035 id: e0c5957a6035
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
@@ -6482,8 +6486,8 @@ trackedFiles:
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
src/openrouter/_version.py: src/openrouter/_version.py:
id: d8d15ad6c586 id: d8d15ad6c586
last_write_checksum: sha1:542e8a57c7755042b8d06156a68deaed693b26f3 last_write_checksum: sha1:48782d3a645f92804e627ef77ff3a65b355a5e74
pristine_git_object: ee676105646212488a6db0f5b340ff23483c94f6 pristine_git_object: 9208d774c192a728cd2db520bd8ca629d9b2e37c
src/openrouter/analytics.py: src/openrouter/analytics.py:
id: cb406b5aaabb id: cb406b5aaabb
last_write_checksum: sha1:9e709b71dd0611056dc0cec6150b578defe32841 last_write_checksum: sha1:9e709b71dd0611056dc0cec6150b578defe32841
@@ -6522,8 +6526,8 @@ trackedFiles:
pristine_git_object: ad3d247954547814054c01989a2dff3d12b3e4e1 pristine_git_object: ad3d247954547814054c01989a2dff3d12b3e4e1
src/openrouter/components/__init__.py: src/openrouter/components/__init__.py:
id: 81754e97b3f4 id: 81754e97b3f4
last_write_checksum: sha1:0896a3e5a8c1132e269dde09952c109915b76957 last_write_checksum: sha1:fa3d53883e45a8fb738127b91ca4f16c9ff29c9d
pristine_git_object: 3969a96e0f587fa91f77e55376f5743ab1c99af7 pristine_git_object: b5563aa875171f1bc0051960b459f8ee37314405
src/openrouter/components/aabenchmarkentry.py: src/openrouter/components/aabenchmarkentry.py:
id: e2e0f0b48c82 id: e2e0f0b48c82
last_write_checksum: sha1:fab4d9a24d2cea937bb749d46c5f83941e99d65c last_write_checksum: sha1:fab4d9a24d2cea937bb749d46c5f83941e99d65c
@@ -8122,8 +8126,8 @@ trackedFiles:
pristine_git_object: abbb3cb3d7d8946aabdbd5e6b07b2e45954f6948 pristine_git_object: abbb3cb3d7d8946aabdbd5e6b07b2e45954f6948
src/openrouter/components/providerresponse.py: src/openrouter/components/providerresponse.py:
id: ad3887be54c5 id: ad3887be54c5
last_write_checksum: sha1:98ca4edc575c9c99ba342a4a490268308a0ac4e8 last_write_checksum: sha1:2db05f9a797fe78377f5f7ff426f51a47a998be8
pristine_git_object: 757907b8bdc224a0b94835fcec085a9f85172d45 pristine_git_object: ccc9f82da58ced9e49b6f14f0f73075efcb84307
src/openrouter/components/providersort.py: src/openrouter/components/providersort.py:
id: 348e382bf494 id: 348e382bf494
last_write_checksum: sha1:57551507f95cd2e16ef995e1c13f859fd0726152 last_write_checksum: sha1:57551507f95cd2e16ef995e1c13f859fd0726152
@@ -10778,4 +10782,4 @@ examples:
examplesVersion: 1.0.2 examplesVersion: 1.0.2
releaseNotes: | releaseNotes: |
## Python SDK Changes: ## Python SDK Changes:
* `open_router.images.generate()`: `response.[].data.union(image_generation.text_chunk)` **Added** * `open_router.generations.get_generation()`: `response.data.provider_responses[].routed_service_tier` **Added**
+1 -1
View File
@@ -36,7 +36,7 @@ generation:
documentation: mintlify documentation: mintlify
preApplyUnionDiscriminators: true preApplyUnionDiscriminators: true
python: python:
version: 0.11.11 version: 0.11.12
additionalDependencies: additionalDependencies:
dev: {} dev: {}
main: {} main: {}
+9
View File
@@ -18824,6 +18824,15 @@ components:
example: OpenAI example: OpenAI
type: string type: string
x-speakeasy-unknown-values: allow x-speakeasy-unknown-values: allow
routed_service_tier:
description: >-
The service tier this request was routed to (e.g. flex, priority). The tier actually applied and billed is determined by the provider response and may differ.
enum:
- flex
- priority
example: priority
type: string
x-speakeasy-unknown-values: allow
status: status:
description: HTTP status code from the provider description: HTTP status code from the provider
example: 200 example: 200
+5 -5
View File
@@ -2,8 +2,8 @@ speakeasyVersion: 1.787.0
sources: sources:
OpenRouter API: OpenRouter API:
sourceNamespace: open-router-chat-completions-api sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:87e4c596d105bb13f76c310ec8d8d44d3ffb0350b4c451569fabb11aeeb5bbbd sourceRevisionDigest: sha256:3c5226489661662950b09fb9ca17bb6ab30677c06d598e45101a4b5e57f4defb
sourceBlobDigest: sha256:a371855a3645703bef21de566fde2c87342bb0a654e529c38f4344b8ad5e705b sourceBlobDigest: sha256:dbe7c54c8149d63bb85a11bc4a9d5c4f7b6871426b32289bf314847ed57e4203
tags: tags:
- latest - latest
- 1.0.0 - 1.0.0
@@ -11,10 +11,10 @@ targets:
open-router: open-router:
source: OpenRouter API source: OpenRouter API
sourceNamespace: open-router-chat-completions-api sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:87e4c596d105bb13f76c310ec8d8d44d3ffb0350b4c451569fabb11aeeb5bbbd sourceRevisionDigest: sha256:3c5226489661662950b09fb9ca17bb6ab30677c06d598e45101a4b5e57f4defb
sourceBlobDigest: sha256:a371855a3645703bef21de566fde2c87342bb0a654e529c38f4344b8ad5e705b sourceBlobDigest: sha256:dbe7c54c8149d63bb85a11bc4a9d5c4f7b6871426b32289bf314847ed57e4203
codeSamplesNamespace: open-router-python-code-samples codeSamplesNamespace: open-router-python-code-samples
codeSamplesRevisionDigest: sha256:1600c45d7815b8e0a480752fa1fa1f7cb9919e492d2fd2e0162d83e4ad69cfae codeSamplesRevisionDigest: sha256:51a9185a00a3d2d584952cd0e0351cd69907763d9174fe6e1ce4ab45f608cf8c
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: 1.787.0 speakeasyVersion: 1.787.0
+10
View File
@@ -219,3 +219,13 @@ Based on:
- [python v0.11.11] . - [python v0.11.11] .
### Releases ### Releases
- [PyPI v0.11.11] https://pypi.org/project/openrouter/0.11.11 - . - [PyPI v0.11.11] https://pypi.org/project/openrouter/0.11.11 - .
## 2026-07-09 10:13:53
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.11.12] .
### Releases
- [PyPI v0.11.12] https://pypi.org/project/openrouter/0.11.12 - .
+10 -9
View File
@@ -7,12 +7,13 @@ Details of a provider response for a generation attempt
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `endpoint_id` | *Optional[str]* | :heavy_minus_sign: | Internal endpoint identifier | ep_abc123 | | `endpoint_id` | *Optional[str]* | :heavy_minus_sign: | Internal endpoint identifier | ep_abc123 |
| `id` | *Optional[str]* | :heavy_minus_sign: | Upstream provider response identifier | chatcmpl-abc123 | | `id` | *Optional[str]* | :heavy_minus_sign: | Upstream provider response identifier | chatcmpl-abc123 |
| `is_byok` | *Optional[bool]* | :heavy_minus_sign: | Whether the request used a bring-your-own-key | false | | `is_byok` | *Optional[bool]* | :heavy_minus_sign: | Whether the request used a bring-your-own-key | false |
| `latency` | *Optional[float]* | :heavy_minus_sign: | Response latency in milliseconds | 1200 | | `latency` | *Optional[float]* | :heavy_minus_sign: | Response latency in milliseconds | 1200 |
| `model_permaslug` | *Optional[str]* | :heavy_minus_sign: | Canonical model slug | openai/gpt-4 | | `model_permaslug` | *Optional[str]* | :heavy_minus_sign: | Canonical model slug | openai/gpt-4 |
| `provider_name` | [Optional[components.ProviderResponseProviderName]](../components/providerresponseprovidername.mdx) | :heavy_minus_sign: | Name of the provider | OpenAI | | `provider_name` | [Optional[components.ProviderResponseProviderName]](../components/providerresponseprovidername.mdx) | :heavy_minus_sign: | Name of the provider | OpenAI |
| `status` | *Nullable[int]* | :heavy_check_mark: | HTTP status code from the provider | 200 | | `routed_service_tier` | [Optional[components.RoutedServiceTier]](../components/routedservicetier.mdx) | :heavy_minus_sign: | The service tier this request was routed to (e.g. flex, priority). The tier actually applied and billed is determined by the provider response and may differ. | priority |
| `status` | *Nullable[int]* | :heavy_check_mark: | HTTP status code from the provider | 200 |
+22
View File
@@ -0,0 +1,22 @@
---
title: "RoutedServiceTier"
---
The service tier this request was routed to (e.g. flex, priority). The tier actually applied and billed is determined by the provider response and may differ.
## Example Usage
```python
from openrouter.components import RoutedServiceTier
# Open enum: unrecognized values are captured as UnrecognizedStr
value: RoutedServiceTier = "flex"
```
## Values
This is an open enum. Unrecognized values will not fail type checks.
- `"flex"`
- `"priority"`
+1 -1
View File
@@ -1,6 +1,6 @@
[project] [project]
name = "openrouter" name = "openrouter"
version = "0.11.11" version = "0.11.12"
description = "Official Python Client SDK for OpenRouter." description = "Official Python Client SDK for OpenRouter."
authors = [{ name = "OpenRouter" },] authors = [{ name = "OpenRouter" },]
readme = "README-PYPI.md" readme = "README-PYPI.md"
+2 -2
View File
@@ -3,10 +3,10 @@
import importlib.metadata import importlib.metadata
__title__: str = "openrouter" __title__: str = "openrouter"
__version__: str = "0.11.11" __version__: str = "0.11.12"
__openapi_doc_version__: str = "1.0.0" __openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.914.0" __gen_version__: str = "2.914.0"
__user_agent__: str = "speakeasy-sdk/python 0.11.11 2.914.0 1.0.0 openrouter" __user_agent__: str = "speakeasy-sdk/python 0.11.12 2.914.0 1.0.0 openrouter"
try: try:
if __package__ is not None: if __package__ is not None:
+3
View File
@@ -2165,6 +2165,7 @@ if TYPE_CHECKING:
ProviderResponse, ProviderResponse,
ProviderResponseProviderName, ProviderResponseProviderName,
ProviderResponseTypedDict, ProviderResponseTypedDict,
RoutedServiceTier,
) )
from .providersort import ProviderSort from .providersort import ProviderSort
from .providersortconfig import ( from .providersortconfig import (
@@ -4335,6 +4336,7 @@ __all__ = [
"ResponsesRequestTypedDict", "ResponsesRequestTypedDict",
"ResponsesStreamingResponse", "ResponsesStreamingResponse",
"ResponsesStreamingResponseTypedDict", "ResponsesStreamingResponseTypedDict",
"RoutedServiceTier",
"RouterAttempt", "RouterAttempt",
"RouterAttemptTypedDict", "RouterAttemptTypedDict",
"RouterParams", "RouterParams",
@@ -6352,6 +6354,7 @@ _dynamic_imports: dict[str, str] = {
"ProviderResponse": ".providerresponse", "ProviderResponse": ".providerresponse",
"ProviderResponseProviderName": ".providerresponse", "ProviderResponseProviderName": ".providerresponse",
"ProviderResponseTypedDict": ".providerresponse", "ProviderResponseTypedDict": ".providerresponse",
"RoutedServiceTier": ".providerresponse",
"ProviderSort": ".providersort", "ProviderSort": ".providersort",
"By": ".providersortconfig", "By": ".providersortconfig",
"Partition": ".providersortconfig", "Partition": ".providersortconfig",
@@ -135,6 +135,16 @@ ProviderResponseProviderName = Union[
r"""Name of the provider""" r"""Name of the provider"""
RoutedServiceTier = Union[
Literal[
"flex",
"priority",
],
UnrecognizedStr,
]
r"""The service tier this request was routed to (e.g. flex, priority). The tier actually applied and billed is determined by the provider response and may differ."""
class ProviderResponseTypedDict(TypedDict): class ProviderResponseTypedDict(TypedDict):
r"""Details of a provider response for a generation attempt""" r"""Details of a provider response for a generation attempt"""
@@ -152,6 +162,8 @@ class ProviderResponseTypedDict(TypedDict):
r"""Canonical model slug""" r"""Canonical model slug"""
provider_name: NotRequired[ProviderResponseProviderName] provider_name: NotRequired[ProviderResponseProviderName]
r"""Name of the provider""" r"""Name of the provider"""
routed_service_tier: NotRequired[RoutedServiceTier]
r"""The service tier this request was routed to (e.g. flex, priority). The tier actually applied and billed is determined by the provider response and may differ."""
class ProviderResponse(BaseModel): class ProviderResponse(BaseModel):
@@ -178,6 +190,9 @@ class ProviderResponse(BaseModel):
provider_name: Optional[ProviderResponseProviderName] = None provider_name: Optional[ProviderResponseProviderName] = None
r"""Name of the provider""" r"""Name of the provider"""
routed_service_tier: Optional[RoutedServiceTier] = None
r"""The service tier this request was routed to (e.g. flex, priority). The tier actually applied and billed is determined by the provider response and may differ."""
@model_serializer(mode="wrap") @model_serializer(mode="wrap")
def serialize_model(self, handler): def serialize_model(self, handler):
optional_fields = set( optional_fields = set(
@@ -188,6 +203,7 @@ class ProviderResponse(BaseModel):
"latency", "latency",
"model_permaslug", "model_permaslug",
"provider_name", "provider_name",
"routed_service_tier",
] ]
) )
nullable_fields = set(["status"]) nullable_fields = set(["status"])
Generated
+1 -1
View File
@@ -213,7 +213,7 @@ wheels = [
[[package]] [[package]]
name = "openrouter" name = "openrouter"
version = "0.11.11" version = "0.11.12"
source = { editable = "." } source = { editable = "." }
dependencies = [ dependencies = [
{ name = "httpcore" }, { name = "httpcore" },