Skip to main content

Command Line Interface for the YellowDog Platform

PyPI version Python versions Licence

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 form yd wr)
  • Task Groups and Tasks — reprioritising Task Groups and comparing them against Worker Pools with yd taskgroup (yd tg), and aborting running Tasks with yd 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 with yd node, which also shuts Nodes down and submits Node Actions to them; listing and showing Workers with yd 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 cloudwizard command
  • 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 with yd show, following event streams with yd follow, and waiting for Work Requirements, Worker Pools or Compute Requirements to finish with yd wait. Each Platform noun has list and show verbs of its own, such as yd task list --within my-work-requirement --status failed.
  • Showing the details of the current Application with the yd application command
  • Diagnosing the configuration, credentials and connectivity with the yd doctor command
  • Reporting the processed values of variable substitutions with the yd variables command
  • Completing commands, verbs, options and their values on Tab, in bash, zsh, fish and PowerShell, with the yd completion command

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)

Source distribution for yellowdog-cli 15.6.0
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)

Table of built distributions (wheels) for yellowdog-cli 15.6.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

15.6.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page