Skip to main content

Real-time communication layer for remote SLEAP training and inference

Project description

sleap-rtc (SLEAP Connect)

Remote training and inference for SLEAP — run sleap-nn on a GPU worker from your local machine.

Quick Start

Option 1: Dashboard

  1. Login — Go to the dashboard and log in with GitHub.

  2. Create a room — Click RoomsCreate Room.

  3. Generate an account key — Go to Account Keys and create one. Copy it for the worker.

  4. Deploy a worker — On your GPU machine, install and start a worker:

    # Install sleap-rtc with sleap-nn (auto-detects GPU)
    uv tool install --python 3.11 sleap-rtc \
      --with "sleap-nn[torch]" \
      --with-executables-from sleap-nn \
      --torch-backend auto
    
    # Login and start the worker
    sleap-rtc login
    sleap-rtc config add-mount /path/to/your/data
    sleap-rtc worker --room <room-id>
    
  5. Submit a job — In the dashboard, click Submit Job on your room card, select the worker, upload a config, and submit.

Option 2: CLI

# Install on the GPU machine (auto-detects GPU)
uv tool install --python 3.11 sleap-rtc \
  --with "sleap-nn[torch]" \
  --with-executables-from sleap-nn \
  --torch-backend auto

# Login with GitHub (opens browser)
sleap-rtc login

# Configure data mounts
sleap-rtc config add-mount /path/to/your/data

# Start the worker in a room
sleap-rtc worker --room <room-id>

Then submit jobs from:

  • The dashboard web UI
  • The SLEAP GUI (Remote Training dialog under Predict → Run Training)

Docker

# Pull and run the worker image
docker run --gpus all \
  -e SLEAP_RTC_ACCOUNT_KEY=<your-account-key> \
  -v /path/to/data:/app/shared_data \
  ghcr.io/talmolab/sleap-rtc:latest \
  worker --room <room-id>

Installation

Worker (GPU machine):

# Auto-detect GPU (recommended)
uv tool install --python 3.11 sleap-rtc \
  --with "sleap-nn[torch]" \
  --with-executables-from sleap-nn \
  --torch-backend auto

Or specify a backend explicitly:

# CUDA GPU
uv tool install --python 3.11 sleap-rtc \
  --with "sleap-nn[torch-cuda130]" \
  --with-executables-from sleap-nn

# CPU only
uv tool install --python 3.11 sleap-rtc \
  --with "sleap-nn[torch-cpu]" \
  --with-executables-from sleap-nn

Pre-flight check:

sleap-rtc doctor

How It Works

  1. Workers connect to a signaling server via WebSocket and join a room.
  2. Clients (dashboard, SLEAP GUI, or sleap-app) connect to the same room.
  3. WebRTC peer connections are established for direct communication.
  4. Jobs are submitted as structured specs (training or inference) and executed on the worker's GPU.
  5. Progress streams back in real-time. Results are saved to shared storage.

Links

  • SLEAP — Pose estimation framework
  • sleap-nn — Neural network backend
  • Dashboard — Web UI for room and job management
  • sleap-app — Modern SLEAP labeling GUI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sleap_rtc-0.0.7.tar.gz (595.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sleap_rtc-0.0.7-py3-none-any.whl (360.2 kB view details)

Uploaded Python 3

File details

Details for the file sleap_rtc-0.0.7.tar.gz.

File metadata

  • Download URL: sleap_rtc-0.0.7.tar.gz
  • Upload date:
  • Size: 595.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sleap_rtc-0.0.7.tar.gz
Algorithm Hash digest
SHA256 1909e4da81a6d28bdfa13f62fc666750a9cf193763ac3eeb9b1b6bc18f9d1aef
MD5 e283b147bd05109d50fc4081e489bbb4
BLAKE2b-256 d19d253c0848ce7bb347c5defa323e60a6e49d16aa9734bbe01777e42c14efa8

See more details on using hashes here.

File details

Details for the file sleap_rtc-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: sleap_rtc-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 360.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sleap_rtc-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 4bb35b169b6ab616fe2ad0d63aec8ca78c566624f0e5cd48b41ec5986b072160
MD5 2538a816a34fb89754f90671cb59a733
BLAKE2b-256 5a6ca75e0ccd719c6c3f2cb9dd45d477359d3d4f7251ad026cf322a0ad3a5603

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page