Yaver SDK — embed Yaver's local-first agent runtime into your Python apps
Project description
Yaver Python SDK
Embed Yaver's local-first agent runtime into your Python applications. Zero dependencies (stdlib only).
Install
pip install yaver
Quick Start
Getting an auth token
Three ways, depending on context:
import yaver
# 1. Email + password — non-interactive, good for scripts/CI
token = yaver.login_with_email("you@example.com", "your-password")
# 2. Sign up a new account — non-interactive
token = yaver.signup_with_email("Your Name", "you@example.com", "your-password")
# 3. Browser OAuth — interactive, supports Apple/Google/GitHub/GitLab/Microsoft
# Opens https://yaver.io/auth?client=cli in the default browser and runs
# a tiny local HTTP listener on 127.0.0.1:19836 to capture the callback.
# Same flow as the `yaver auth` CLI command.
token = yaver.signin_via_browser()
Tokens are long-lived (30 days). Cache them in your app's keystore or env var; a fresh sign-in is only required after expiry or sign-out.
Using the client
from yaver import YaverClient
client = YaverClient("http://localhost:18080", token)
# Create a task
task = client.create_task("Fix the login bug")
print(f"Task {task['id']} created")
# Stream output
for chunk in client.stream_output(task["id"]):
print(chunk, end="")
# List all tasks
tasks = client.list_tasks()
Features
- Task management: create, list, get, stop, delete, continue tasks
- Output streaming: poll-based streaming with configurable interval
- Auth client: validate tokens, list devices, manage settings via Convex backend
- Verbosity control: set response detail level 0-10
- Native mode: optional ctypes bindings via C shared library (libyaver.so)
- Zero dependencies: uses only Python stdlib
Auth Client
from yaver import YaverAuthClient
auth = YaverAuthClient("your-token")
user = auth.validate_token()
devices = auth.list_devices()
settings = auth.get_settings()
Links
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 yaver-0.3.0.tar.gz.
File metadata
- Download URL: yaver-0.3.0.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e188f3169e333d5f64bce9eaff2b6c485fb273868565db98f2719d85a93de017
|
|
| MD5 |
e3372f9974a9c309575603c440072eed
|
|
| BLAKE2b-256 |
2333ba8d035df6a2580266f3eff3bf724990b2fa2553bf5c66f553683aa212e5
|
File details
Details for the file yaver-0.3.0-py3-none-any.whl.
File metadata
- Download URL: yaver-0.3.0-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5dd54363fec3581ba37f77ae159e52aff095e353bb0ac354d7c29cd981a0a872
|
|
| MD5 |
4d66adda69ca9c7fd2306ed01c1db3b6
|
|
| BLAKE2b-256 |
db941189b0a582ec6cbf17fd06287aad83f49589ef1348112955851cd4a150c8
|