nomctl#

nomctl is Nominal’s command-line tool. Use it to manage assets, datasets, runs, and other resources, upload files, and send requests to the REST and gRPC APIs.

Install#

In PowerShell:

irm https://raw.githubusercontent.com/nominal-io/nominal-client-rs/main/scripts/install.ps1 | iex

The installer also adds nomctl to your PATH.

curl -fsSL https://raw.githubusercontent.com/nominal-io/nominal-client-rs/main/scripts/install.sh | sh

If nomctl is not found afterwards, add ~/.local/bin to your PATH and open a new terminal:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
curl -fsSL https://raw.githubusercontent.com/nominal-io/nominal-client-rs/main/scripts/install.sh | sh

If nomctl is not found afterwards, add ~/.local/bin to your PATH and open a new terminal:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

Set up a profile#

A profile is a named set of credentials: an API key, your Nominal instance’s base URL, and a workspace. nomctl keeps profiles in the same file as Nominal’s other clients (~/.config/nominal/config.yml, or %USERPROFILE%\.config\nominal\config.yml on Windows), so a profile you create here works in them too. API keys setup shows where to find each value.

To create a profile, run:

nomctl config init

It asks for each value in turn:

  1. Profile name: a short name for the profile. Name your first one default, the name the examples in these docs use.

  2. API base URL: press Enter to keep https://api.gov.nominal.io/api, or paste your organization’s URL.

  3. API token or bearer token: paste your API key.

  4. Select a workspace: pick one of the workspaces your key can access, or choose Enter a workspace RID manually.

nomctl then checks the key against your instance and saves the profile. If the instance can’t be reached, it asks whether to save the profile without checking it. Running nomctl config init again with an existing profile name replaces that profile.

Choose a profile#

Commands that talk to Nominal need to know which profile to use. Pass --profile <name> with each command, or set NOMINAL_PROFILE once. These commands set it to default; use your profile’s name if it’s different:

[Environment]::SetEnvironmentVariable("NOMINAL_PROFILE", "default", "User")

Then open a new terminal.

echo 'export NOMINAL_PROFILE=default' >> ~/.bashrc

Then open a new terminal.

echo 'export NOMINAL_PROFILE=default' >> ~/.zshrc

Then open a new terminal.

The command reference lists every command and option.