NeMo Platform CLI

View as Markdown

The NeMo Platform CLI (nemo) is a command-line tool for interacting with NeMo Platform. It provides a unified interface for managing models, running jobs, deploying inference endpoints, and working with a local setup.

Key Capabilities

  • API Operations - Manage models, jobs, workspaces, and other resources
  • Local Setup - Configure local services, providers, and SDK context with a single command
  • Multiple Output Formats - Table, JSON, YAML, CSV, and Markdown for integration with other tools
  • Context Management - Switch between multiple environments (dev, staging, prod) seamlessly
  • Shell Completion - Tab completion for Bash, Zsh, and Fish

Installation

This package downloads and installs additional third-party open-source software projects. Review the license terms of these open-source projects before use.

If you previously installed the nemo-microservices package, uninstall it first to avoid conflicts:

$pip uninstall nemo-microservices

Install in a Virtual Environment

$pip install nemo-platform[all]

Or with uv:

$uv pip install nemo-platform[all]

When installed in a virtual environment, the nemo command is only available when the environment is activated.

Verify Installation

$nemo --help

If you see Unknown command: nemo, see the troubleshooting page.

Getting Started

1. Configure the CLI

Set up your connection:

$nemo config set --base-url https://nmp.example.com
$nemo auth login

2. Verify Your Connection

$nemo workspaces list

This command outputs a list of available workspaces. If the connection fails, see troubleshooting for common issues and solutions.

Command Structure

The CLI follows a consistent pattern:

nemo [GLOBAL OPTIONS] <command> [<subcommand>...] [OPTIONS]

Global options apply to all commands:

OptionDescription
--base-urlBase URL for the NeMo Platform API
--output-format, -f <CHOICE>Output format for how results are printed. [possible values: table, json, yaml, markdown, csv, raw, code]
--no-truncateDon’t truncate long values in table/markdown/csv output
--timestamp-format <CHOICE>Timestamp format for table/markdown/csv output [possible values: relative, iso8601]
--verbose, -vEnable verbose messaging. This only impacts logs that are visible, it doesn’t change any data outputs.
--agent-mode, -AEnable agent-friendly output mode with extra context for coding agents.

Commands are organized into categories:

CategoryCommandsDescription
Setupsetup, services, skillsSet up and run local platform components
CLI functionschat, docs, wait, agent, pluginsInteractive, documentation, and agent-oriented workflows
Core pluginsfiles, inference, jobs, models, secrets, workspacesCore platform resources
Functional pluginsguardrailFunctional service and plugin commands

Common Workflows

Exploring Commands

Use --help on any command to see available options and subcommands:

$# See all available commands
$nemo --help
$
$# See subcommands for a specific resource
$nemo models --help
$
$# See options for a specific command
$nemo models list --help

Local Setup

$# Set up the platform (interactive wizard)
$nemo setup
$
$# Check if services are running
$curl -s http://localhost:8080/health/ready
$
$# View service logs
$cat ~/.local/state/nmp/instances/<scope>/services.log
$
$# Stop services
$pkill -f "nemo services run"

Integrating with Other Tools

The CLI outputs JSON with -f json, making it easy to integrate with tools like jq, shell scripts, and CI/CD pipelines.

Filtering with jq

$# Get just the model names
$nemo models list -f json | jq -r '.data[].name'
$
$# Find models matching a pattern
$nemo models list -f json | jq -r '.data[] | select(.name | contains("nvidia"))'

CSV Export

$# Export to CSV for spreadsheets
$nemo models list -f csv --all-pages --no-truncate --output-columns all > models.csv

Next Steps