Skip to main content

The koyu command line: move robot-learning data and templates between koyu.dev and any machine. Umbrella for all koyu verbs.

Project description

koyu

The koyu command line: move robot-learning data and template files between koyu.dev and any machine. Four verbs, two dependencies (httpx, blake3), zero opinions about your ML stack — it installs cleanly inside any training environment.

pip install koyu-cli

Verbs

# See what's there before downloading — files with sizes, a project's runs,
# a manifest's episode count. Look, then decide.
koyu ls proj_a1b2…              # project files + its run ids
koyu ls run_e5f6…               # run files (spot the 20 GB checkpoint)
koyu ls mf_c3d4…                # episodes, total size, features

# Mirror a public template/project's files — no account needed
koyu fetch proj_a1b2… ./my-workdir

# Selective mirror: take the code, skip the weights
koyu fetch run_e5f6… ./run-info --exclude 'checkpoints/*'
koyu fetch run_e5f6… ./run-info --only 'stats.json,README.md'

# Materialize a dataset (manifest → episodes) — no account needed if public
koyu pull mf_c3d4… ./data/libero-spatial
koyu pull mf_c3d4… ./data/states-only --exclude '*.mp4'   # partial by design

# Upload results to your own run — needs a token
export KOYU_TOKEN=koyu_…        # mint at koyu.dev/settings/tokens
koyu push run_e5f6… checkpoints/best.pt metrics.jsonl results.json

koyu whoami                     # sanity-check the token

--only/--exclude are glob patterns against the stored path, repeatable and comma-separable. Every verb takes --json for machine-readable output on stdout (progress goes to stderr), so an agent can koyu ls --json, decide, then fetch exactly what it needs.

pull writes the koyu dataset layout: manifest.json + episodes/<ep_id>/{data.parquet, <camera>.mp4…, episode.json} — directly readable by any template's vendored dataloader.py. Downloads stream to disk, run concurrently, and resume (already-current files are skipped), so re-running a pull is always safe.

push is blake3-diffed two-step sync: unchanged files cost nothing, large files upload multipart automatically, and nothing is visible until commit succeeds.

What this deliberately is not

  • Not a clone. fetch produces an anonymous mirror with no identity or sync relationship. If you want your variant of a project that syncs with your koyu cloud, that is koyu-workspace's clone.
  • Not a workspace. No local store, no catalog, no server. Files in, files out.

Auth model

Reads of public entities are anonymous by design. A token (KOYU_TOKEN env or --token) is needed only to touch your resources: private data, and any push. Tokens are personal access tokens from koyu.dev/settings/tokens; short-lived child tokens are recommended on rented hardware.

Environment

Variable Meaning
KOYU_TOKEN bearer token for authenticated calls
KOYU_API API base override (default https://koyu.dev)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

koyu_cli-0.1.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

koyu_cli-0.1.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file koyu_cli-0.1.0.tar.gz.

File metadata

  • Download URL: koyu_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for koyu_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f585ae11ae554af0e06d6a5b9d1d3678303a77d46d2f9f300db7e701ac831a64
MD5 5dc02da9340716117ad25a57cb526c96
BLAKE2b-256 7d87d349ec9183a2337efce9fa2df32259cdc0dacb2a1dd0662b91ad3717c1f9

See more details on using hashes here.

File details

Details for the file koyu_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: koyu_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for koyu_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ec994b77ebd9880b75ee3b69980ee280898168fb8624a9004aa1e360c6a4fd2
MD5 9afc3b7db79f40ed9a6ed81bae60bd4f
BLAKE2b-256 72ffdd171692c9a9777ac2c668099aaaf96b1ca7b3c54154c6bbfe34914c03e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page