Neptune CLI (Command Line Interface) lets you interact with Neptune from your terminal via neptune command.

You can use it to upload data to Neptune storage, download experiments’ outputs, but most importantly to start new experiments!

neptune send experiment.py

In order to use Neptune CLI you need to register to Neptune and install it first.

Full List of Neptune Commands

Command Name Description
neptune run Execute a new experiment locally.
neptune send Execute a new experiment in the cloud.
neptune experiment run It is the same as neptune run
neptune experiment send It is the same as neptune send
neptune experiment send-notebook Start a new Jupyter notebook in the cloud.
neptune experiment list List experiments that are currently running or being prepared.
neptune experiment abort Abort one or more experiments.
neptune data upload Upload data to Neptune storage.
neptune data download Download data from Neptune storage.
neptune data ls Browse Neptune storage.
neptune data rm Remove data from Neptune storage.
neptune account login Log into your Neptune account.
neptune account logout Log out of your Neptune account.
neptune project activate Change active Neptune project.

Neptune Configuration File

Like many other terminal-based tools, Neptune CLI has subcommands, which have their parameters. Certain parameters (like --project) rarely change over time, so it would be inconvenient to type it every time an experiment is executed. This is why Neptune CLI uses a neptune.yaml configuration file to let you store some default settings.

Where To Place neptune.yaml

By default, neptune looks for a neptune.yaml file in the directory where it is executed. Additionally, you can use .neptune.yaml at your home directory (%USERPROFILE%\.neptune.yaml on Windows) to save settings globally.

Settings Precedence

The Neptune CLI looks for settings in the following order (starting from the highest precedence):

  1. Parameters provided to neptune as a command line arguments;
  2. Local neptune.yaml (or other file provided to neptune via --config parameter);
  3. Global .neptune.yaml at your home directory.

Single-value settings are overridden, but multi-value settings are summed up.

For example, when you start an experiment via:

neptune send --log-channel accuracy --name "A better name"

having the following neptune.yaml file in your directory:

name: "Name that would be overridden"


neptune would use the following settings:

neptune send --log-channel accuracy --log-channel loss --name "A better name"