summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/python/docs/usage
diff options
context:
space:
mode:
authorKevin King <[email protected]>2025-10-28 19:32:45 -0400
committerGitHub <[email protected]>2025-10-28 18:32:45 -0500
commit0e60f666043910afb96e9de2f84b0b8a68c7e4d6 (patch)
tree6ca20af712e2faca6262f029d6d8499c9888eb50 /packages/sdk/python/docs/usage
parentfc8db6cdf9cb81e29c5dda69c8646aa52e453a9c (diff)
downloadopencode-0e60f666043910afb96e9de2f84b0b8a68c7e4d6.tar.gz
opencode-0e60f666043910afb96e9de2f84b0b8a68c7e4d6.zip
ignore: python sdk (#2779)
Co-authored-by: Aiden Cline <[email protected]>
Diffstat (limited to 'packages/sdk/python/docs/usage')
-rw-r--r--packages/sdk/python/docs/usage/configuration.md21
-rw-r--r--packages/sdk/python/docs/usage/files_projects.md22
-rw-r--r--packages/sdk/python/docs/usage/sessions.md18
-rw-r--r--packages/sdk/python/docs/usage/streaming.md29
4 files changed, 90 insertions, 0 deletions
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())
+```