summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/python/docs
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-11-06 13:03:02 -0500
committerDax Raad <[email protected]>2025-11-06 13:03:12 -0500
commit1ea3a8eb9beeb7d510fd29164ea741acec1ee04d (patch)
tree22c35a0003c6c2cfb998431f8e5180879cbab9d3 /packages/sdk/python/docs
parent8729edc5e059a9a29346044b016a6e05d9aca835 (diff)
downloadopencode-1ea3a8eb9beeb7d510fd29164ea741acec1ee04d.tar.gz
opencode-1ea3a8eb9beeb7d510fd29164ea741acec1ee04d.zip
big format
Diffstat (limited to 'packages/sdk/python/docs')
-rw-r--r--packages/sdk/python/docs/generation.md3
-rw-r--r--packages/sdk/python/docs/index.md1
-rw-r--r--packages/sdk/python/docs/installation.md5
-rw-r--r--packages/sdk/python/docs/publishing.md3
-rw-r--r--packages/sdk/python/docs/testing.md1
5 files changed, 13 insertions, 0 deletions
diff --git a/packages/sdk/python/docs/generation.md b/packages/sdk/python/docs/generation.md
index f949760a1..2151e3709 100644
--- a/packages/sdk/python/docs/generation.md
+++ b/packages/sdk/python/docs/generation.md
@@ -3,10 +3,12 @@
The SDK is generated from the Opencode server's OpenAPI 3.1 spec.
Two source modes are supported:
+
- CLI (default): runs `bun dev generate` to emit the OpenAPI JSON
- Server: fetches `http://localhost:4096/doc` from a running server
Generator command
+
```bash
# From repo root
uv run --project packages/sdk/python python packages/sdk/python/scripts/generate.py --source cli
@@ -15,5 +17,6 @@ uv run --project packages/sdk/python python packages/sdk/python/scripts/generate
```
Post-generation
+
- The generator injects `extras.py` (OpenCodeClient) and patches `__init__.py` to export it
- Code is formatted with `ruff` (imports) and `black`
diff --git a/packages/sdk/python/docs/index.md b/packages/sdk/python/docs/index.md
index bc7b550f9..e0cfe5d5d 100644
--- a/packages/sdk/python/docs/index.md
+++ b/packages/sdk/python/docs/index.md
@@ -3,6 +3,7 @@
The official Python client for the Opencode API, generated from the OpenAPI spec and extended with ergonomic helpers.
Highlights
+
- Provider-agnostic client generated from OpenAPI 3.1
- Thin convenience wrapper (OpenCodeClient) for common tasks
- Sync and async SSE streaming for live event feeds
diff --git a/packages/sdk/python/docs/installation.md b/packages/sdk/python/docs/installation.md
index f66e217ae..fe48f5189 100644
--- a/packages/sdk/python/docs/installation.md
+++ b/packages/sdk/python/docs/installation.md
@@ -1,26 +1,31 @@
# Installation
Requirements
+
- Python 3.8+
- uv (recommended) -> https://docs.astral.sh/uv/
Install uv
+
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
Project setup
+
```bash
# From repo root or this directory
uv sync --dev --project packages/sdk/python
```
Using pip (alternative)
+
```bash
pip install opencode-ai
```
Preview docs locally
+
```bash
# From repo root
uv run --project packages/sdk/python mkdocs serve -f packages/sdk/python/mkdocs.yml
diff --git a/packages/sdk/python/docs/publishing.md b/packages/sdk/python/docs/publishing.md
index c598baa88..c05a12a33 100644
--- a/packages/sdk/python/docs/publishing.md
+++ b/packages/sdk/python/docs/publishing.md
@@ -3,6 +3,7 @@
Automated publishing runs on GitHub Releases.
Workflow
+
- Create a new Release (the tag value becomes the package version)
- The `publish-python-sdk` workflow will:
- Generate the SDK from OpenAPI (CLI path)
@@ -10,9 +11,11 @@ Workflow
- Build wheel/sdist and upload to PyPI
Prerequisites
+
- Repository secret: `PYPI_API_TOKEN`
Manual publish
+
```bash
# TestPyPI
REPOSITORY=testpypi PYPI_TOKEN=$TEST_PYPI_API_TOKEN \
diff --git a/packages/sdk/python/docs/testing.md b/packages/sdk/python/docs/testing.md
index 3119035d0..e2c777e31 100644
--- a/packages/sdk/python/docs/testing.md
+++ b/packages/sdk/python/docs/testing.md
@@ -11,5 +11,6 @@ uv run --project packages/sdk/python pytest -q
```
Notes
+
- Integration test starts a headless opencode server via Bun in a subprocess
- SSE behavior is validated using real streaming from the server