Official Python SDK for Chaser
Project description
chaser-sdk
Official Python SDK for Chaser.
This package is the Python SDK for the core public Chaser surface:
- sessions
- workspaces
- exec
- command lifecycle
- files
- runtime self-tests and preview URLs
- browser CDP helpers
- accounts and organizations
- service accounts and keys
- billing
- lifecycle webhooks
- audit
- jobs
Installation
pip install chaser-sdk
Optional CDP websocket support:
pip install 'chaser-sdk[cdp]'
Quickstart
from chaser_sdk import ChaserClient
client = ChaserClient(api_key="sk_...", account="personal")
workspace = client.workspaces.create(
{
"name": "frontend-app",
"session_type": "sandbox",
"image": "ghcr.io/example/dev:latest",
}
)
session = client.sessions.create(
{
"workspace": workspace["name"],
"session_type": "sandbox",
}
)
client.sessions.wait_until_ready(session["id"])
result = client.exec.in_session(
session["id"],
{
"command": "node -v && pwd",
"cwd": "/workspace",
},
)
print(result.get("output"))
Stateless exec
result = client.exec.run(
{
"ephemeral": True,
"image": "node:20-bookworm",
"command": "python3 -c 'print(42)'",
}
)
Files and previews
client.files.upload_text(session["id"], "/workspace/hello.txt", "hello from sdk")
text = client.files.download_text(session["id"], "/workspace/hello.txt")
preview = client.sessions.forward_url(session["id"], 3000)
Runtime self-test
diagnostics = client.sessions.self_test(session["id"])
print(diagnostics["runtime"]["tools"].get("node"))
Network controls
session = client.sessions.create(
{
"ephemeral": True,
"session_type": "sandbox",
"network": {
"mode": "proxy",
"proxy": {
"url": "socks5h://proxy.example.com:1080",
"username": "svc-user",
"password": "svc-pass",
},
},
}
)
Browser CDP helper
browser = client.sessions.create({"session_type": "browser", "ephemeral": True})
ws_url = client.browser.cdp_websocket_url(browser["id"])
print(ws_url)
If you install the optional cdp extra, you can also open a lightweight websocket client:
cdp = client.browser.connect(browser["id"])
print(cdp.send("Browser.getVersion"))
cdp.close()
Organization automation
org_client = client.with_account("Acme Engineering")
service_account = org_client.accounts.service_accounts.create("ci-bot")
key = org_client.accounts.service_accounts.keys.create(
service_account["id"],
name="ci-key",
scopes=["sessions.read", "workspaces.write", "exec.write", "files.read", "webhooks.write"],
)
print(key["key"])
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
chaser_sdk-0.1.7.tar.gz
(15.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chaser_sdk-0.1.7.tar.gz.
File metadata
- Download URL: chaser_sdk-0.1.7.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d3a501f1a1d3852a8a1598ee176279d8e76e90027e9dba58e1c06593cf33987
|
|
| MD5 |
42fbf57f78c6d5d4d48ab1a093b8ae08
|
|
| BLAKE2b-256 |
08b92666702cada7390e501453715f3d1e975d0b37e7e16415cf4cce237b6e20
|
File details
Details for the file chaser_sdk-0.1.7-py3-none-any.whl.
File metadata
- Download URL: chaser_sdk-0.1.7-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea492c4307370d4c5631d3561696ce71465afc498c4619d52027792e8c2ecb54
|
|
| MD5 |
c021f45e211d0e45032fab8f353051be
|
|
| BLAKE2b-256 |
ba46ba18d4c5665f3bbbc5cf01506332039ae2b1af20781129f28efe847b76b1
|