Command Line Interface for the YellowDog Platform
Overview
This is a set of Python CLI commands for interacting with the YellowDog Platform, also providing examples of usage of the YellowDog Python SDK.
The CLI is one command, yd. Most of what it does names the object acted on, then what to do to it — yd workrequirement submit, yd instance terminate — and yd <noun> --help lists a noun's verbs; yd help lists everything. The commands support:
- Work Requirements — submitting, cancelling, holding, starting, finishing and reprioritising them, and comparing them against Worker Pools, with
yd workrequirement(short formyd wr) - Task Groups and Tasks — reprioritising Task Groups and comparing them against Worker Pools with
yd taskgroup(yd tg), and aborting running Tasks withyd task - Worker Pools — provisioning, resizing and shutting them down, and refreshing or regenerating Configured Worker Pools' tokens, with
yd workerpool(yd wp) - Compute Requirements — instantiating, resizing, stopping, starting, reprovisioning, terminating and setting when they are automatically terminated with
yd computerequirement(yd cr) - Instances and Nodes — stopping, starting, restarting, deprovisioning and terminating individual Instances with
yd instance, and Worker Pool Nodes' Instances withyd node, which also shuts Nodes down and submits Node Actions to them; listing and showing Workers withyd worker - Resources — creating, updating and removing Compute Source Templates, Compute Requirement Templates, Keyrings, Credentials, Image Families, Namespaces, Allowances, Configured Worker Pools, Attribute Definitions, Namespace Policies, Groups, Applications and Users (update only) with
yd resource, from specification files or on the command line, and showing or removing them by name - Allowances — boosting them with
yd allowance - Remote data stores — uploading, downloading, listing, deleting and copying files with
yd data - Cloud provider setup (AWS, Azure, GCP) with the
yd cloudwizardcommand - Cloud regions, instance types and prices, as the YellowDog Platform knows them, with
yd cloudinfo - Inspecting — listing items with
yd list, showing one in full withyd show, following event streams withyd follow, and waiting for Work Requirements, Worker Pools or Compute Requirements to finish withyd wait. Each Platform noun haslistandshowverbs of its own, such asyd task list --within my-work-requirement --status failed. - Showing the details of the current Application with the
yd applicationcommand - Diagnosing the configuration, credentials and connectivity with the
yd doctorcommand - Reporting the processed values of variable substitutions with the
yd variablescommand - Completing commands, verbs, options and their values on Tab, in bash, zsh, fish and PowerShell, with the
yd completioncommand
The yd-* commands, such as yd-submit and yd-list, are deprecated: they still run, with a warning, until a future release; yd help --deprecated says what replaces each.
Utility commands are also provided: yd init (a starter configuration file), yd format-json, yd help, yd jsonnet2json, yd schema, and yd version. For a full list of commands run yd help.
The remote data store commands — the yd data verbs upload, download, delete, list and copy — use rclone, and do not require YellowDog credentials. An rclone binary already on your PATH is used in preference, and is never modified. Otherwise one is downloaded to a per-user cache directory the first time it's needed.
Installation
Python 3.10 or later is required. Choose the installation that fits how you work; uv supplies Python itself if you have none.
uv tool — the commands on your PATH everywhere, with no environment to activate:
uv tool install yellowdog-cli
A virtual environment created with uv, downloading Python 3.14 if it is not installed:
uv venv --python 3.14 yd-env
source yd-env/bin/activate # macOS / Linux; on Windows: yd-env\Scripts\activate
uv pip install yellowdog-cli
pip in a virtual environment, with a Python you have installed:
python3 -m venv yd-env
source yd-env/bin/activate # macOS / Linux; on Windows: yd-env\Scripts\activate
pip install -U yellowdog-cli
Other installers, such as pipx, work too.
Optional Extras
Four optional extras are available:
| Extra | Provides |
|---|---|
jsonnet |
Jsonnet in place of JSON, for any specification file |
commander |
The yd commander desktop GUI, described below |
cloudwizard |
The cloud provider SDKs required by the yd cloudwizard command |
mcp |
The yd mcp MCP server, described below |
List the ones you need in square brackets at installation time, e.g. to install all four:
uv tool install "yellowdog-cli[jsonnet,commander,cloudwizard,mcp]" # uv tool
uv pip install -U "yellowdog-cli[jsonnet,commander,cloudwizard,mcp]" # uv virtual environment
pip install -U "yellowdog-cli[jsonnet,commander,cloudwizard,mcp]" # pip
Commander GUI
yd commander is an optional cross-platform desktop GUI for driving the CLI, installed via the commander extra above:
pip install -U "yellowdog-cli[commander]"
yd commander
It works by running yd commands on your behalf and displaying their output. See the Commander documentation for details.
MCP Server
yd mcp is an optional MCP server exposing the yd commands as tools for an agent, installed via the mcp extra above:
pip install -U "yellowdog-cli[mcp]"
yd mcp config.toml
It runs yd commands on an agent's behalf, with --json, and returns their results. See the MCP server documentation for details.
Documentation
For a first run from start to finish, follow the CLI track of Getting Started in the YellowDog Documentation.
The CLI's own documentation is in the GitHub repository, one page per topic, mapped in its README's Documentation section: guides to configuration, variable substitutions, Work Requirements, Worker Pools, the data client, resources, Jsonnet and checking specifications, and reference pages for the commands (the Command List), the Work Requirement properties and the --json output and exit codes. Help is also available for every command with --help or -h.
This documentation should be read in conjunction with the main YellowDog Documentation.
Metadata
Release files for yellowdog-cli 15.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| yellowdog_cli-15.6.0.tar.gz | 1.3 MB | Without provenance | Details for yellowdog_cli-15.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| yellowdog_cli-15.6.0-py3-none-any.whl | Python 3 | none | any | Details for yellowdog_cli-15.6.0-py3-none-any.whl |
Total release size: 2.0 MB
Release files / yellowdog_cli-15.6.0.tar.gz
| Download URL | yellowdog_cli-15.6.0.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5a3a94ecb12f6a76a908a31fb679e3dbca017ef1f1034a24daf3bd952d3e3a2a
|
|
BLAKE2b-256 checksum How to use checksums |
cc34ede7990ec34c1100d83a978f83fc61c931b8e9a263815dea71b1d5760aa0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.10
|
Release files / yellowdog_cli-15.6.0-py3-none-any.whl
| Download URL | yellowdog_cli-15.6.0-py3-none-any.whl |
|---|---|
| Size | 738.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1be1f7efb6418e4aadaaa527f789c2173c0af33c817559e3c1e067797a836bec
|
|
BLAKE2b-256 checksum How to use checksums |
1be960f3cc702b7c6415cc764909c0519bf326c132ed1b273bce2217e883e466
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.10
|
Security for yellowdog-cli 15.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.