Skip to content

CLI

pip install koyu — three verbs for moving data between koyu.dev and any machine. Two dependencies (httpx, blake3); installs cleanly inside any training environment, which is the point.

koyu fetch <proj_|run_ id> <dir>    # mirror a public project's or run's files — no auth
koyu pull  <mf_ id> <dir>           # materialize a dataset — no auth if public
koyu push  <run_|proj_ id> <paths…> # upload results — needs KOYU_TOKEN
koyu whoami                         # sanity-check the token

pull writes the dataset layout directly — manifest.json + episode bundles — ready for any template's dataloader.py. Downloads stream, run concurrently, respect presigned-URL expiry by batching, and resume: re-runs skip current files. push is blake3-diffed two-step sync; unchanged files cost nothing, large files go multipart automatically, and nothing is visible until commit.

fetch is a mirror, not a clone. No identity, no sync relationship. If you want your variant of a project that syncs with your koyu cloud, that is the workspace's clone.

Typical GPU-box session, entirely agent-drivable:

pip install koyu
koyu pull mf_… /workspace/data                 # anonymous
# …train…
export KOYU_TOKEN=koyu_…                       # child token, short-lived
koyu push run_… checkpoints/best.pt metrics.jsonl results.json
env var meaning
KOYU_TOKEN bearer token, only needed for writes/private reads
KOYU_API API base override (default https://koyu.dev)