Metadata-Version: 2.4
Name: obby-client
Version: 0.1.2
Summary: The Obby IRCv3 client engine
Home-Page: https://github.com/obbyworld/obby-client
License: GPL-3.0-or-later
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Repository, https://github.com/obbyworld/obby-client

# obby-client

The Obby IRCv3 client engine. It parses the protocol, drives the connection and holds the client
model. It opens no socket and keeps no clock, so the host feeds it bytes and time.

```sh
pip install obby-client
```

```python
from obby_client import Client

client = Client({"nick": "mynick"})
client.connected()

while (out := client.poll_transmit()) is not None:
    sock.sendall(out)

client.handle_bytes(sock.recv(4096))
for event in client.poll_events():
    print(event)

client.command({"command": "join", "channel": "#obby", "key": None})
client.tick(monotonic_ms, unix_ms)
```

## Build from source

```sh
maturin build --release --manifest-path bindings/obby-python/Cargo.toml
```

