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 cancelling or aborting 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.7.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.7.0
File Size Uploaded Provenance Actions
yellowdog_cli-15.7.0.tar.gz 1.3 MB Without provenance Details for yellowdog_cli-15.7.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for yellowdog-cli 15.7.0
File Interpreter ABI Platform Actions
yellowdog_cli-15.7.0-py3-none-any.whl Python 3 none any Details for yellowdog_cli-15.7.0-py3-none-any.whl

Total release size: 2.0 MB

Release files / yellowdog_cli-15.7.0.tar.gz

Download URL yellowdog_cli-15.7.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
c7efc782998387cf8c1caacf66d608f0c91b63cc867601377b975c7d2b99831f
BLAKE2b-256 checksum
How to use checksums
5b9de7fdce421eb38ed461e6fa23e1bb2d545999dc48ef56942c6d6de81cff71
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.7.0-py3-none-any.whl

Download URL yellowdog_cli-15.7.0-py3-none-any.whl
Size 750.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5c7400544c22ec20433650e4b06112a98bbc3141addee9fcebc8ba9bde5836b4
BLAKE2b-256 checksum
How to use checksums
89256b2925d72a96f73aeebe221d31f0d1df3edef423f9587184ac4e8f8eb4dd
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.7.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.7.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