Skip to content

Releases: talmolab/sleap-connect

sleap-connect v0.0.7

Choose a tag to compare

@alicup29 alicup29 released this 01 Apr 23:36

What's New

This release transforms the dashboard from a basic training launcher into a full-featured job control center with inference support, multi-config training, and graceful job management.

Dashboard Inference Job Submission (#76)

  • Training/Inference toggle in the Submit Job modal — switch between training and inference workflows
  • File browser for inference — browse worker filesystem to select model checkpoint folders and data files (.slp)
  • Worker log streaming for inference jobs — tqdm progress and sleap-nn output displayed in real time
  • Job Summary now includes logs for both training and inference jobs

Multi-Config Training + Stop Early (#75)

  • Multiple config upload — submit centroid + centered_instance (or any combination) in a single job
  • Per-config hyperparameter preview — cards showing batch size, max epochs, learning rate for each config
  • Stop Early button — gracefully stops the current model's training via ZMQ and proceeds to the next model/inference
  • Cancel Training button — stops all remaining models and skips inference entirely
  • Model queue indicator — shows "Model 1 / 2" with updates on model switch

Dashboard Job Cancellation + Stale State Fixes (#73)

  • ZMQ-based graceful cancellation — replaces SIGTERM with ZMQ {"command": "stop"} for clean DDP shutdown
  • Two-click cancel confirmation — prevents accidental cancellation with a 3-second confirmation window
  • Wizard state resets — fixes stale config filenames, missing video artifacts, and validation status persisting across modal opens
  • SSE event guards — prevents stale file-check events from previous sessions from corrupting the current wizard
  • README rewrite — side-by-side Dashboard/CLI/Docker quickstart with --torch-backend auto

Worker Room Reconnection Fixes (#72)

  • File browsing, metadata updates, Ctrl+C handling, and non-admin message routing fixes after WebSocket reconnection

Upgrade

pip install --upgrade sleap-rtc
# or
uv pip install --upgrade sleap-rtc

Workers must be updated to v0.0.7 for multi-config training and inference job support.

sleap-connect v0.0.6

Choose a tag to compare

@alicup29 alicup29 released this 23 Mar 18:14

What's new in v0.0.6

Worker reliability

  • WebSocket reconnection: Workers automatically reconnect to the signaling server with exponential backoff (1s, 2s, 4s... up to 5 min cap) after network failures or server restarts. Configurable --max-reconnect-time to limit retries. (#69)
  • Signaling heartbeat watchdog: Application-level heartbeat detection closes stale connections through Cloudflare proxy within 90 seconds, triggering automatic reconnection. (#69)
  • Server-initiated heartbeat: Signaling server sends periodic pings to each connected worker, enabling stale connection detection through Cloudflare's TCP proxy. (webRTC-connect#30)
  • Graceful shutdown: Ctrl+C cleanly exits the worker during both idle and training states, with proper signal handling through asyncio. (#69)

Docker deployment

  • Production-ready worker image: Dockerfile rewritten to install full sleap-rtc package with CLI entrypoint. Start a worker with a single command: docker run --gpus all -e SLEAP_RTC_ACCOUNT_KEY=... ghcr.io/talmolab/sleap-rtc-worker:latest (#70)
  • Source-based test builds: Added Dockerfile.test for CI to build and test unreleased code in Docker before cutting releases. (#70)

Dashboard

  • Deploy Worker modal: New "Deploy Worker" button on each room with three deployment method tabs — Docker command builder, Cluster (RunAI/K8s/Slurm) guide, and Direct Install instructions. Auto-fills account key and room ID. (#70)

Developer experience

  • sleap-rtc doctor enhancements: Pre-flight checks now include GPU detection (model, memory, CUDA version), account key validation, sleap-nn availability, and data mount verification. (#71)

Full changelog

v0.0.5...v0.0.6

sleap-connect v0.0.5

Choose a tag to compare

@alicup29 alicup29 released this 18 Mar 19:20

What's new in v0.0.5

New authentication architecture

  • Account key auth (slp_acct_xxx...): Long-lived, named, revocable keys replace per-room API keys. Works headless — no browser needed for workers. (#60, #61)
  • Ed25519 keypair P2P auth: Client private keys never leave the machine; workers verify via server-registered public keys. (#60, #67)
  • sleap-rtc key commands: create, list, revoke, use, show for full key lifecycle management (#60)
  • GUI keypair generation: SLEAP GUI login now auto-generates Ed25519 keypairs and registers public keys (#67)

Dashboard

  • Account Keys management tab: Create, view, copy, and revoke account keys from the browser (#66)
  • Job submission workflow: Submit training jobs directly from the dashboard with worker selection, config editing, and live progress (#63, #64, #65)
  • Job tracking & worker status monitoring: Real-time busy/idle status, active job context, SSE reconnection on refresh, completion badges with full log history (#68)
  • Auth migration: Dashboard updated for new account key auth flow (#62)

Bug fixes

  • Worker peer ID uniqueness: Added UUID suffix to prevent collisions when multiple workers share the same account key on the same host

Full changelog

v0.0.4...v0.0.5

sleap-rtc v0.0.4

Choose a tag to compare

@alicup29 alicup29 released this 09 Mar 18:58
0898bf2

Changes since v0.0.3

Video path resolution for training (#57)
The worker now writes a resolved .slp file with corrected video paths instead of passing --video-path-map to sleap-nn. Fixes training failures when video files are stored at different paths on the worker than on the client, including support for image sequence (TIF) videos.

Terminal progress display, path resolution UX, and diagnostics (#56)
Fixes to live training progress output, path resolution dialog flow improvements, and diagnostic output cleanup.

Worker shutdown reliability
SIGINT watchdog fallback: if a ZMQ-based stop signal doesn't terminate the worker within 30 seconds, the watchdog escalates with a direct SIGINT. Prevents zombie worker processes on abnormal exits.

sleap-rtc v0.0.3

Choose a tag to compare

@alicup29 alicup29 released this 27 Feb 23:18

What's Changed

Fixed

  • ModuleNotFoundError: No module named 'yaml'pyyaml was listed only in [optional-dependencies.dev], so it was absent from the installed wheel. Worker startup crashed immediately with this error at jobs/validator.py. (#55)

Note: v0.0.2 fixed the missing __init__.py packaging issue but inadvertently shipped without pyyaml in runtime dependencies. v0.0.3 is the correct working release.

Full Changelog: https://github.com/talmolab/sleap-rtc/blob/main/CHANGELOG.md

Upgrade: pip install --upgrade sleap-rtc or uvx sleap-rtc (uvx always pulls latest).

v0.0.1

Choose a tag to compare

@alicup29 alicup29 released this 26 Feb 22:04
c04c9b7

Initial release