From 0e60f666043910afb96e9de2f84b0b8a68c7e4d6 Mon Sep 17 00:00:00 2001 From: Kevin King <64164523+Kking112@users.noreply.github.com> Date: Tue, 28 Oct 2025 19:32:45 -0400 Subject: ignore: python sdk (#2779) Co-authored-by: Aiden Cline --- packages/sdk/python/docs/usage/configuration.md | 21 +++++++++++++++++ packages/sdk/python/docs/usage/files_projects.md | 22 ++++++++++++++++++ packages/sdk/python/docs/usage/sessions.md | 18 +++++++++++++++ packages/sdk/python/docs/usage/streaming.md | 29 ++++++++++++++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 packages/sdk/python/docs/usage/configuration.md create mode 100644 packages/sdk/python/docs/usage/files_projects.md create mode 100644 packages/sdk/python/docs/usage/sessions.md create mode 100644 packages/sdk/python/docs/usage/streaming.md (limited to 'packages/sdk/python/docs/usage') diff --git a/packages/sdk/python/docs/usage/configuration.md b/packages/sdk/python/docs/usage/configuration.md new file mode 100644 index 000000000..f5e0c60bb --- /dev/null +++ b/packages/sdk/python/docs/usage/configuration.md @@ -0,0 +1,21 @@ +# Configuration + +OpenCodeClient accepts common options for auth, timeouts, and retries. + +```python +from opencode_ai import OpenCodeClient + +client = OpenCodeClient( + base_url="http://localhost:4096", + token="pypi-or-other-token", + auth_header_name="Authorization", + auth_prefix="Bearer", + timeout=30.0, # seconds + retries=2, + backoff_factor=0.2, # exponential backoff +) +``` + +- Auth: sets the header `{auth_header_name}: {auth_prefix} {token}` when `token` is provided +- Retries: retry on transient httpx.RequestError and 429/5xx +- Timeouts: passed to httpx.Timeout diff --git a/packages/sdk/python/docs/usage/files_projects.md b/packages/sdk/python/docs/usage/files_projects.md new file mode 100644 index 000000000..47f255e5a --- /dev/null +++ b/packages/sdk/python/docs/usage/files_projects.md @@ -0,0 +1,22 @@ +# Files & Projects + +Access file status and project information. + +```python +from opencode_ai import OpenCodeClient + +client = OpenCodeClient() + +# Projects +for p in client.list_projects() or []: + print(p.id, p.directory) + +# Current path +pinfo = client.get_path() +print(pinfo.directory) + +# File status +files = client.file_status() or [] +for f in files: + print(f.path, f.type) +``` diff --git a/packages/sdk/python/docs/usage/sessions.md b/packages/sdk/python/docs/usage/sessions.md new file mode 100644 index 000000000..61f5b9889 --- /dev/null +++ b/packages/sdk/python/docs/usage/sessions.md @@ -0,0 +1,18 @@ +# Sessions + +List sessions and inspect them. The wrapper exposes a convenience method while the generated API remains available under `opencode_ai.api.default`. + +```python +from opencode_ai import OpenCodeClient +from opencode_ai.api.default import session_list as generated + +client = OpenCodeClient() + +# Wrapper +sessions = client.list_sessions() or [] + +# Generated function +sessions2 = generated.sync(client=client.client) + +print(len(sessions), len(sessions2)) +``` diff --git a/packages/sdk/python/docs/usage/streaming.md b/packages/sdk/python/docs/usage/streaming.md new file mode 100644 index 000000000..31066e8de --- /dev/null +++ b/packages/sdk/python/docs/usage/streaming.md @@ -0,0 +1,29 @@ +# Streaming (SSE) + +Subscribe to the event stream. The wrapper provides both sync and async interfaces. + +```python +from opencode_ai import OpenCodeClient + +client = OpenCodeClient() + +# Sync streaming +for event in client.subscribe_events(): + print(event) + break +``` + +Async variant: + +```python +import asyncio +from opencode_ai import OpenCodeClient + +async def main(): + client = OpenCodeClient() + async for event in client.subscribe_events_async(): + print(event) + break + +asyncio.run(main()) +``` -- cgit v1.2.3