Skip to content

Commit cb6b502

Browse files
committed
## Python SDK Changes:
* `open_router.endpoints.list_zdr_endpoints()`: `response.data[].perf_last_30m_by_workload` **Added** * `open_router.endpoints.list()`: `response.data.endpoints[].perf_last_30m_by_workload` **Added**
1 parent d3dcf1d commit cb6b502

20 files changed

Lines changed: 747 additions & 50 deletions

‎.speakeasy/gen.lock‎

Lines changed: 56 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
lockVersion: 2.0.0
22
id: c48cf606-fb42-4a45-9c23-8f0555307828
33
management:
4-
docChecksum: c1f2d60eed7113249b0f829e5fc2bd03
4+
docChecksum: af6a87267db41808daddec25eed1036b
55
docVersion: 1.0.0
66
speakeasyVersion: 1.787.0
77
generationVersion: 2.914.0
8-
releaseVersion: 1.1.107
9-
configChecksum: 232fc9d45fd4cf93406edb1411316d1e
8+
releaseVersion: 1.1.108
9+
configChecksum: c5291e06c972b15bcc783797e47ed3a7
1010
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
1111
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
1212
published: true
1313
persistentEdits:
14-
generation_id: 1ae76d6d-7232-43d8-94c4-17052a779dda
15-
pristine_commit_hash: a707e3bc34d7fc33344ed915721b63a49e5d28aa
16-
pristine_tree_hash: 5226c982e2bacb889a0e9ddfa8aabca4d2f1776a
14+
generation_id: 31fb5f49-d381-49b5-8704-0a6840f1157c
15+
pristine_commit_hash: 2b2af55dbc4e0f4d4f1f32b0945ad20ce32065da
16+
pristine_tree_hash: 3650cac6dece255627852dfda822d5c4629cde3c
1717
features:
1818
python:
1919
acceptHeaders: 3.0.0
@@ -1848,6 +1848,10 @@ trackedFiles:
18481848
id: eb40c458515d
18491849
last_write_checksum: sha1:b85ea056036bbdbbcd4e0adea9dcd9a7dc695c51
18501850
pristine_git_object: b876816efb61e12af7f25bf72f0447adbfbd810c
1851+
docs/components/embeddings.mdx:
1852+
id: 71ed622a2f4d
1853+
last_write_checksum: sha1:df72f6151943cfe8e1299569ab30fbbd3067b468
1854+
pristine_git_object: dafa20864dfb01d8b9e3db798aa1dab473331c34
18511855
docs/components/endpointinfo.mdx:
18521856
id: 6dcdfc7379a9
18531857
last_write_checksum: sha1:2c5fc2144a44e919bda2929fd9dbb10f64641ced
@@ -2336,6 +2340,10 @@ trackedFiles:
23362340
id: dd9998bc9093
23372341
last_write_checksum: sha1:a7d7c52d0a7c5128a40fd9f1524e8b6f372a9061
23382342
pristine_git_object: df5a9a53d2ea20bb548913c902b0bffdf2dc5d15
2343+
docs/components/imagegeneration.mdx:
2344+
id: fd23e84c1023
2345+
last_write_checksum: sha1:bb149a39160f98e6679617250ec3abbcd1853a6b
2346+
pristine_git_object: 55213d2296a67affb0bb82d4686082e559444520
23392347
docs/components/imagegenerationproviderpreferences.mdx:
23402348
id: 96067cea4257
23412349
last_write_checksum: sha1:63f1caa2d78a1e1d32c1222e8275155417e7e87f
@@ -4260,6 +4268,10 @@ trackedFiles:
42604268
id: 5ed0945b3483
42614269
last_write_checksum: sha1:75469331593bced83bfe98408caa584b939c95bc
42624270
pristine_git_object: 86ea312944a50501fd307f41c471b2462adeeb5e
4271+
docs/components/perflast30mbyworkload.mdx:
4272+
id: bdcf1999b086
4273+
last_write_checksum: sha1:1390768d24471859dc830f0dbd892085aceab9c5
4274+
pristine_git_object: a75ac7be6f20c9b564a2fc7bc23d8efc4057bac1
42634275
docs/components/perrequestlimits.mdx:
42644276
id: a503880c4645
42654277
last_write_checksum: sha1:a971ac638f0c8885577b1165909c8d5ef6b77e1f
@@ -4430,8 +4442,8 @@ trackedFiles:
44304442
pristine_git_object: 5aa8e90a6761d61aa63204bc3aa73f4481449d3e
44314443
docs/components/publicendpoint.mdx:
44324444
id: ec4843ef5d86
4433-
last_write_checksum: sha1:cc81fa2e66c0f573baccacd6459fa6291cab6e06
4434-
pristine_git_object: 9b1b04fa64839f8a7ef14593d9dd4080003257f1
4445+
last_write_checksum: sha1:23aab4f17e54311ce27a585548fef94c997def7c
4446+
pristine_git_object: 78fc661608b214ddacd52d640660ea7e27cf3c73
44354447
docs/components/publicpricing.mdx:
44364448
id: 61fb18b7ff94
44374449
last_write_checksum: sha1:e241420249fcbd1bf515b0f5e84934de0b207948
@@ -4668,6 +4680,10 @@ trackedFiles:
46684680
id: fd80c94f61ca
46694681
last_write_checksum: sha1:9df63b87a79a3ccb889870640b0d658ea57436fe
46704682
pristine_git_object: 01acc3f8d0a451cf6ca5d1c0da90995c79f8f727
4683+
docs/components/rerank.mdx:
4684+
id: b011fb4a30ac
4685+
last_write_checksum: sha1:95f802db6ffc672d1e266f2e5ce17a5f183ae13d
4686+
pristine_git_object: 171e9c32dd65407644e98cc8ce421b9c69376f29
46714687
docs/components/resetinterval.mdx:
46724688
id: ef4f6969df8e
46734689
last_write_checksum: sha1:e47284974689070a1dd9c82195e4588fe9ffe17c
@@ -5044,6 +5060,10 @@ trackedFiles:
50445060
id: 512e44d2c601
50455061
last_write_checksum: sha1:fa643d79e608574ac0210dbdebb293cae1d0af33
50465062
pristine_git_object: 972fa7f69f80fae904b94b8a10bbed2fa7bbf1c1
5063+
docs/components/stt.mdx:
5064+
id: 2f508094a4f9
5065+
last_write_checksum: sha1:9fc321c80bf682f4eae2def394b0cf01cfae2feb
5066+
pristine_git_object: 5ebe2d199734dd2729a8247420ae7e106a90e65a
50475067
docs/components/sttinputaudio.mdx:
50485068
id: f4fc56cf1641
50495069
last_write_checksum: sha1:816a73a74abbff305ca8405d04870595d525b7bd
@@ -5184,6 +5204,10 @@ trackedFiles:
51845204
id: 061069626d8c
51855205
last_write_checksum: sha1:c2fc0a4e7fe5c8817e26afe1a646e3e9593d3a86
51865206
pristine_git_object: 04c08c1d74e51e7902360962f7bda67b70746feb
5207+
docs/components/textgeneration.mdx:
5208+
id: 216f7cbe5e8d
5209+
last_write_checksum: sha1:313027e4eb6dd5141d035e55ee7429983ab8d66a
5210+
pristine_git_object: 83129fca047441e3fbcda675010679cd79efdf90
51875211
docs/components/thinking.mdx:
51885212
id: 8d7292f65441
51895213
last_write_checksum: sha1:747fc54885c54d140e7c398d5fd5de79606ce248
@@ -5316,6 +5340,10 @@ trackedFiles:
53165340
id: d338e8ec18bd
53175341
last_write_checksum: sha1:c8bc50c016758d48320643ce2965fedba9b1e3f1
53185342
pristine_git_object: 6b46b4c151e73cf9efeb4bcbfb0343258a0ed9d5
5343+
docs/components/tts.mdx:
5344+
id: f0121f2441bc
5345+
last_write_checksum: sha1:02a8f53aa86f14b11a7d2f7eccfa516f428b4a5f
5346+
pristine_git_object: 3a4751890ad320101c3f9d67501b848c60a9eea0
53195347
docs/components/turnrange.mdx:
53205348
id: d4f863eecbe8
53215349
last_write_checksum: sha1:3cc0bd9a3336447a3ba36639b4af2dff530d33ac
@@ -5560,6 +5588,10 @@ trackedFiles:
55605588
id: 0bdb46a190ad
55615589
last_write_checksum: sha1:4d2b3619dece58c555b2bed3078a2a5fc6036168
55625590
pristine_git_object: 8369333a20b7b67cc70ff68129abc4f236c7ce9b
5591+
docs/components/unknown.mdx:
5592+
id: b79daf1c00cb
5593+
last_write_checksum: sha1:d62323da84114a3f07997a4e7fd9075697e8741d
5594+
pristine_git_object: 77c502f0a45d2c4c5aec04a8bfb65f22fd5989f2
55635595
docs/components/unprocessableentityresponseerrordata.mdx:
55645596
id: 7171837ab497
55655597
last_write_checksum: sha1:fe645e7a874320f871b2ab92dd9cd945b316f688
@@ -5652,6 +5684,10 @@ trackedFiles:
56525684
id: 8dacec626dda
56535685
last_write_checksum: sha1:77a815930df06dc0c0534ad059e49368be46d94d
56545686
pristine_git_object: 7dedd74d072b742dc84e8afafa3e2ae47dbded10
5687+
docs/components/videogeneration.mdx:
5688+
id: 37932f97d574
5689+
last_write_checksum: sha1:d75be772b421373f470e9019896355f728ed5e64
5690+
pristine_git_object: 0f7cc13e29aa234d72930b1a95cf56cdaf836d4d
56555691
docs/components/videogenerationrequest.mdx:
56565692
id: b92ddbd15ee4
56575693
last_write_checksum: sha1:691ba3554e13181bbb7e5e591d2095df3d2c4eb5
@@ -7402,8 +7438,8 @@ trackedFiles:
74027438
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
74037439
pyproject.toml:
74047440
id: 5d07e7d72637
7405-
last_write_checksum: sha1:5183913ccc38fe502032fb3a8ddbee0b04008766
7406-
pristine_git_object: 347e295a033bfbaa7a5815e631e0aa8c4af56228
7441+
last_write_checksum: sha1:74d35a6ebb778bd5a34d3db9e655220d5f646347
7442+
pristine_git_object: 7295271514483cecc8a3a0374bfa69cc78cd579b
74077443
scripts/prepare_readme.py:
74087444
id: e0c5957a6035
74097445
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
@@ -7430,8 +7466,8 @@ trackedFiles:
74307466
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
74317467
src/openrouter/_version.py:
74327468
id: d8d15ad6c586
7433-
last_write_checksum: sha1:482494cd3cffec58b42093c7ea7474a17d9473af
7434-
pristine_git_object: 66f547c50e336bcf7055324ab17ab7ae2946dc27
7469+
last_write_checksum: sha1:3ecf47a55d18d20fe4c9239caef15359433ec433
7470+
pristine_git_object: 15a2a234f44ca90a855307e3aa4dfeeaded83d63
74357471
src/openrouter/analytics.py:
74367472
id: cb406b5aaabb
74377473
last_write_checksum: sha1:1e0004d8d1d5d797e2b54cd1cabeb7f9489d08e9
@@ -7470,8 +7506,8 @@ trackedFiles:
74707506
pristine_git_object: ad3d247954547814054c01989a2dff3d12b3e4e1
74717507
src/openrouter/components/__init__.py:
74727508
id: 81754e97b3f4
7473-
last_write_checksum: sha1:182f20946f7207fdb8152dfe53a9428b2c5b09ff
7474-
pristine_git_object: b4138417059fa5b2de853e18bd2578f0b59cd6ed
7509+
last_write_checksum: sha1:e8a8f19183c0ef7bc204355bbd29e849e8914a9a
7510+
pristine_git_object: 8749d732a97344d90c347cd84a77662e76da5785
74757511
src/openrouter/components/aabenchmarkentry.py:
74767512
id: e2e0f0b48c82
74777513
last_write_checksum: sha1:fab4d9a24d2cea937bb749d46c5f83941e99d65c
@@ -9310,8 +9346,8 @@ trackedFiles:
93109346
pristine_git_object: 1798ae9dd8c2e4b629bb99cc5c643827895e8231
93119347
src/openrouter/components/publicendpoint.py:
93129348
id: 848aa2ef9129
9313-
last_write_checksum: sha1:6ca6cfb03234dfd54a121e7b2d5a1fc371e09ea7
9314-
pristine_git_object: 182e3034b8dd4fb9308382fc6ed7eafdc3400abb
9349+
last_write_checksum: sha1:859e0d6fb0db27400d0ce70949dfb1b08ac47bed
9350+
pristine_git_object: 2b6ad0a0dbfebf6be9e7c4eaff03b99da5e2f890
93159351
src/openrouter/components/publicpricing.py:
93169352
id: 96d115d83cc5
93179353
last_write_checksum: sha1:fd8c320ac83b282eaf2405045329b55076d4311a
@@ -12477,3 +12513,7 @@ examples:
1247712513
"503":
1247812514
application/json: {"error": {"code": 503, "message": "Service temporarily unavailable"}}
1247912515
examplesVersion: 1.0.2
12516+
releaseNotes: |
12517+
## Python SDK Changes:
12518+
* `open_router.endpoints.list_zdr_endpoints()`: `response.data[].perf_last_30m_by_workload` **Added**
12519+
* `open_router.endpoints.list()`: `response.data.endpoints[].perf_last_30m_by_workload` **Added**

