Install lab CLI

lab is the OpenSDL command-line tool for local device services, asset validation, OCI artifact builds, a local asset daemon, pulling, and local kinematic instances. Asset management does not require Docker or LiyanLabs: an agent can use one installed executable to discover, build, pull, verify, split, run, operate, stop, and reclaim a resource.

Install

The installer detects your operating system and CPU and downloads the latest public release. It installs the executable that contains the CLI, local asset daemon, OCI store, OpenUSD split workflow, and kinematic runtime; device schemas, firmware, Docker, and laboratory hardware drivers remain separate.

macOS / Linux

Run in your terminal:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ScienceOL/OpenSDL/releases/latest/download/lab-cli-installer.sh | sh

Windows

Run in PowerShell:

powershell -ExecutionPolicy Bypass -c "irm https://github.com/ScienceOL/OpenSDL/releases/latest/download/lab-cli-installer.ps1 | iex"
PlatformPrebuilt targets
macOSApple Silicon ARM64, Intel x86-64
Linuxx86-64 GNU / musl, ARM64 GNU
Windowsx86-64 MSVC

You can also download a platform archive and its SHA-256 checksum from GitHub Releases, extract it, and add the executable directory to PATH.

Verify installation

Open a new terminal after installation:

lab --version
lab --help
lab daemon --help
lab build --help
lab split --help
lab run --help
lab ps --help

Use v0.3.1 or newer. The package and installer names use lab-cli; the command you run is lab. Help should include daemon, validate, pack, build, split, inspect, push, pull, run, ps, logs, and rm. If these commands are missing, update to the latest release.

If your terminal cannot find lab, follow the installer's PATH instructions. The default executable directory is ~/.cargo/bin on macOS / Linux and %USERPROFILE%\.cargo\bin on Windows. When CARGO_HOME is configured, executables go in its bin directory.

Update

Stop the old daemon with lab daemon stop, then run the installer again or the updater below, and start the new daemon with lab daemon start. On Windows, stop managed instances before replacing the executable:

lab-cli-update

For a manual archive installation, download a new release and replace the executables.

Optional runtime for USD splitting

The release contains build, push, pull, daemon and kinematic support. lab split also requires OpenUSD Python. Install Python 3.12, then the pinned parser runtime.

macOS / Linux:

python3.12 -m venv "$HOME/.local/share/opensdl-usd"
"$HOME/.local/share/opensdl-usd/bin/python" -m pip install usd-core==25.11
export LAB_USD_PYTHON="$HOME/.local/share/opensdl-usd/bin/python"

Windows PowerShell:

py -3.12 -m venv "$env:LOCALAPPDATA/opensdl-usd"
& "$env:LOCALAPPDATA/opensdl-usd/Scripts/python.exe" -m pip install usd-core==25.11
$env:LAB_USD_PYTHON = "$env:LOCALAPPDATA/opensdl-usd/Scripts/python.exe"

Set LAB_USD_PYTHON in each new shell, or pass the absolute interpreter path with lab split --python. The adapter is embedded in the release binary; no source checkout is required.

Install from source for development

To develop the CLI or build it yourself, prepare Rust 1.89 or newer and Git, then run:

git clone https://github.com/ScienceOL/OpenSDL.git
cd OpenSDL

The source build follows the same release binary and is useful when developing OpenSDL:

cargo install --locked --path crates/lab-cli

Confirm the new commands:

lab asset --help
lab instance --help
lab run --help
lab ps --help
lab daemon --help
lab build --help
lab split --help

If Rust is not installed, install it with rustup and reopen the terminal. The source build requires Rust 1.89 or newer and Git; the build supplies its Protobuf compiler dependency.

Prepare hardware configuration, device schemas, and firmware using the OpenSDL device guides. The CLI installer installs executables only.

Continue with the Hub Quick Start. For a runnable local example, read runtime instances.