CLI Commands¶
This section documents all available commands in the Kelvin SDK CLI.
The Kelvin SDK provides a command-line interface accessible via the kelvin command.
kelvin¶
Kelvin CLI - The complete tool to interact with the Kelvin Ecosystem.
Use –json for machine-readable output. Use –yes to skip confirmations in scripts. Use –verbose for debug information. Use –tree to see all available commands.
Usage
kelvin [OPTIONS] COMMAND [ARGS]...
Options
- --json¶
Output as JSON (for scripting).
- -y, --yes¶
Skip confirmation prompts.
- -v, --verbose¶
Enable debug logging.
- --docs¶
Open the Kelvin SDK documentation webpage.
- --tree¶
Show command tree with descriptions.
- --version¶
Show the version and exit.
app¶
Create, build and manage applications.
Usage
kelvin app [OPTIONS] COMMAND [ARGS]...
agent¶
Manage AI agent configuration files for applications.
Usage
kelvin app agent [OPTIONS] COMMAND [ARGS]...
sync¶
Sync agent configuration files to the application directory.
Copies the latest AGENTS.md and .skills directory from the SDK into the specified application directory. Creates symlinks for AI coding assistants:
Example:
kelvin app agent sync –app-dir=”.”
Usage
kelvin app agent sync [OPTIONS]
Options
- --app-dir <app_dir>¶
The path to the application’s directory. Assumes the current directory if not specified.
build¶
Build a local application into a packaged image.
Usage
kelvin app build [OPTIONS]
Options
- --app-dir <app_dir>¶
The path to the application’s directory. Assumes the current directory if not specified.
- --build-arg <build_args>¶
Docker build-args in KEY=VALUE format.
- --multiarch <architectures>¶
Comma-separated list of architectures to build. Supported: amd64,arm64,arm32. Any other value will be passed to the docker build engine as is.
- Default:
'amd64'
- --fresh¶
Build without cache.
- --skip-schema-validation¶
Skip JSON schema validation of app.yaml.
create¶
Create a new application based on the specified parameters.
If APP_NAME is not provided, you will be prompted for it.
Usage
kelvin app create [OPTIONS] [APP_NAME]
Options
- -d, --description <description>¶
A simple description for the new app.
- -t, --app-type <template>¶
Specify the application type.
- Default:
'app'- Options:
app | importer | exporter | docker
- --app-dir <app_dir>¶
The path to create the application in. Defaults to current directory.
- --version <app_version>¶
Initial application version.
- Default:
'0.0.1'
Arguments
- APP_NAME¶
Optional argument
images¶
Management and display of local application images.
Usage
kelvin app images [OPTIONS] COMMAND [ARGS]...
list¶
List all locally built applications.
Usage
kelvin app images list [OPTIONS]
remove¶
Remove an application from the local applications list.
APP_NAME_WITH_VERSION must include the version tag (e.g., “my-app:1.0.0”).
Usage
kelvin app images remove [OPTIONS] APP_NAME_WITH_VERSION
Arguments
- APP_NAME_WITH_VERSION¶
Required argument
unpack¶
Extract the content of an application from its built image.
APP_NAME_WITH_VERSION must include the version tag (e.g., “my-app:1.0.0”).
Example:
kelvin app images unpack “my-app:1.0.0” –output-dir=./extracted
Usage
kelvin app images unpack [OPTIONS] APP_NAME_WITH_VERSION
Options
- -o, --output-dir <output_dir>¶
Required Directory to extract the application content to.
- -c, --container-dir <container_dir>¶
Directory inside the container to extract. Defaults to /opt/kelvin/app.
Arguments
- APP_NAME_WITH_VERSION¶
Required argument
mlflow¶
MLFlow integration commands.
Usage
kelvin app mlflow [OPTIONS] COMMAND [ARGS]...
create¶
Create app based on MLFlow model.
Downloads an MLflow model from the registry and creates a new Kelvin application with the model integrated.
Usage
kelvin app mlflow create [OPTIONS]
Options
- --registry-uri <registry_uri>¶
Required MLFlow registry URI.
- --model-name <model_name>¶
Model name
- --model-version <model_version>¶
Model version
- --app-name <app_name>¶
App name, defaults to the model name.
- --app-dir <app_dir>¶
The path to the application’s directory. Assumes the current directory if not specified.
- --prompt, --no-prompt¶
Prompt for missing information if needed.
import¶
Import a MLFlow model into an existing Kelvin App.
Downloads an MLflow model from the registry and places it in the ‘model’ directory of an existing Kelvin application.
Usage
kelvin app mlflow import [OPTIONS]
Options
- --registry-uri <registry_uri>¶
Required MLFlow registry URI.
- --model-name <model_name>¶
Model name
- --model-version <model_version>¶
Model version
- --app-dir <app_dir>¶
The path to the application’s directory. Assumes the current directory if not specified.
- --prompt, --no-prompt¶
Prompt for missing information if needed.
- --update-config, --no-update-config¶
Update App configuration with model info
list¶
Search MLFlow models.
Lists available models in the MLflow registry, limited to 1000 results.
Usage
kelvin app mlflow list [OPTIONS]
Options
- --registry-uri <registry_uri>¶
Required MLFlow registry URI.
samples¶
Opens Kelvin’s code samples GitHub repo.
Usage
kelvin app samples [OPTIONS]
templates¶
List available application templates.
Usage
kelvin app templates [OPTIONS]
test¶
Test local applications with simulated data.
Usage
kelvin app test [OPTIONS] COMMAND [ARGS]...
csv¶
Publishes data from a csv to the application. The publishing rate is determined by the difference between timestamps in the csv rows.
Usage
kelvin app test csv [OPTIONS]
Options
- --config <config>¶
Required Path to the app config file
- Default:
'app.yaml'
- --csv <csv>¶
Required Path to the csv file to publish
- --publish-interval <publish_interval>¶
Publish interval. Set either to “csv” to use the interval between csv rows or to a number to set a fixed publishing interval in seconds.
- Default:
'csv'
- --ignore-timestamps¶
Ignore CSV timestamps.
- Default:
False
- --now-offset¶
Offsets the (first) CSV timestamp to current time (now).
- Default:
False
- --replay¶
Replay mode: Continuously publish data from CSV, restarting from the beginning at end of file
- Default:
False
- --asset-count <asset_count>¶
Overrides CSV asset column and generates test assets: from ‘test-asset-1’ to ‘test-asset-N’.
- --assets <assets>¶
Assets Info (Properties) CSV file.
- --asset-parameter <asset_parameter>¶
Override asset parameters eg –asset-parameters kelvin_closed_loop=true (Can be set multiple times)
generator¶
Publishes data generated by a custom generator class
Usage
kelvin app test generator [OPTIONS]
Options
- --config <config>¶
Required Path to the app config file
- Default:
'app.yaml'
- --entrypoint <entrypoint>¶
Required Path to the entrypoint (setuptools style) of the generator python class. It can be path a .py file or path to a module. Eg: mygenerator.py:MyGenerator
- --asset-count <asset_count>¶
Number of test assets from ‘test-asset-1’ to ‘test-asset-N’
simulator¶
Generates random data to application’s inputs
Usage
kelvin app test simulator [OPTIONS]
Options
- --config <config>¶
Required Path to the app config file
- Default:
'app.yaml'
- --period <period>¶
Publish period in seconds
- Default:
5
- --min <min>¶
Minimum value to publish
- Default:
0
- --max <max>¶
Maximum value to publish
- Default:
100
- --random, --counter¶
Publish random values or incremental
- Default:
True
- --asset-count <asset_count>¶
Number of test assets from ‘test-asset-1’ to ‘test-asset-N’
- --asset-parameter <asset_parameter>¶
Override asset parameters eg –asset-parameters kelvin_closed_loop=true (Can be set multiple times)
upload¶
Upload an application to the platform’s Application Registry.
This command builds the application Docker image and pushes it to the platform’s registry, then registers the application with the platform.
e.g. kelvin app upload –app-dir=”.”
Usage
kelvin app upload [OPTIONS]
Options
- --app-dir <app_dir>¶
The path to the application’s directory. Assumes the current directory if not specified.
- --build-arg <build_args>¶
Docker build-args in KEY=VALUE format.
- --multiarch <architectures>¶
Comma-separated list of architectures to build. Supported: amd64,arm64,arm32. Any other value will be passed to the docker build engine as is.
- Default:
'amd64'
- --fresh¶
Build without cache.
- --skip-schema-validation¶
Skip JSON schema validation of app.yaml.
appregistry¶
(Deprecated) Manage platform Applications.
This command group is deprecated. Use ‘apps’ instead.
Usage
kelvin appregistry [OPTIONS] COMMAND [ARGS]...
delete¶
(Deprecated) Delete an application from the platform’s Application Registry.
Usage
kelvin appregistry delete [OPTIONS] APP_NAME_WITH_VERSION
Arguments
- APP_NAME_WITH_VERSION¶
Required argument
download¶
(Deprecated) Download an application from the platform.
Usage
kelvin appregistry download [OPTIONS] APP_NAME_WITH_VERSION
Options
- --tag-local-name, --no-tag-local-name¶
Tag the downloaded image with a local name.
- Default:
True
Arguments
- APP_NAME_WITH_VERSION¶
Required argument
list¶
(Deprecated) List all available applications on the platform’s Application Registry.
Usage
kelvin appregistry list [OPTIONS]
search¶
(Deprecated) Search for specific apps on the platform’s Application Registry.
Usage
kelvin appregistry search [OPTIONS] [QUERY]
Arguments
- QUERY¶
Optional argument
show¶
(Deprecated) Show platform details and configurations for a specific application.
Usage
kelvin appregistry show [OPTIONS] [NAME]
Arguments
- NAME¶
Optional argument
upload¶
(Deprecated) Upload an application to the platform’s Application Registry.
Usage
kelvin appregistry upload [OPTIONS]
Options
- --app-dir <app_dir>¶
The path to the application’s directory.
- --build-arg <build_args>¶
Docker build-args in KEY=VALUE format.
- --multiarch <architectures>¶
Comma-separated list of architectures to build.
- Default:
'amd64'
- --fresh¶
Build without cache.
- --skip-schema-validation¶
Skip JSON schema validation of app.yaml.
apps¶
Manage platform Applications.
Usage
kelvin apps [OPTIONS] COMMAND [ARGS]...
delete¶
Delete an application from the platform’s Application Registry.
APP_NAME_WITH_VERSION can be just the app name (deletes all versions) or include a specific version (e.g., “example-app:1.0.0”).
WARNING: This will also delete ALL workloads associated with this application.
Examples:
kelvin apps delete “example-app:1.0.0” # Delete specific version
kelvin apps delete “example-app” # Delete all versions
Usage
kelvin apps delete [OPTIONS] APP_NAME_WITH_VERSION
Arguments
- APP_NAME_WITH_VERSION¶
Required argument
download¶
Download an application from the platform and make it available locally.
APP_NAME_WITH_VERSION should include the version (e.g., “example-app:1.0.0”). If no version is specified, the latest version will be downloaded.
Example:
kelvin apps download “example-app:1.0.0”
Usage
kelvin apps download [OPTIONS] APP_NAME_WITH_VERSION
Options
- --tag-local-name, --no-tag-local-name¶
Tag the downloaded image with a local name (without registry prefix).
- Default:
True
Arguments
- APP_NAME_WITH_VERSION¶
Required argument
list¶
List all available applications on the platform’s Application Registry.
Usage
kelvin apps list [OPTIONS]
search¶
Search for specific apps on the platform’s Application Registry.
e.g. kelvin apps search “my-app”
Usage
kelvin apps search [OPTIONS] [QUERY]
Arguments
- QUERY¶
Optional argument
show¶
Show platform details and configurations for a specific application.
NAME can be just the app name or include a version (e.g., “example-app:1.0.0”).
Examples:
kelvin apps show example-app
kelvin apps show example-app:1.0.0
Usage
kelvin apps show [OPTIONS] [NAME]
Arguments
- NAME¶
Optional argument
upload¶
Upload an application to the platform’s Application Registry.
This command builds the application Docker image and pushes it to the platform’s registry, then registers the application with the platform.
This is equivalent to running ‘kelvin app upload’.
Example:
kelvin apps upload –app-dir=”.”
Usage
kelvin apps upload [OPTIONS]
Options
- --app-dir <app_dir>¶
The path to the application’s directory. Assumes the current directory if not specified.
- --build-arg <build_args>¶
Docker build-args in KEY=VALUE format.
- --multiarch <architectures>¶
Comma-separated list of architectures to build. Supported: amd64,arm64,arm32.
- Default:
'amd64'
- --fresh¶
Build without cache.
- --skip-schema-validation¶
Skip JSON schema validation of app.yaml.
auth¶
Platform authentication.
Manage authentication to the Kelvin platform.
Usage
kelvin auth [OPTIONS] COMMAND [ARGS]...
login¶
Log in to a Kelvin platform.
URL is the platform URL (e.g., demo.kelvin.ai).
Usage
kelvin auth login [OPTIONS] [URL]
Options
- -u, --username <username>¶
Username for password authentication.
- -p, --password <password>¶
Password for password authentication.
- --totp <totp>¶
Time-based one-time password (TOTP) for 2FA.
- --client-id <client_id>¶
Client ID for client credentials flow.
- --client-secret <client_secret>¶
Client secret for client credentials flow.
- --browser¶
Use browser-based SSO login.
- --reset¶
Ignore stored credentials and login with new ones.
Arguments
- URL¶
Optional argument
logout¶
Log out from the current platform.
Usage
kelvin auth logout [OPTIONS]
reset¶
Reset all authentication state.
Clears stored credentials and session information.
Usage
kelvin auth reset [OPTIONS]
status¶
Show current authentication status.
Usage
kelvin auth status [OPTIONS]
token¶
Get the current access token.
Refreshes the token automatically if expired.
Usage
kelvin auth token [OPTIONS]
Options
- -f, --full¶
Show full token information.
configuration¶
Manage CLI configuration settings.
Usage
kelvin configuration [OPTIONS] COMMAND [ARGS]...
autocomplete¶
Generate shell completion script.
SHELL is the shell type (bash, zsh, or fish). If not specified, attempts to detect from environment.
To enable completion, add to your shell config:
Usage
kelvin configuration autocomplete [OPTIONS] [[bash|zsh|fish]]
Arguments
- SHELL¶
Optional argument
list¶
List all available configurations.
Usage
kelvin configuration list [OPTIONS]
reset¶
Reset all configuration to defaults.
This removes the config file and restores all settings to their default values.
Example: kelvin configuration reset
Usage
kelvin configuration reset [OPTIONS]
set¶
Set a configuration value.
KEY is the configuration setting name. VALUE is the value to set.
Example: kelvin configuration set verbose 1
Usage
kelvin configuration set [OPTIONS] KEY VALUE
Arguments
- KEY¶
Required argument
- VALUE¶
Required argument
unset¶
Reset a configuration value to its default.
KEY is the configuration setting name.
Example: kelvin configuration unset verbose
Usage
kelvin configuration unset [OPTIONS] KEY
Arguments
- KEY¶
Required argument
info¶
Display system and session information.
Shows current session URL, Python version, OS details, and CLI/SDK versions.
Usage
kelvin info [OPTIONS]
reset¶
Reset all CLI state and cached data.
This will: - Log out from all sessions - Clear stored credentials - Reset configuration to defaults - Remove cached data
This action cannot be undone.
Usage
kelvin reset [OPTIONS]
secret¶
Manage platform secrets.
Usage
kelvin secret [OPTIONS] COMMAND [ARGS]...
create¶
Create a secret on the platform.
Usage
kelvin secret create [OPTIONS] [SECRET_NAME]
Options
- --value <value>¶
The value of the secret.
Arguments
- SECRET_NAME¶
Optional argument
delete¶
Delete secrets on the platform.
SECRET_NAMES: One or more secret names to delete.
Examples:
kelvin secret delete my-secret
kelvin secret delete secret-1 secret-2 secret-3
Usage
kelvin secret delete [OPTIONS] SECRET_NAMES...
Arguments
- SECRET_NAMES¶
Required argument(s)
list¶
List all the available secrets on the platform.
Usage
kelvin secret list [OPTIONS]
Options
- --filter <query>¶
Filter secrets by name.
update¶
Update an existing secret on the platform.
Usage
kelvin secret update [OPTIONS] SECRET_NAME
Options
- --value <value>¶
The new value for the secret.
Arguments
- SECRET_NAME¶
Required argument
workload¶
Manage and view application workloads.
Usage
kelvin workload [OPTIONS] COMMAND [ARGS]...
deploy¶
Deploy a workload with specified parameters.
Usage
kelvin workload deploy [OPTIONS]
Options
- -f, --app-config <app_config>¶
Required Path to app.yaml config file.
- -r, --runtime <runtime>¶
Path to runtime.yaml config file.
- -c, --cluster-name <cluster_name>¶
Target cluster name.
- -n, --workload-name <workload_name>¶
Workload name.
- -t, --workload-title <workload_title>¶
Workload display title.
list¶
List the workloads available on the platform.
Usage
kelvin workload list [OPTIONS]
Options
- -a, --app-name <app_name>¶
Filter by application name.
- -n, --node-name <node_name>¶
Filter by node name.
- -c, --cluster-name <cluster_name>¶
Filter by cluster name.
- -s, --status <status>¶
Filter by status.
logs¶
Display the logs of a specific workload.
Usage
kelvin workload logs [OPTIONS] WORKLOAD_NAME
Options
- -n, --tail-lines <tail_lines>¶
Number of lines to show from the end.
- -f, --follow¶
Follow log output.
- -o, --output-file <output_file>¶
Write logs to a file.
Arguments
- WORKLOAD_NAME¶
Required argument
search¶
Search for specific workloads.
Usage
kelvin workload search [OPTIONS] QUERY
Arguments
- QUERY¶
Required argument
show¶
Show the details of a specific workload.
Usage
kelvin workload show [OPTIONS] WORKLOAD_NAME
Arguments
- WORKLOAD_NAME¶
Required argument
start¶
Start a workload on a node.
Usage
kelvin workload start [OPTIONS] WORKLOAD_NAME
Arguments
- WORKLOAD_NAME¶
Required argument
stop¶
Stop a running workload.
Usage
kelvin workload stop [OPTIONS] WORKLOAD_NAME
Arguments
- WORKLOAD_NAME¶
Required argument
undeploy¶
Undeploy and delete a workload.
Usage
kelvin workload undeploy [OPTIONS] WORKLOAD_NAME
Arguments
- WORKLOAD_NAME¶
Required argument
update¶
Update a specific workload based with new configurations.
Usage
kelvin workload update [OPTIONS] WORKLOAD_NAME
Options
- -f, --app-config <app_config>¶
Required Path to app.yaml config file.
- -r, --runtime <runtime>¶
Path to runtime.yaml config file.
- -t, --workload-title <workload_title>¶
Workload display title.
Arguments
- WORKLOAD_NAME¶
Required argument