Scaleout Edge CLI

The Scaleout Edge Command-Line Interface (CLI) provides tools for managing projects, clients, compute packages, and training sessions from the terminal. It is designed to simplify common operations such as starting clients, uploading models, monitoring training progress, and interacting with the Scaleout Edge control plane.

scaleout client

Commands to generate client configs, list or fetch clients, and start a client instance.

Usage

scaleout client [OPTIONS] [COMMAND] [ARGS]...

create-enrollment-token

Create an enrollment token for edge client registration.

Host and credential resolve the same way as every other command: from -H/-t if given, otherwise from the active context (‘scaleout login’).

Prints the token to stdout so it can be piped directly to ‘scaleout client enroll’.

Usage

scaleout client create-enrollment-token [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--expires-in <expires_in>

Token lifetime, e.g. ‘24h’, ‘7d’, ‘90m’.

Default:

'24h'

-n, --name <name>

Required Human-readable label for the enrollment token.

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

enroll

Enroll a new edge client using an enrollment token.

Calls the server to register the client, stores the resulting credentials in the local token cache, and optionally writes a YAML config file that can be passed to client start --init.

Usage

scaleout client enroll [OPTIONS]

Options

--no-config

Disable the generation of config yaml

--client-id <client_id>

Optional stable client ID for traceability (e.g. device serial number).

-p, --config-dir <config_dir>

Directory to write a client YAML config file (named <client_id>.yaml). Defaults to current directory.

-n, --name <name>

Optional per-client label stored on the server.

-u, --api-url <api_url>

Required API server URL (e.g. https://edge.example.com).

--enrollment-token <enrollment_token>

Required Enrollment JWT issued by an admin.

get

Get client.

Returns

  • result: client with given id

Usage

scaleout client get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Client ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

get-config

Generate client config file(s).

The generated client config file(s) contain the following properties:

  • client_id: uuid

  • discover_host: controller, get from context file

  • name: client name (set prefix with options)

  • refresh_token: unique refresh token for client

  • token: unique access token for client

Usage

scaleout client get-config [OPTIONS]

Options

-n, --name <name>

Required Client name, will be used as prefix for client names. The client name will be suffixed with an index.

-g, --group <group>

number of clients to generate in a bulk

-t, --token <token>

Authentication admin token

-P, --port <port>

Port of api-server (api)

-H, --host <host>

Hostname of api-server (api)

--protocol <protocol>

Communication protocol of api-server (api)

-p, --path <path>

Path to where client yaml file will be located

list

List clients.

Returns

  • count: number of clients

  • result: list of clients

Usage

scaleout client list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

start

Start client.

For a persistent client identity, enroll first with scaleout client enroll and start via --client-id/--init (see the CLI docs). Passing an enrollment token directly via –token self-enrolls a fresh, ephemeral client identity on every invocation.

Usage

scaleout client start [OPTIONS]

Options

-u, --api-url <api_url>

Hostname for scaleout api.

-p, --api-port <api_port>

Port for discovery services (reducer).

--token <token>

Authentication token: a client refresh token (exchanged automatically for an access token), or an enrollment token to self-enroll on the fly. Prefer ‘scaleout client enroll’ plus –client-id/–init for anything that needs a persistent identity across restarts; passing an enrollment token here is best kept for ephemeral/CI nodes.

-n, --name <name>
-i, --client-id <client_id>
--remote-package <remote_package>

Download and extract compute package from server (managed python env is enabled by default). Optionally pass a package name to fetch a specific package, e.g. –remote-package my-package.

--log-level <log_level>

Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)

Options:

DEBUG | INFO | WARNING | ERROR | CRITICAL

-c, --preferred-combiner <preferred_combiner>

name of the preferred combiner

--combiner <combiner>

Skip combiner assignment from discover service and attach directly to combiner host.

--combiner-port <combiner_port>

Combiner port, need to be used with –combiner

-va, --validator <validator>
-tr, --trainer <trainer>
-hp, --helper_type <helper_type>
-in, --init <init>

Set to a filename to (re)init client from file state.

--dispatcher

Use the dispatcher client instead of the importer client.

--disable-managed-env

Disable managed python environment

scaleout combiner

Commands to list and inspect combiners.

Usage

scaleout combiner [OPTIONS] [COMMAND] [ARGS]...

get

Get combiner.

Returns

  • result: combiner with given id

Usage

scaleout combiner get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Combiner ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List combiners.

Returns

  • count: number of combiners

  • result: list of combiners

Usage

scaleout combiner list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

set-public-hostname

Set the public address of a combiner.

PUBLIC_HOSTNAME is the hostname and port, as hostname:port, of the endpoint that accepts the edge clients’ gRPC connections, such as a configured ingress or load balancer. Without a port, edge clients connect on the combiner’s configured port. For IPv6, use [address]:port.

Usage

scaleout combiner set-public-hostname [OPTIONS] PUBLIC_HOSTNAME

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Combiner ID

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

Arguments

PUBLIC_HOSTNAME

Required argument

scaleout model

Commands to list models, get a model by ID, and set/upload the active model.

Usage

scaleout model [OPTIONS] [COMMAND] [ARGS]...

get

Get model by id.

Usage

scaleout model get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Model ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List models.

Usage

scaleout model list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-s, --session_id <session_id>

models in session with given session id

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

set-active

Set the initial model and upload to model repository.

Usage

scaleout model set-active [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-f, --file <file>

Required Path to the model file

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

scaleout package

Commands to create, list/inspect, and upload compute packages.

Usage

scaleout package [OPTIONS] [COMMAND] [ARGS]...

create

Create compute package.

Make a tar.gz archive of folder given by –path. The archive will be named –name and saved in –output.

Usage

scaleout package create [OPTIONS]

Options

-p, --path <path>

Required Path to package directory containing scaleout.yaml

-n, --name <name>

Name of package tarball

-o, --output <output>

Output directory for the generated tarball

get

Return a package with given id.

Returns

  • result: package with given id

Usage

scaleout package get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Package ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

Return a list of packages.

Returns

  • count: number of packages

  • result: list of packages

Usage

scaleout package list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

set-active

Set a package as active.

Returns

  • result: package with given id

Usage

scaleout package set-active [OPTIONS]

Options

-p, --protocol <protocol>

Communication protocol of controller (api)

-H, --host <host>

Hostname of controller (api)

-P, --port <port>

Port of controller (api)

-t, --token <token>

Authentication token

-f, --file <file>

Required Path to the package file

-d, --description <description>

Description of the package

-n, --name <name>

Required Name of the package

--helper <helper>

Helper to use for the package

--restart-clients

Push the new package to connected clients and restart them.

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

scaleout round

Commands to list and inspect rounds.

Usage

scaleout round [OPTIONS] [COMMAND] [ARGS]...

get

Get round.

Returns

  • result: round with given id

Usage

scaleout round get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-t, --token <token>

Authentication token

-o, --output <output_format>

Output in JSON format

-id, --id <id>

Required Round ID

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List rounds.

Returns

  • count: number of rounds

  • result: list of rounds

Usage

scaleout round list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-s, --session_id <session_id>

Rounds in session with given session id

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

scaleout run

Commands to execute tasks defined in scaleout.yaml.

Usage

scaleout run [OPTIONS] [COMMAND] [ARGS]...

build

Execute ‘build’ entrypoint in scaleout.yaml.

param ctx:

param path:

Path to folder containing scaleout.yaml

param keep_venv:

Flag to keep the created virtual environment after build

param dispatch:

Flag to indicate that the build should be run in an automatically created venv

param output:

Output directory for the generated tarball

type path:

str

Usage

scaleout run build [OPTIONS]

Options

-p, --path <path>

Required Path to package directory containing scaleout.yaml

-v, --keep-venv

Use flag to keep the python virtual environment (python_env in scaleout.yaml)

-d, --dispatch

Use flag to indicate that the build should be run in an automatically created venv

-o, --output <output>

Output directory for the generated tarball (default: current directory)

install

Install a package environment into active environment.

param ctx:

param path:

Path to folder containing scaleout.yaml

type path:

str

Usage

scaleout run install [OPTIONS]

Options

-p, --path <path>

Required Path to package directory containing scaleout.yaml

scaleout session

Commands to list sessions, inspect a session, and start a new training session.

Usage

scaleout session [OPTIONS] [COMMAND] [ARGS]...

get

Get session by id.

Usage

scaleout session get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Session ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List sessions.

Usage

scaleout session list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

start

Start a new session.

Usage

scaleout session start [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-rc, --requested_clients <requested_clients>

The requested number of clients

-mc, --min_clients <min_clients>

The minimum number of clients required

-hp, --helper <helper>

The helper type to use

-v, --validate <validate>

Whether to validate the model after each round

-d, --delete_models <delete_models>

Whether to delete models after each round at combiner (save storage)

-rb, --round_buffer_size <round_buffer_size>

The round buffer size to use

-r, --rounds <rounds>

The number of rounds to perform

-rt, --round_timeout <round_timeout>

The round timeout to use in seconds

-m, --model_id <model_id>

The id of the initial model

-ak, --aggregator_kwargs <aggregator_kwargs>

Aggregator keyword arguments

-a, --aggregator <aggregator>

The aggregator plugin to use

-n, --name <name>

Name of the session

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

stop

Stop a session.

Usage

scaleout session stop [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

scaleout status

Commands to list and get status entries.

Usage

scaleout status [OPTIONS] [COMMAND] [ARGS]...

get

Get status.

Returns

  • result: status with given id

Usage

scaleout status get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Status ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List statuses.

Returns

  • count: number of statuses

  • result: list of statuses

Usage

scaleout status list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-s, --session_id <session_id>

statuses with given session id

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

scaleout validation

Commands to list and get validation results.

Usage

scaleout validation [OPTIONS] [COMMAND] [ARGS]...

get

Get validation.

Returns

  • result: validation with given id

Usage

scaleout validation get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required validation ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List validations.

Returns

  • count: number of validations

  • result: list of validations

Usage

scaleout validation list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-s, --session_id <session_id>

validations in session with given session id

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

start

Start a validation for given session ID and model ID.

Usage

scaleout validation start [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--model-id <model_id>

Required Model ID

--session-id <session_id>

Required Session ID

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

scaleout

Scaleout command-line interface for starting clients and interacting with API resources such as models, sessions and more.

Usage

scaleout [OPTIONS] COMMAND [ARGS]...

Options

--version

Show the version and exit.

Use ‘scaleout COMMAND –help’ for detailed help on a command.

client

Commands to generate client configs, list or fetch clients, and start a client instance.

Usage

scaleout client [OPTIONS] [COMMAND] [ARGS]...

create-enrollment-token

Create an enrollment token for edge client registration.

Host and credential resolve the same way as every other command: from -H/-t if given, otherwise from the active context (‘scaleout login’).

Prints the token to stdout so it can be piped directly to ‘scaleout client enroll’.

Usage

scaleout client create-enrollment-token [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--expires-in <expires_in>

Token lifetime, e.g. ‘24h’, ‘7d’, ‘90m’.

Default:

'24h'

-n, --name <name>

Required Human-readable label for the enrollment token.

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

enroll

Enroll a new edge client using an enrollment token.

Calls the server to register the client, stores the resulting credentials in the local token cache, and optionally writes a YAML config file that can be passed to client start --init.

Usage

scaleout client enroll [OPTIONS]

Options

--no-config

Disable the generation of config yaml

--client-id <client_id>

Optional stable client ID for traceability (e.g. device serial number).

-p, --config-dir <config_dir>

Directory to write a client YAML config file (named <client_id>.yaml). Defaults to current directory.

-n, --name <name>

Optional per-client label stored on the server.

-u, --api-url <api_url>

Required API server URL (e.g. https://edge.example.com).

--enrollment-token <enrollment_token>

Required Enrollment JWT issued by an admin.

get

Get client.

Returns

  • result: client with given id

Usage

scaleout client get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Client ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

get-config

Generate client config file(s).

The generated client config file(s) contain the following properties:

  • client_id: uuid

  • discover_host: controller, get from context file

  • name: client name (set prefix with options)

  • refresh_token: unique refresh token for client

  • token: unique access token for client

Usage

scaleout client get-config [OPTIONS]

Options

-n, --name <name>

Required Client name, will be used as prefix for client names. The client name will be suffixed with an index.

-g, --group <group>

number of clients to generate in a bulk

-t, --token <token>

Authentication admin token

-P, --port <port>

Port of api-server (api)

-H, --host <host>

Hostname of api-server (api)

--protocol <protocol>

Communication protocol of api-server (api)

-p, --path <path>

Path to where client yaml file will be located

list

List clients.

Returns

  • count: number of clients

  • result: list of clients

Usage

scaleout client list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

start

Start client.

For a persistent client identity, enroll first with scaleout client enroll and start via --client-id/--init (see the CLI docs). Passing an enrollment token directly via –token self-enrolls a fresh, ephemeral client identity on every invocation.

Usage

scaleout client start [OPTIONS]

Options

-u, --api-url <api_url>

Hostname for scaleout api.

-p, --api-port <api_port>

Port for discovery services (reducer).

--token <token>

Authentication token: a client refresh token (exchanged automatically for an access token), or an enrollment token to self-enroll on the fly. Prefer ‘scaleout client enroll’ plus –client-id/–init for anything that needs a persistent identity across restarts; passing an enrollment token here is best kept for ephemeral/CI nodes.

-n, --name <name>
-i, --client-id <client_id>
--remote-package <remote_package>

Download and extract compute package from server (managed python env is enabled by default). Optionally pass a package name to fetch a specific package, e.g. –remote-package my-package.

--log-level <log_level>

Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)

Options:

DEBUG | INFO | WARNING | ERROR | CRITICAL

-c, --preferred-combiner <preferred_combiner>

name of the preferred combiner

--combiner <combiner>

Skip combiner assignment from discover service and attach directly to combiner host.

--combiner-port <combiner_port>

Combiner port, need to be used with –combiner

-va, --validator <validator>
-tr, --trainer <trainer>
-hp, --helper_type <helper_type>
-in, --init <init>

Set to a filename to (re)init client from file state.

--dispatcher

Use the dispatcher client instead of the importer client.

--disable-managed-env

Disable managed python environment

combiner

Commands to list and inspect combiners.

Usage

scaleout combiner [OPTIONS] [COMMAND] [ARGS]...

get

Get combiner.

Returns

  • result: combiner with given id

Usage

scaleout combiner get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Combiner ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List combiners.

Returns

  • count: number of combiners

  • result: list of combiners

Usage

scaleout combiner list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

set-public-hostname

Set the public address of a combiner.

PUBLIC_HOSTNAME is the hostname and port, as hostname:port, of the endpoint that accepts the edge clients’ gRPC connections, such as a configured ingress or load balancer. Without a port, edge clients connect on the combiner’s configured port. For IPv6, use [address]:port.

Usage

scaleout combiner set-public-hostname [OPTIONS] PUBLIC_HOSTNAME

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Combiner ID

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

Arguments

PUBLIC_HOSTNAME

Required argument

context

Manage CLI contexts.

Examples:

scaleout context # List all contexts scaleout context production # Switch to context named ‘production’ scaleout context 2 # Switch to context at index 2

Usage

scaleout context [OPTIONS] [SELECTOR]

Arguments

SELECTOR

Optional argument

login

Usage

scaleout login [OPTIONS] INSTANCE_URL

Arguments

INSTANCE_URL

Required argument

model

Commands to list models, get a model by ID, and set/upload the active model.

Usage

scaleout model [OPTIONS] [COMMAND] [ARGS]...

get

Get model by id.

Usage

scaleout model get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Model ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List models.

Usage

scaleout model list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-s, --session_id <session_id>

models in session with given session id

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

set-active

Set the initial model and upload to model repository.

Usage

scaleout model set-active [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-f, --file <file>

Required Path to the model file

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

package

Commands to create, list/inspect, and upload compute packages.

Usage

scaleout package [OPTIONS] [COMMAND] [ARGS]...

create

Create compute package.

Make a tar.gz archive of folder given by –path. The archive will be named –name and saved in –output.

Usage

scaleout package create [OPTIONS]

Options

-p, --path <path>

Required Path to package directory containing scaleout.yaml

-n, --name <name>

Name of package tarball

-o, --output <output>

Output directory for the generated tarball

get

Return a package with given id.

Returns

  • result: package with given id

Usage

scaleout package get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Package ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

Return a list of packages.

Returns

  • count: number of packages

  • result: list of packages

Usage

scaleout package list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

set-active

Set a package as active.

Returns

  • result: package with given id

Usage

scaleout package set-active [OPTIONS]

Options

-p, --protocol <protocol>

Communication protocol of controller (api)

-H, --host <host>

Hostname of controller (api)

-P, --port <port>

Port of controller (api)

-t, --token <token>

Authentication token

-f, --file <file>

Required Path to the package file

-d, --description <description>

Description of the package

-n, --name <name>

Required Name of the package

--helper <helper>

Helper to use for the package

--restart-clients

Push the new package to connected clients and restart them.

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

remove

Remove a CLI context.

Examples:

scaleout remove production # Remove context named ‘production’ scaleout remove 2 # Remove context at index 2 scaleout remove production -y # Remove without confirmation

Usage

scaleout remove [OPTIONS] SELECTOR

Options

-y, --yes

Skip confirmation prompt

Arguments

SELECTOR

Required argument

round

Commands to list and inspect rounds.

Usage

scaleout round [OPTIONS] [COMMAND] [ARGS]...

get

Get round.

Returns

  • result: round with given id

Usage

scaleout round get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-t, --token <token>

Authentication token

-o, --output <output_format>

Output in JSON format

-id, --id <id>

Required Round ID

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List rounds.

Returns

  • count: number of rounds

  • result: list of rounds

Usage

scaleout round list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-s, --session_id <session_id>

Rounds in session with given session id

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

run

Commands to execute tasks defined in scaleout.yaml.

Usage

scaleout run [OPTIONS] [COMMAND] [ARGS]...

build

Execute ‘build’ entrypoint in scaleout.yaml.

param ctx:

param path:

Path to folder containing scaleout.yaml

param keep_venv:

Flag to keep the created virtual environment after build

param dispatch:

Flag to indicate that the build should be run in an automatically created venv

param output:

Output directory for the generated tarball

type path:

str

Usage

scaleout run build [OPTIONS]

Options

-p, --path <path>

Required Path to package directory containing scaleout.yaml

-v, --keep-venv

Use flag to keep the python virtual environment (python_env in scaleout.yaml)

-d, --dispatch

Use flag to indicate that the build should be run in an automatically created venv

-o, --output <output>

Output directory for the generated tarball (default: current directory)

install

Install a package environment into active environment.

param ctx:

param path:

Path to folder containing scaleout.yaml

type path:

str

Usage

scaleout run install [OPTIONS]

Options

-p, --path <path>

Required Path to package directory containing scaleout.yaml

session

Commands to list sessions, inspect a session, and start a new training session.

Usage

scaleout session [OPTIONS] [COMMAND] [ARGS]...

get

Get session by id.

Usage

scaleout session get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Session ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List sessions.

Usage

scaleout session list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

start

Start a new session.

Usage

scaleout session start [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-rc, --requested_clients <requested_clients>

The requested number of clients

-mc, --min_clients <min_clients>

The minimum number of clients required

-hp, --helper <helper>

The helper type to use

-v, --validate <validate>

Whether to validate the model after each round

-d, --delete_models <delete_models>

Whether to delete models after each round at combiner (save storage)

-rb, --round_buffer_size <round_buffer_size>

The round buffer size to use

-r, --rounds <rounds>

The number of rounds to perform

-rt, --round_timeout <round_timeout>

The round timeout to use in seconds

-m, --model_id <model_id>

The id of the initial model

-ak, --aggregator_kwargs <aggregator_kwargs>

Aggregator keyword arguments

-a, --aggregator <aggregator>

The aggregator plugin to use

-n, --name <name>

Name of the session

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

stop

Stop a session.

Usage

scaleout session stop [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

status

Commands to list and get status entries.

Usage

scaleout status [OPTIONS] [COMMAND] [ARGS]...

get

Get status.

Returns

  • result: status with given id

Usage

scaleout status get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required Status ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List statuses.

Returns

  • count: number of statuses

  • result: list of statuses

Usage

scaleout status list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-s, --session_id <session_id>

statuses with given session id

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

validation

Commands to list and get validation results.

Usage

scaleout validation [OPTIONS] [COMMAND] [ARGS]...

get

Get validation.

Returns

  • result: validation with given id

Usage

scaleout validation get [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

-id, --id <id>

Required validation ID

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

list

List validations.

Returns

  • count: number of validations

  • result: list of validations

Usage

scaleout validation list [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--n_max <n_max>

Number of items to list

-s, --session_id <session_id>

validations in session with given session id

-o, --output <output_format>

Output in JSON format

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)

start

Start a validation for given session ID and model ID.

Usage

scaleout validation start [OPTIONS]

Options

--no-verify-tls

Do not verify the server TLS certificate (connection is still encrypted).

--model-id <model_id>

Required Model ID

--session-id <session_id>

Required Session ID

-t, --token <token>

Authentication token

-P, --port <port>

Port of controller (api)

-H, --host <host>

Hostname of controller (api)

-p, --protocol <protocol>

Communication protocol of controller (api)