‎.speakeasy/gen.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ generation:
3636
documentation: mintlify
3737
preApplyUnionDiscriminators: true
3838
python:
39-
version: 1.1.107
39+
version: 1.1.108
4040
additionalDependencies:
4141
dev: {}
4242
main: {}

‎.speakeasy/out.openapi.yaml‎

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21800,6 +21800,19 @@ components:
2180021800
model_id: 'openai/gpt-4'
2180121801
model_name: 'GPT-4'
2180221802
name: 'OpenAI: GPT-4'
21803+
perf_last_30m_by_workload:
21804+
text_generation:
21805+
latency:
21806+
p50: 250
21807+
p75: 350
21808+
p90: 480
21809+
p99: 850
21810+
request_count: 1000
21811+
throughput:
21812+
p50: 45.2
21813+
p75: 38.5
21814+
p90: 28.3
21815+
p99: 15.1
2180321816
pricing:
2180421817
completion: '0.00006'
2180521818
image: '0'
@@ -21850,6 +21863,171 @@ components:
2185021863
type: 'string'
2185121864
name:
2185221865
type: 'string'
21866+
perf_last_30m_by_workload:
21867+
additionalProperties: false
21868+
description: 'Endpoint performance over the last 30 minutes, keyed by the kind of request served (e.g. `text_generation`, `image_generation`). Additive to the legacy singular latency and throughput fields; image and video generation report end-to-end latency. Only visible when authenticated with an API key or cookie.'
21869+
properties:
21870+
embeddings:
21871+
properties:
21872+
latency:
21873+
allOf:
21874+
- $ref: '#/components/schemas/PercentileStats'
21875+
- description: 'Latency percentiles in milliseconds for this workload. Image and video generation report full end-to-end generation time, because their raw latency only measures request acknowledgement; every other workload reports time to first token or result.'
21876+
request_count:
21877+
description: 'Total requests admitted for this workload in the window.'
21878+
type:
21879+
- 'integer'
21880+
- 'null'
21881+
throughput:
21882+
allOf:
21883+
- $ref: '#/components/schemas/PercentileStats'
21884+
- description: 'Throughput percentiles in tokens per second. Only meaningful for text generation; null for workloads without token throughput.'
21885+
required:
21886+
- 'latency'
21887+
- 'throughput'
21888+
- 'request_count'
21889+
type: 'object'
21890+
image_generation:
21891+
properties:
21892+
latency:
21893+
allOf:
21894+
- $ref: '#/components/schemas/PercentileStats'
21895+
- description: 'Latency percentiles in milliseconds for this workload. Image and video generation report full end-to-end generation time, because their raw latency only measures request acknowledgement; every other workload reports time to first token or result.'
21896+
request_count:
21897+
description: 'Total requests admitted for this workload in the window.'
21898+
type:
21899+
- 'integer'
21900+
- 'null'
21901+
throughput:
21902+
allOf:
21903+
- $ref: '#/components/schemas/PercentileStats'
21904+
- description: 'Throughput percentiles in tokens per second. Only meaningful for text generation; null for workloads without token throughput.'
21905+
required:
21906+
- 'latency'
21907+
- 'throughput'
21908+
- 'request_count'
21909+
type: 'object'
21910+
rerank:
21911+
properties:
21912+
latency:
21913+
allOf:
21914+
- $ref: '#/components/schemas/PercentileStats'
21915+
- description: 'Latency percentiles in milliseconds for this workload. Image and video generation report full end-to-end generation time, because their raw latency only measures request acknowledgement; every other workload reports time to first token or result.'
21916+
request_count:
21917+
description: 'Total requests admitted for this workload in the window.'
21918+
type:
21919+
- 'integer'
21920+
- 'null'
21921+
throughput:
21922+
allOf:
21923+
- $ref: '#/components/schemas/PercentileStats'
21924+
- description: 'Throughput percentiles in tokens per second. Only meaningful for text generation; null for workloads without token throughput.'
21925+
required:
21926+
- 'latency'
21927+
- 'throughput'
21928+
- 'request_count'
21929+
type: 'object'
21930+
stt:
21931+
properties:
21932+
latency:
21933+
allOf:
21934+
- $ref: '#/components/schemas/PercentileStats'
21935+
- description: 'Latency percentiles in milliseconds for this workload. Image and video generation report full end-to-end generation time, because their raw latency only measures request acknowledgement; every other workload reports time to first token or result.'
21936+
request_count:
21937+
description: 'Total requests admitted for this workload in the window.'
21938+
type:
21939+
- 'integer'
21940+
- 'null'
21941+
throughput:
21942+
allOf:
21943+
- $ref: '#/components/schemas/PercentileStats'
21944+
- description: 'Throughput percentiles in tokens per second. Only meaningful for text generation; null for workloads without token throughput.'
21945+
required:
21946+
- 'latency'
21947+
- 'throughput'
21948+
- 'request_count'
21949+
type: 'object'
21950+
text_generation:
21951+
properties:
21952+
latency:
21953+
allOf:
21954+
- $ref: '#/components/schemas/PercentileStats'
21955+
- description: 'Latency percentiles in milliseconds for this workload. Image and video generation report full end-to-end generation time, because their raw latency only measures request acknowledgement; every other workload reports time to first token or result.'
21956+
request_count:
21957+
description: 'Total requests admitted for this workload in the window.'
21958+
type:
21959+
- 'integer'
21960+
- 'null'
21961+
throughput:
21962+
allOf:
21963+
- $ref: '#/components/schemas/PercentileStats'
21964+
- description: 'Throughput percentiles in tokens per second. Only meaningful for text generation; null for workloads without token throughput.'
21965+
required:
21966+
- 'latency'
21967+
- 'throughput'
21968+
- 'request_count'
21969+
type: 'object'
21970+
tts:
21971+
properties:
21972+
latency:
21973+
allOf:
21974+
- $ref: '#/components/schemas/PercentileStats'
21975+
- description: 'Latency percentiles in milliseconds for this workload. Image and video generation report full end-to-end generation time, because their raw latency only measures request acknowledgement; every other workload reports time to first token or result.'
21976+
request_count:
21977+
description: 'Total requests admitted for this workload in the window.'
21978+
type:
21979+
- 'integer'
21980+
- 'null'
21981+
throughput:
21982+
allOf:
21983+
- $ref: '#/components/schemas/PercentileStats'
21984+
- description: 'Throughput percentiles in tokens per second. Only meaningful for text generation; null for workloads without token throughput.'
21985+
required:
21986+
- 'latency'
21987+
- 'throughput'
21988+
- 'request_count'
21989+
type: 'object'
21990+
unknown:
21991+
properties:
21992+
latency:
21993+
allOf:
21994+
- $ref: '#/components/schemas/PercentileStats'
21995+
- description: 'Latency percentiles in milliseconds for this workload. Image and video generation report full end-to-end generation time, because their raw latency only measures request acknowledgement; every other workload reports time to first token or result.'
21996+
request_count:
21997+
description: 'Total requests admitted for this workload in the window.'
21998+
type:
21999+
- 'integer'
22000+
- 'null'
22001+
throughput:
22002+
allOf:
22003+
- $ref: '#/components/schemas/PercentileStats'
22004+
- description: 'Throughput percentiles in tokens per second. Only meaningful for text generation; null for workloads without token throughput.'
22005+
required:
22006+
- 'latency'
22007+
- 'throughput'
22008+
- 'request_count'
22009+
type: 'object'
22010+
video_generation:
22011+
properties:
22012+
latency:
22013+
allOf:
22014+
- $ref: '#/components/schemas/PercentileStats'
22015+
- description: 'Latency percentiles in milliseconds for this workload. Image and video generation report full end-to-end generation time, because their raw latency only measures request acknowledgement; every other workload reports time to first token or result.'
22016+
request_count:
22017+
description: 'Total requests admitted for this workload in the window.'
22018+
type:
22019+
- 'integer'
22020+
- 'null'
22021+
throughput:
22022+
allOf:
22023+
- $ref: '#/components/schemas/PercentileStats'
22024+
- description: 'Throughput percentiles in tokens per second. Only meaningful for text generation; null for workloads without token throughput.'
22025+
required:
22026+
- 'latency'
22027+
- 'throughput'
22028+
- 'request_count'
22029+
type: 'object'
22030+
type: 'object'
2185322031
pricing:
2185422032
properties:
2185522033
audio:

0 commit comments

Comments
 (0)