Metadata-Version: 2.4
Name: personalclaw-client
Version: 0.1.0
Summary: PersonalClaw Client — async Python client for the PersonalClaw Gateway
Author: PersonalClaw contributors
License: MIT
Project-URL: Homepage, https://personalclaw.dev
Project-URL: Documentation, https://github.com/PersonalClaw/PersonalClaw/tree/main/docs
Project-URL: Source, https://github.com/PersonalClaw/PersonalClaw
Project-URL: Issues, https://github.com/PersonalClaw/PersonalClaw/issues
Keywords: personalclaw,client,ai,agent,gateway
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Classifier: Framework :: AsyncIO
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: aiohttp>=3.9
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Requires-Dist: hypothesis>=6.0; extra == "dev"
Requires-Dist: aiohttp; extra == "dev"

# personalclaw-client

An async Python client for the [PersonalClaw](https://personalclaw.dev) Gateway.

`personalclaw-client` is the small, dependency-light library that apps and
external tools use to talk to a running PersonalClaw gateway — send messages,
read status, resolve an app's data directory — without vendoring the core
package. It is versioned and published independently of the core gateway so a
tool can pin a stable client contract.

## Install

```sh
pip install personalclaw-client
# or
uv pip install personalclaw-client
```

## Usage

```python
from personalclaw_client import PersonalClawClient

async with PersonalClawClient(app_name="my-app") as pc:
    ok = await pc.ping()
    status = await pc.get_status()
    await pc.send_message("session-1", "hello")
```

## Errors

Client calls raise `PersonalClawError` (with a machine-readable `ErrorCode`) on
gateway/transport failures — catch it to distinguish "gateway unreachable" from
"bad request".

## Links

- Homepage: https://personalclaw.dev
- Source & issues: https://github.com/PersonalClaw/PersonalClaw
- License: MIT
