Skip to main content

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

yaver-0.3.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yaver-0.3.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

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

Hashes for yaver-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e188f3169e333d5f64bce9eaff2b6c485fb273868565db98f2719d85a93de017
MD5 e3372f9974a9c309575603c440072eed
BLAKE2b-256 2333ba8d035df6a2580266f3eff3bf724990b2fa2553bf5c66f553683aa212e5

See more details on using hashes here.

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

Hashes for yaver-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5dd54363fec3581ba37f77ae159e52aff095e353bb0ac354d7c29cd981a0a872
MD5 4d66adda69ca9c7fd2306ed01c1db3b6
BLAKE2b-256 db941189b0a582ec6cbf17fd06287aad83f49589ef1348112955851cd4a150c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page