Back to Wiki

CenterOS CLI

Install and use the CenterOS CLI to manage datasets, training jobs, models, and fleet robots from the terminal. pip install centeros-cli.

On this page


Agent & Dev Access


Also see

Guide Python 3.10+

Manage datasets, training jobs, models, and your robot fleet from the terminal. Also usable as a Python SDK.

Updated Apr 2026 pip install centeros-cli

Installation

shell Copy

# From PyPI $ pip install centeros-cli

# From source (development) $ git clone https://github.com/JerryAlfred/fearless-platform.git $ cd fearless-platform/centeros-cli $ pip install -e .

Requires Python 3.10 or higher. The CLI installs as the centeros command.

Quick Start

The typical workflow: authenticate, list your datasets, create a training job, then deploy the model.

shell Copy

# 1. Authenticate $ centeros login --username jerry --password '***' $ centeros whoami

# 2. Create a Personal Access Token for scripts $ centeros pat create --name "my-agent" --scopes "*"

# 3. Browse your datasets $ centeros datasets list

# 4. Create a training job $ centeros training create --name "dp-v1" --model-type diffusion_policy --dataset-ids 1,2

# 5. Launch it $ centeros training launch <job_id>

# 6. Register and deploy the resulting model $ centeros models register --name "dp-v1" --artifact-uri gs://bucket/model.pt $ centeros models promote 5 --to validated $ centeros fleet deploy --robot arm-01 --model 5

Authentication

Login

shell Copy

$ centeros login --username jerry --password '***' # Logged in as jerry # Token stored in ~/.centeros/config.json

$ centeros whoami # Username: jerry | Email: jerry@... | Role: admin

$ centeros logout # Credentials cleared.

Personal Access Tokens

PATs are long-lived tokens for CI/CD, scripts, and agents. They start with frl_.

shell Copy

$ centeros pat create --name "ci-pipeline" --scopes "datasets:read,training:*" --expires-days 90 # PAT created: frl_abc123... # Store this token securely -- it won't be shown again.

# Use the PAT in CI/CD $ export CENTEROS_TOKEN=frl_abc123... $ centeros datasets list

Datasets

Command Description
centeros datasets list List all datasets. Options: --project, --limit, --json
centeros datasets get <id> Get detailed info about a single dataset.
centeros datasets upload Request a signed upload URL. Options: --name, --format, --robot-type

shell Copy

$ centeros datasets list --limit 10 # +----+--------------+------+-------+----------+ # | ID | Name | Type | Robot | Size | # +----+--------------+------+-------+----------+ # | 42 | grasp-ep-001 | hdf5 | arm | 52.3 MB | # +----+--------------+------+-------+----------+

$ centeros datasets get 42 # full JSON details $ centeros datasets upload --name "grasp-ep-002" --format hdf5 --robot-type arm

Training

Command Description
centeros training list List training jobs. Options: --status, --limit, --json
centeros training create Create a new job. Options: --name, --model-type, --dataset-ids, --mode, --base-model
centeros training status <id> Check progress of a training job.
centeros training launch <id> Launch a pending training job.
centeros training estimate Estimate cost for given datasets. --dataset-ids
centeros training catalog Show available fine-tune model providers.

shell Copy

$ centeros training catalog $ centeros training create --name "dp-v1" --model-type diffusion_policy --dataset-ids 1,2 $ centeros training status abc123def456 $ centeros training launch abc123def456 $ centeros training estimate --dataset-ids 1,2,3

Models

Command Description
centeros models list List registered models. Options: --status, --name, --limit, --json
centeros models register Register a new model. Options: --name, --artifact-uri, --version-tag, --training-job-id
centeros models promote <id> Promote model lifecycle. `--to validated
centeros models lineage <id> Show full lineage: training job, datasets, deployments, evals.

shell Copy

$ centeros models register --name "dp-v1" --artifact-uri gs://bucket/model.pt --training-job-id abc123 $ centeros models list --status draft $ centeros models promote 5 --to validated $ centeros models lineage 5

Fleet

Command Description
centeros fleet summary Fleet overview: online/offline counts, alerts. --json
centeros fleet robots List robots. Options: --status, --site-key, --search
centeros fleet deploy Deploy a model to a robot. --robot, --model, --strategy
centeros fleet estop <id> Emergency stop a robot. Requires confirmation.

shell Copy

$ centeros fleet summary # +----------------+-------+ # | Metric | Value | # +----------------+-------+ # | Total Robots | 12 | # | online | 8 | # | offline | 4 | # | Open Alerts | 2 | # +----------------+-------+

$ centeros fleet robots --status online $ centeros fleet deploy --robot arm-01 --model 5 --strategy immediate $ centeros fleet estop arm-01

Action Layer (Raw API)

Access the Action Layer directly from the CLI for any action, including those without a dedicated subcommand.

shell Copy

# List all actions, optionally filtered by category $ centeros actions list $ centeros actions list --category training

# Execute any action by name $ centeros actions run list_datasets --params '{"limit": 10}' $ centeros actions run get_platform_stats --params '{}' $ centeros actions run create_annotation_task --params '{"title": "Label grasps", "dataset_id": 42}'

Stats & Health

shell Copy

$ centeros stats # +-------------------+--------+ # | Metric | Value | # +-------------------+--------+ # | Total Datasets | 247 | # | Total Size | 18.3 GB| # | Total Annotations | 1,204 | # +-------------------+--------+

$ centeros health --json

Configuration

Credentials are stored in ~/.centeros/config.json. You can override settings with environment variables:

Variable Description
CENTEROS_API_URL API base URL. Overrides the value in config file. Default: production Cloud Run backend.
CENTEROS_TOKEN Auth token (JWT or PAT). Overrides stored credentials. Set this for CI/CD pipelines.

CI/CD tip: Set CENTEROS_TOKEN=frl_... in your CI environment and the CLI will authenticate automatically without needing centeros login.

Python SDK

The same centeros-cli package includes a Python SDK for programmatic use in scripts, notebooks, and custom pipelines.

python Copy

from centeros import CenterOSClient

client = CenterOSClient(api_url="https://...", token="frl_...")

# Datasets datasets = client.datasets.list()

# Training job = client.training.create( name="test-run", dataset_ids=[1, 2], model_type="diffusion_policy", ) client.training.launch(job["job_key"])

# Models models = client.models.list(status="validated") client.models.promote(5, "deployed") lineage = client.models.lineage(5)

# Fleet summary = client.fleet.summary() client.fleet.deploy("arm-01", model_version_id=5)

# Actions (raw) result = client.actions.run("get_platform_stats")

The CenterOSClient reads ~/.centeros/config.json by default if no api_url or token are provided. You can also use the CENTEROS_API_URL and CENTEROS_TOKEN environment variables.

Next steps

API Reference Full REST API docs with all 39 actions and schemas → MCP Integration Connect Claude, Cursor, or Windsurf to the platform → Agent Access Overview Three ways to access the platform programmatically → Open Platform Manage everything in the browser →