Metadata-Version: 2.4
Name: soteria-sentinel
Version: 0.2.0
Requires-Dist: fastapi[standard]>=0.128.8
Requires-Dist: pydantic>=2.13.4
Summary: Soteria, she who watches over us.
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# Soteria

She who watches over us.

## Usage - For Aether Developers

### Installing Soteria

Soteria can be installed via `pip`, `uv` or other similar package managers for PyPI:

```sh
# Using pip
pip install soteria-sentinel

# Using uv
uv add soteria-sentinel
```

### Initializing Soteria

Initialize Soteria at the start of a trading day with a callback to the function to handle incoming messages:

```py
from soteria_sentinel import Soteria

# Define handler function for incoming messages from Soteria
def handle_message_from_soteria(message: dict):
    # Do whatever you want with Soteria's messages

    # For example,
    temperature = message["value"]
    ...

# Create the Soteria sentinel with callback handler
sentinel = Soteria(on_message=handle_message_from_soteria)

# Start Soteria (this will set up the Unix Domain socket)
sentinel.start()
```

### Stopping Soteria

End Soteria's watch at the end of the trading day.

```py
# Stop Soteria's watch
sentinel.stop()
```

Soteria will kill her children and close and clean up the socket connection to her children.

---

Built with ❤️ by Caramel Labs.

