Metadata-Version: 2.4
Name: chattolib
Version: 0.0.171a0
Summary: Async Python client library for the Chatto webchat GraphQL API
Author-email: Felix <chatto@f3l1x.it>
License-Expression: MIT
Project-URL: Homepage, https://chat.chatto.run
Keywords: chatto,graphql,async,webchat,client
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Communications :: Chat
Classifier: Framework :: AsyncIO
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.27
Requires-Dist: websockets>=13.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.24; extra == "dev"
Requires-Dist: respx>=0.22; extra == "dev"
Requires-Dist: ruff>=0.8; extra == "dev"
Requires-Dist: mypy>=1.13; extra == "dev"
Dynamic: license-file

# chattolib

**Unofficial** async Python client library for the [Chatto](https://chat.chatto.run) webchat GraphQL API.

> **Pre-alpha** — API may change without notice. Use at your own risk.

## Install

```bash
pip install chattolib
```

## Quick start

```python
import asyncio
from chattolib import ChattoClient

async def main():
    async with await ChattoClient.login("username", "password") as client:
        me = await client.me()
        print(f"Logged in as {me.display_name}")

        spaces = await client.spaces()
        for space in spaces:
            print(f"  - {space.name}")

asyncio.run(main())
```

## License

MIT
