Metadata-Version: 2.4
Name: sleap-rtc
Version: 0.0.4
Summary: Real-time communication layer for remote SLEAP training and inference
License-File: LICENSE
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Requires-Dist: aiohttp>=3.9.0
Requires-Dist: aiortc
Requires-Dist: boto3
Requires-Dist: jsonpickle
Requires-Dist: loguru
Requires-Dist: opencv-python-headless>=4.12.0.88
Requires-Dist: prompt-toolkit>=3.0.0
Requires-Dist: pycrdt>=0.8.0
Requires-Dist: pyjwt>=2.8.0
Requires-Dist: pyotp>=2.9.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: pyzmq
Requires-Dist: requests
Requires-Dist: rich-click>=1.7.0
Requires-Dist: textual>=0.50.0
Requires-Dist: tomli-w>=1.2.0
Requires-Dist: websockets
Provides-Extra: dev
Requires-Dist: black; extra == 'dev'
Requires-Dist: pyqt5; (sys_platform != 'win32') and extra == 'dev'
Requires-Dist: pyqt6; (sys_platform == 'win32') and extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: pytest-timeout; extra == 'dev'
Requires-Dist: pyyaml; extra == 'dev'
Requires-Dist: qtpy; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: sleap-io; extra == 'dev'
Description-Content-Type: text/markdown

# sleap-rtc

sleap-rtc lets you run SLEAP training and inference on a remote GPU from your local machine.

## Installation

On the worker (GPU machine):

```bash
uv tool install --python 3.11 sleap-rtc --with "sleap-nn[torch]" --with-executables-from sleap-nn --torch-backend auto
```

## Setup

### 1. Get an API key and create a room

Go to the [sleap-rtc dashboard](https://talmolab.github.io/sleap-rtc/dashboard/index.html), log in with GitHub, and:

1. Generate an API key under **Tokens**
2. Create a room under **Rooms** and note the room secret

### 2. Start the worker

```bash
sleap-rtc login --api-key <api-key>
sleap-rtc config add-mount /path/to/your/data
sleap-rtc worker --room-secret <secret>
```

### 3. Submit a job

Open SLEAP, go to the Remote Training dialog, paste the session string displayed by the worker, and submit.

## Links

- [SLEAP](https://sleap.ai)
- [sleap-nn](https://nn.sleap.ai)
- [Dashboard](https://talmolab.github.io/sleap-rtc/dashboard/index.html)
