From 8ab96e53fbc120f3b67145e320835755a970277f Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 29 Oct 2026 07:10:00 +0000 Subject: [PATCH 1/2] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.803.2 --- .speakeasy/gen.lock | 29 ++++++++++---------- .speakeasy/gen.yaml | 2 +- .speakeasy/out.openapi.yaml | 22 ++++++++++++++- .speakeasy/workflow.lock | 10 +++---- RELEASES.md | 12 +++++++- docs/components/privateprovider.mdx | 16 +++++------ pyproject.toml | 2 +- src/openrouter/_version.py | 4 +-- src/openrouter/components/privateprovider.py | 6 ++-- uv.lock | 2 +- 10 files changed, 68 insertions(+), 37 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 59d02b94..41246ad8 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: c48cf606-fb42-4a45-9c23-8f0555307828 management: - docChecksum: 6ec0cc2d95e3e118cb5a2da74a5fabd9 + docChecksum: 8e43156309cd9d6feef062dcbfca2bbf docVersion: 1.0.0 speakeasyVersion: 1.803.2 generationVersion: 2.950.13 - releaseVersion: 1.3.93 - configChecksum: 197c208db2b3f3f1d4ee0bdcc3234b78 + releaseVersion: 1.3.94 + configChecksum: e9ab56445e50210445d6fe64c063c4d7 repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: 6b3cf2fb-0692-48b7-9fb6-e57ca8969625 - pristine_commit_hash: f4748b72f6dd2dee13598e64a94925507ef4e4c9 - pristine_tree_hash: 69be6ca0ae492018b6e957996852abb8c34e14e3 + generation_id: 5109fb26-c553-4c79-b1dd-3b4c29100595 + pristine_commit_hash: c41fc2ec8286c1b2d6f8ee7ef6886b4e1ed29e3b + pristine_tree_hash: aab77ac303e45920016fa2ab453c45cde5596930 features: python: acceptHeaders: 3.0.0 @@ -6320,8 +6320,8 @@ trackedFiles: pristine_git_object: 26932977bfd817ac0df95b9b647813ab962476d9 docs/components/privateprovider.mdx: id: 0671f6003692 - last_write_checksum: sha1:e1073aa8082762c7a1e4e89dbff7f6b4c88d34f0 - pristine_git_object: e516a1c7c51404da8aba0b8170ea9071e120a94b + last_write_checksum: sha1:1624ee016d2a78168dd230f474ad7dd7a0a5b08b + pristine_git_object: d4a3b60344c175eb01e86f4180a7410034dde337 docs/components/privateproviderdatapolicy.mdx: id: b35b9214bc7e last_write_checksum: sha1:d33353a373eae01c88ece5e251b3b49aa4445721 @@ -10344,8 +10344,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:cfaedd3a2a030e2763df59aa76f1ab46cf0efa2d - pristine_git_object: fa864346c8b8c61c5a4a6af027729818aa6c1314 + last_write_checksum: sha1:8b6d5b616446a406018f6d90407cea93bcb4a335 + pristine_git_object: 6abec6c951aecf12460ae252fff1dee7807b13ea scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -10372,8 +10372,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:d5373e5b8e0868071fe77dde3f59413923de8be4 - pristine_git_object: f0a3b5ff889bdac54d482e0179cfecc941f03aa5 + last_write_checksum: sha1:deb67c512551b62a6938ea9b071b1a8ae1b48da3 + pristine_git_object: 97d10fdcccf214f4c017bca3be4745e98b33816b src/openrouter/alpha.py: id: 306c4d93308d last_write_checksum: sha1:30f55a360f41376ab194b9ea725fe4e001a5ae1a @@ -12944,8 +12944,8 @@ trackedFiles: pristine_git_object: 6e8b78ced26a0853ead11ec27400f8bf98f1fa83 src/openrouter/components/privateprovider.py: id: 958158825a77 - last_write_checksum: sha1:067ac1600eb5cf50b62745097bb1b6311f8f10b4 - pristine_git_object: 7d29a298f94019e5308f242522546aa6a4b609a5 + last_write_checksum: sha1:b7d1378bb1776ee2de3ca395ca1b4b2acfa111ea + pristine_git_object: 2e3df76124659f77cd85f95e4a27164db21d668a src/openrouter/components/privateproviderdatapolicy.py: id: a1fb1200b4cf last_write_checksum: sha1:0ad8732d32ae4b4bbcf002c9ceecfb70e952aeb1 @@ -19221,4 +19221,3 @@ examples: "502": application/json: {"error": {"code": 502, "message": "Provider returned error"}} examplesVersion: 1.0.2 -releaseNotes: "## Python SDK Changes:\n* `open_router.private_providers.list()`: **Added**\n* `open_router.private_providers.create()`: **Added**\n* `open_router.private_providers.delete()`: **Added**\n* `open_router.private_providers.get()`: **Added**\n* `open_router.private_providers.update()`: **Added**\n* `open_router.private_endpoints.create()`: `request.settings` **Added**\n* `open_router.private_endpoints.get()`: `response.data.settings` **Added**\n* `open_router.private_endpoints.update()`: \n * `request` **Changed**\n * `response.data.settings` **Added**\n* `open_router.private_endpoints.update_parameters()`: **Deprecated**\n* `open_router.private_endpoints.update_parameters()`: `response.data.settings` **Added**\n* `open_router.private_endpoints.update_pricing()`: **Deprecated**\n* `open_router.private_endpoints.update_pricing()`: `response.data.settings` **Added**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 232d0418..8a0eff20 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -37,7 +37,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.3.93 + version: 1.3.94 additionalDependencies: dev: pytest: '>=8.3' diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 77e291e8..92aa2533 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -10487,20 +10487,29 @@ components: base_url: description: 'HTTPS base URL of an OpenAI-compatible API, used by private endpoints under this provider that set no URL of their own. Without it, each endpoint must set its own. Private, internal, metadata and OpenRouter hosts are rejected.' example: 'https://inference.example.com/v1' + minLength: 1 type: 'string' data_policy: $ref: '#/components/schemas/PrivateProviderDataPolicy' display_name: description: 'Defaults to `name`.' example: 'Acme' + maxLength: 80 + minLength: 1 type: 'string' name: description: 'Provider name, shown in your activity, logs and Broadcast output. 2-64 letters, numbers, spaces, dots, underscores or hyphens. Cannot be changed later. Neither the name nor its slug may match a public provider name or slug (case-insensitive); other customers may use the same name.' example: 'Acme' + maxLength: 64 + minLength: 2 + pattern: '^[A-Za-z0-9][A-Za-z0-9 ._-]*$' type: 'string' slug: description: '2-64 lowercase letters and numbers, separated by single hyphens. Cannot be changed later. Defaults to the name lowercased, with every run of other characters replaced by a hyphen (`Acme Inference` becomes `acme-inference`).' example: 'acme' + maxLength: 64 + minLength: 2 + pattern: '^[a-z0-9]+(?:-[a-z0-9]+)*$' type: 'string' required: - 'name' @@ -26303,6 +26312,7 @@ components: base_url: description: 'HTTPS base URL of an OpenAI-compatible API, used by private endpoints under this provider that set no URL of their own. Without it, each endpoint must set its own. Private, internal, metadata and OpenRouter hosts are rejected.' example: 'https://inference.example.com/v1' + minLength: 1 type: - 'string' - 'null' @@ -26313,6 +26323,8 @@ components: properties: prompt_retention_days: description: 'Days prompts are retained. Must be `null` unless `retains_prompts` is true.' + maximum: 3650 + minimum: 1 type: - 'integer' - 'null' @@ -26330,10 +26342,11 @@ components: - 'object' - 'null' display_name: + description: 'Human-readable provider name shown in the UI.' example: 'Acme' type: 'string' name: - description: 'Provider name, shown in your activity, logs and Broadcast output. 2-64 letters, numbers, spaces, dots, underscores or hyphens. Cannot be changed later. Neither the name nor its slug may match a public provider name or slug (case-insensitive); other customers may use the same name.' + description: 'Provider name, shown in your activity, logs and Broadcast output.' example: 'Acme' type: 'string' slug: @@ -26357,6 +26370,8 @@ components: properties: prompt_retention_days: description: 'Days prompts are retained. Must be `null` unless `retains_prompts` is true.' + maximum: 3650 + minimum: 1 type: - 'integer' - 'null' @@ -32927,11 +32942,14 @@ components: base_url: description: 'HTTPS base URL of an OpenAI-compatible API, used by private endpoints under this provider that set no URL of their own. Without it, each endpoint must set its own. Private, internal, metadata and OpenRouter hosts are rejected.' example: 'https://inference.example.com/v1' + minLength: 1 type: 'string' data_policy: properties: prompt_retention_days: description: 'Days prompts are retained. Must be `null` unless `retains_prompts` is true.' + maximum: 3650 + minimum: 1 type: - 'integer' - 'null' @@ -32944,6 +32962,8 @@ components: type: 'object' display_name: example: 'Acme' + maxLength: 80 + minLength: 1 type: 'string' type: 'object' UpdateScimGroupMappingRequest: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index cbf00ad0..93cf6a5a 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,8 +2,8 @@ speakeasyVersion: 1.803.2 sources: OpenRouter API: sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:861104f222233ca812d803046f52b1cf68eaa984af4f9971987ebdd2b57a40f4 - sourceBlobDigest: sha256:0a780e2128a9aff1aa1ca88b888f57f562ae4f6c5496cf1ba969ab31e8dd1850 + sourceRevisionDigest: sha256:e98dce7f040fe3569a1e788ae3ce58091e240d0757db11ea713baa93aea95487 + sourceBlobDigest: sha256:f8e54946e4f8c8b07b5b22ca8cffa2d66305d81d9df25a679da0179f77cfaa99 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:861104f222233ca812d803046f52b1cf68eaa984af4f9971987ebdd2b57a40f4 - sourceBlobDigest: sha256:0a780e2128a9aff1aa1ca88b888f57f562ae4f6c5496cf1ba969ab31e8dd1850 + sourceRevisionDigest: sha256:e98dce7f040fe3569a1e788ae3ce58091e240d0757db11ea713baa93aea95487 + sourceBlobDigest: sha256:f8e54946e4f8c8b07b5b22ca8cffa2d66305d81d9df25a679da0179f77cfaa99 codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:f1e92e462aeac7d4a0bb09b421029ef8551aeab7b67a2b242d612052b34ec7d8 + codeSamplesRevisionDigest: sha256:624b1047700000fd51ccc6cad9e80e5e74c9c6d9e1396c1a176c396f755826eb workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.803.2 diff --git a/RELEASES.md b/RELEASES.md index a5348e86..460e8802 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -3699,4 +3699,14 @@ Based on: ### Generated - [python v1.3.93] . ### Releases -- [PyPI v1.3.93] https://pypi.org/project/openrouter/1.3.93 - . \ No newline at end of file +- [PyPI v1.3.93] https://pypi.org/project/openrouter/1.3.93 - . + +## 2026-10-29 07:07:10 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.803.2 (2.950.13) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.3.94] . +### Releases +- [PyPI v1.3.94] https://pypi.org/project/openrouter/1.3.94 - . \ No newline at end of file diff --git a/docs/components/privateprovider.mdx b/docs/components/privateprovider.mdx index e516a1c7..d4a3b603 100644 --- a/docs/components/privateprovider.mdx +++ b/docs/components/privateprovider.mdx @@ -4,11 +4,11 @@ title: "PrivateProvider" ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `base_url` | *Nullable[str]* | ✔️ | HTTPS base URL of an OpenAI-compatible API, used by private endpoints under this provider that set no URL of their own. Without it, each endpoint must set its own. Private, internal, metadata and OpenRouter hosts are rejected. | https://inference.example.com/v1 | -| `created_at` | *str* | ✔️ | N/A | | -| `data_policy` | [Nullable[components.PrivateProviderDataPolicy1]](../components/privateproviderdatapolicy1.mdx) | ✔️ | Your declared data policy, or `null` when none was declared. | | -| `display_name` | *str* | ✔️ | N/A | Acme | -| `name` | *str* | ✔️ | Provider name, shown in your activity, logs and Broadcast output. 2-64 letters, numbers, spaces, dots, underscores or hyphens. Cannot be changed later. Neither the name nor its slug may match a public provider name or slug (case-insensitive); other customers may use the same name. | Acme | -| `slug` | *str* | ✔️ | The slug you chose, unique within your account. Use it as `provider_slug` when creating private endpoints and BYOK keys, and in `provider.order`, `only` and `ignore`. | acme | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `base_url` | *Nullable[str]* | ✔️ | HTTPS base URL of an OpenAI-compatible API, used by private endpoints under this provider that set no URL of their own. Without it, each endpoint must set its own. Private, internal, metadata and OpenRouter hosts are rejected. | https://inference.example.com/v1 | +| `created_at` | *str* | ✔️ | N/A | | +| `data_policy` | [Nullable[components.PrivateProviderDataPolicy1]](../components/privateproviderdatapolicy1.mdx) | ✔️ | Your declared data policy, or `null` when none was declared. | | +| `display_name` | *str* | ✔️ | Human-readable provider name shown in the UI. | Acme | +| `name` | *str* | ✔️ | Provider name, shown in your activity, logs and Broadcast output. | Acme | +| `slug` | *str* | ✔️ | The slug you chose, unique within your account. Use it as `provider_slug` when creating private endpoints and BYOK keys, and in `provider.order`, `only` and `ignore`. | acme | \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index fa864346..6abec6c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.3.93" +version = "1.3.94" description = "Official Python Client SDK for OpenRouter." authors = [{ name = "OpenRouter" },] readme = "README-PYPI.md" diff --git a/src/openrouter/_version.py b/src/openrouter/_version.py index f0a3b5ff..97d10fdc 100644 --- a/src/openrouter/_version.py +++ b/src/openrouter/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "openrouter" -__version__: str = "1.3.93" +__version__: str = "1.3.94" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.950.13" -__user_agent__: str = "speakeasy-sdk/python 1.3.93 2.950.13 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.3.94 2.950.13 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/components/privateprovider.py b/src/openrouter/components/privateprovider.py index 7d29a298..2e3df761 100644 --- a/src/openrouter/components/privateprovider.py +++ b/src/openrouter/components/privateprovider.py @@ -51,8 +51,9 @@ class PrivateProviderTypedDict(TypedDict): data_policy: Nullable[PrivateProviderDataPolicy1TypedDict] r"""Your declared data policy, or `null` when none was declared.""" display_name: str + r"""Human-readable provider name shown in the UI.""" name: str - r"""Provider name, shown in your activity, logs and Broadcast output. 2-64 letters, numbers, spaces, dots, underscores or hyphens. Cannot be changed later. Neither the name nor its slug may match a public provider name or slug (case-insensitive); other customers may use the same name.""" + r"""Provider name, shown in your activity, logs and Broadcast output.""" slug: str r"""The slug you chose, unique within your account. Use it as `provider_slug` when creating private endpoints and BYOK keys, and in `provider.order`, `only` and `ignore`.""" @@ -67,9 +68,10 @@ class PrivateProvider(BaseModel): r"""Your declared data policy, or `null` when none was declared.""" display_name: str + r"""Human-readable provider name shown in the UI.""" name: str - r"""Provider name, shown in your activity, logs and Broadcast output. 2-64 letters, numbers, spaces, dots, underscores or hyphens. Cannot be changed later. Neither the name nor its slug may match a public provider name or slug (case-insensitive); other customers may use the same name.""" + r"""Provider name, shown in your activity, logs and Broadcast output.""" slug: str r"""The slug you chose, unique within your account. Use it as `provider_slug` when creating private endpoints and BYOK keys, and in `provider.order`, `only` and `ignore`.""" diff --git a/uv.lock b/uv.lock index 6208d04d..4ec9ddcb 100644 --- a/uv.lock +++ b/uv.lock @@ -231,7 +231,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.3.93" +version = "1.3.94" source = { editable = "." } dependencies = [ { name = "httpcore" }, From ccbde57cbfb5d4cbab628fdf6c011cffce11d50f Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Thu, 29 Oct 2026 07:10:09 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow