Glaas minimal logo, light

Quick Start

On this page

The shortest path from roar installed to a real DAG you can look at.

Install

uv tool install roar-cli    # recommended
pipx install roar-cli       # alternative

Requires Python 3.10+. Linux (x86_64 / aarch64) and macOS (arm64 / x86_64) are supported; Windows isn't yet. The default tracer works everywhere; eBPF-based tracing additionally requires Linux ≥ 5.8 with CAP_BPF. For the full platform matrix, tracer-backend prerequisites, macOS SIP notes, and sdist build steps, see Installation.

Initialize roar in a project

cd ~/your-project
roar init

This creates a .roar/ directory next to your .git/. One-time per repo.

Run commands as usual — just prefix with roar run

roar run python preprocess.py --input data.csv --output features.parquet
roar run python train.py --data features.parquet --output model.pt
roar run python evaluate.py --model model.pt --output metrics.json

Nothing about your scripts changes. roar records the command, what it read, what it wrote, the git commit, your environment, exit status, and timing.

Inspect what you just built

roar status      # active session, latest job, tracked artifacts
roar dag         # the inferred pipeline
roar show model.pt   # full lineage of one artifact — including how to reproduce it

You now have:

  • A recorded history of every run
  • A DAG inferred from the actual file flow — not declared
  • A way to answer "where did this artifact come from?" by hash

…with zero pipeline configuration.

Publish to GLaaS

Everything so far is local. To make an artifact's lineage globally lookup-able by hash, register it with GLaaS (Global Lineage-as-a-Service):

roar register model.pt

This publishes the artifact's lineage — the chain of jobs and inputs that produced it — to GLaaS. Anyone with the resulting hash can then look it up at glaas.ai, or reproduce it (next section).

A new repo defaults to the anonymous scope so you can try roar register without an account; each register prompts to confirm the public publication (skip with roar register -y). To publish privately or under a project, run roar login and roar scope use <private | public | <owner>/<project>>. See Scopes for the full picture.

Reproduce someone else's artifact

Given a hash that's registered to GLaaS, anyone can recreate the artifact:

roar reproduce <artifact-hash>

roar walks the lineage backward, clones the right code, sets up the environment, and re-runs the chain.

Where to next