Metadata-Version: 2.4
Name: cuakit
Version: 0.1.0
Summary: Remote desktop control toolkit for cuakit workers
Project-URL: Homepage, https://cuakit.bolte.cc
Project-URL: Repository, https://github.com/bolte-dev/cuakit
Author: cuakit maintainers
License: MIT
Keywords: agents,automation,desktop,pyautogui,remote
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.11
Requires-Dist: httpx>=0.27.2
Requires-Dist: pydantic>=2.10.6
Provides-Extra: dev
Requires-Dist: build>=1.2.2; extra == 'dev'
Requires-Dist: pytest>=8.3.4; extra == 'dev'
Requires-Dist: ruff>=0.9.6; extra == 'dev'
Requires-Dist: twine>=6.1.0; extra == 'dev'
Requires-Dist: ty>=0.0.1a14; extra == 'dev'
Description-Content-Type: text/markdown

# cuakit Python SDK

`cuakit` provides a pyautogui-like API for controlling remote cuakit workers.

## Install

```bash
pip install cuakit
```

## Quick start

```python
from cuakit import CuakitClient

client = CuakitClient(
    base_url="https://cuakit.bolte.cc",
    worker_id="cuaworker1",
)

client.wait_for_turn(timeout_s=90)
client.move_to(500, 320)
client.click(500, 320)
client.typewrite("hello from cuakit")
```

## Queue behavior

- `wait_for_turn()` joins queue and blocks until the lease is granted.
- Each lease is one minute by default.
- SDK and web users share the same queue.

## Stream access

```python
stream = client.stream_info()
print(stream.stream_url)
```

The stream URL can be opened in a browser/player to observe video and audio.

## Publish to PyPI

```bash
python -m build
twine upload dist/*
```

This repository assumes `~/.pypirc` is already configured.
