D
DreamLake

Overview

Introduction

GitHub

The DreamLake Python SDK (dreamlake-py) provides a CLI for uploading, downloading, and managing multimodal experiment data.

Installation

pip install dreamlake
# or with uv
uv pip install dreamlake

Quick Example

# Login once
dreamlake login --url http://localhost:10334
 
# Upload a video — type auto-detected, folder hierarchy auto-created
dreamlake upload ./run01.mp4 --episode alice@robotics:run-042 --to /camera/front

Features

  • Unified upload — auto-detects file type (video, audio, labels, text tracks) by extension
  • Episode targeting[namespace@]space[:episode] syntax for organizing uploads
  • Path hierarchy--to /camera/front places files in a browseable folder tree under the episode
  • Multipart upload — large files are chunked (10 MB parts, 4 parallel workers) and uploaded via BSS
  • Resumable — interrupted uploads resume from where they left off
  • HLS processing — Lambda is auto-triggered after upload for streaming-ready segmentation
  • Download — fetch files by path via presigned S3 URLs

Supported File Types

ExtensionTypeLambda Processing
.mp4, .mov, .avi, .mkv, .webmVideoHLS split (TS segments)
.wav, .mp3, .flac, .aac, .oggAudioHLS split (AAC segments)
.vtt, .srtText TrackTime-windowed VTT chunks
.jsonl, .csv (labels)Label TrackTime-windowed JSONL chunks

Environment Variables

VariableDescriptionDefault
DREAMLAKE_REMOTEDreamLake Server URLFrom login
DREAMLAKE_BSS_URLBSS URLFrom login
DREAMLAKE_API_KEYAPI token (alternative to login)

Debug Mode

Add --debug before any command to use local dev servers:

dreamlake --debug upload ./run01.mp4 --episode alice@robotics:run-042 --to /camera/front

This sets DREAMLAKE_REMOTE=http://localhost:10334 and DREAMLAKE_BSS_URL=http://localhost:10234.