From 03054b21e4c250acc0e39a357355f5614e4f0bc8 Mon Sep 17 00:00:00 2001 From: David Alberto Adler Date: Sun, 7 Sep 2025 21:23:12 +0100 Subject: [PATCH] --- .gitignore | 1 + .speakeasy/gen.lock | 4 ++-- .speakeasy/gen.yaml | 2 +- examples/asyncChatCompletion.py | 24 ++++++++++++++++++++++ examples/asyncSseChatCompletion.py | 32 ++++++++++++++++++++++++++++++ pyproject.toml | 2 +- src/openrouter/_version.py | 4 ++-- src/openrouter/chat.py | 2 ++ uv.lock | 2 +- 9 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 examples/asyncChatCompletion.py create mode 100644 examples/asyncSseChatCompletion.py diff --git a/.gitignore b/.gitignore index aedee07..1efdd93 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ pyrightconfig.json **/.speakeasy/temp/ **/.speakeasy/logs/ .speakeasy/reports +.env diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 3383009..3039e9e 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -5,8 +5,8 @@ management: docVersion: 1.0.0 speakeasyVersion: 1.611.1 generationVersion: 2.694.1 - releaseVersion: 0.3.1 - configChecksum: 769cc7b4eef2760d1114b6b64a644f57 + releaseVersion: 0.3.2 + configChecksum: e4968e5a794abb620b5e37fd25f2ec84 repoURL: https://github.com/speakeasy-sdks/openrouter-python-sdk.git installationURL: https://github.com/speakeasy-sdks/openrouter-python-sdk.git features: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 5c5b519..652b9dd 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -25,7 +25,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false python: - version: 0.3.1 + version: 0.3.2 additionalDependencies: dev: {} main: {} diff --git a/examples/asyncChatCompletion.py b/examples/asyncChatCompletion.py new file mode 100644 index 0000000..69a8028 --- /dev/null +++ b/examples/asyncChatCompletion.py @@ -0,0 +1,24 @@ +dependencies = [ + "openrouter", + "os", + "asyncio", +] + +import os +import asyncio +from openrouter import OpenRouter + +async def main(): + sdk = OpenRouter( + api_key=os.getenv("OPENROUTER_API_KEY"), + ) + result = await sdk.chat.complete_async( + messages=[ + {"role": "user", "content": "Hello, world!"}, + ], + model="openai/gpt-3.5-turbo", + ) + print("Basic async completion:", result) + +if __name__ == "__main__": + asyncio.run(main()) \ No newline at end of file diff --git a/examples/asyncSseChatCompletion.py b/examples/asyncSseChatCompletion.py new file mode 100644 index 0000000..374df2b --- /dev/null +++ b/examples/asyncSseChatCompletion.py @@ -0,0 +1,32 @@ +dependencies = [ + "openrouter", + "os", + "asyncio", +] + +import os +import asyncio +from openrouter import OpenRouter + +async def main(): + open_router = OpenRouter( + api_key=os.getenv("OPENROUTER_API_KEY", ""), + ) + res = await open_router.chat.complete_async( + messages=[ + { + "role": "user", + "content": "Hello, how are you?", + }, + ], + model="openai/gpt-3.5-turbo", + stream=True + ) + + async for event in res: # type: ignore + if event.data.choices and event.data.choices[0].delta.content: + print(event.data.choices[0].delta.content, end='', flush=True) + print() + +if __name__ == "__main__": + asyncio.run(main()) \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index fff931f..6c13a7a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "0.3.1" +version = "0.3.2" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/src/openrouter/_version.py b/src/openrouter/_version.py index 4e9622d..437a863 100644 --- a/src/openrouter/_version.py +++ b/src/openrouter/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "openrouter" -__version__: str = "0.3.1" +__version__: str = "0.3.2" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.694.1" -__user_agent__: str = "speakeasy-sdk/python 0.3.1 2.694.1 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 0.3.2 2.694.1 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/chat.py b/src/openrouter/chat.py index 7a0a39e..1471064 100644 --- a/src/openrouter/chat.py +++ b/src/openrouter/chat.py @@ -64,6 +64,7 @@ class Chat(BaseSDK): accept_header_override: Optional[CompleteAcceptEnum] = None, http_headers: Optional[Mapping[str, str]] = None, ) -> eventstreaming.EventStream[models.ChatCompletionChunkWrapper]: ... + @overload def complete( self, @@ -122,6 +123,7 @@ class Chat(BaseSDK): accept_header_override: Optional[CompleteAcceptEnum] = None, http_headers: Optional[Mapping[str, str]] = None, ) -> models.ChatCompletion: ... + # endregion sdk-class-body def complete( diff --git a/uv.lock b/uv.lock index b914e47..ed6643a 100644 --- a/uv.lock +++ b/uv.lock @@ -201,7 +201,7 @@ wheels = [ [[package]] name = "openrouter" -version = "0.3.1" +version = "0.3.2" source = { editable = "." } dependencies = [ { name = "httpcore" },