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.1.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.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file yaver-0.3.1.tar.gz.

File metadata

  • Download URL: yaver-0.3.1.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.1.tar.gz
Algorithm Hash digest
SHA256 a7827a5d57b22a07e86fcba07c8803b8c5ad1ff7411e7f03ef91133565a96c18
MD5 a8477bcafbc456034287ef84cf80bb15
BLAKE2b-256 d2b9f13f9a76abe51876757a73c76dc8cc91a2933b7b35cb1dd72cce4e8f1ec4

See more details on using hashes here.

File details

Details for the file yaver-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: yaver-0.3.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 493f3e75dec35052a93688ff6bc4280d83f3535445b853283aca13477b6b5d36
MD5 edcafadb755b3d5c5c7969e28a001cb4
BLAKE2b-256 7435274f740f92deede9f0d044d825829c6d50dea8300cc314ee878b262b6569

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