Metadata-Version: 2.4
Name: aithersdk
Version: 0.2.0
Summary: Python SDK for AitherOS — the canonical client library
Project-URL: Homepage, https://aitherium.com
Project-URL: Repository, https://github.com/Aitherium/aither
Author-email: Aitherium <hello@aitherium.com>
License-Expression: MIT
License-File: LICENSE
Keywords: agents,ai,aitheros,client,sdk
Requires-Python: >=3.10
Requires-Dist: httpx>=0.26.0
Requires-Dist: pydantic>=2.0
Provides-Extra: async
Requires-Dist: httpx[http2]; extra == 'async'
Description-Content-Type: text/markdown

# AitherSDK

The canonical Python client for AitherOS. Used by AitherShell, AitherDesktop, AitherConnect, and third-party apps.

## Install

```bash
pip install aithersdk
# or from source
pip install -e aithersdk/
```

## Quick Start

```python
from aithersdk import AitherClient

async def main():
    async with AitherClient() as client:
        # Simple chat
        response = await client.chat("What is AitherOS?")
        print(response.text)
        print(f"Model: {response.model}, Elapsed: {response.elapsed_ms}ms")

        # Delegate to agent
        result = await client.delegate("demiurge", "Write a REST API for tasks")
        print(result.text)

        # Switch persona
        await client.set_will("private-mode")

        # Stream response
        async for chunk in client.stream("Tell me a story"):
            print(chunk, end="")

        # Check system health
        health = await client.health()
        print(f"Status: {health.status}")
```

## Scripting

```python
from aithersdk import AitherClient
import asyncio

async def batch_process():
    async with AitherClient(url="https://elysium.aitherium.com") as client:
        questions = ["What is ML?", "What is NLP?", "What is CV?"]
        for q in questions:
            r = await client.chat(q, effort=3)
            print(f"Q: {q}\nA: {r.text}\n")

asyncio.run(batch_process())
```

## Configuration

```python
# Local Genesis
client = AitherClient()  # http://localhost:8001

# Cloud (Elysium)
client = AitherClient(url="https://elysium.aitherium.com")

# Environment variables
# AITHER_URL=https://elysium.aitherium.com
# AITHER_WILL_URL=http://localhost:8097
client = AitherClient()  # picks up env vars
```
