System ("sys") namespace
API reference page for the system namespace
The sys namespace contains system information and some basic data about initialized Neptune objects. Most of this data is logged automatically.
  • You cannot create new fields in this namespace.
  • Making edits to fields in the system namespace is excluded from monitoring time.
The fields in the system namespace are listed in the table below. For more details on a field, refer to the respective section.
Field
Description
Example
id
Neptune identifier
  • Run: PROJ-15
  • Model: PROJ-MOD
  • Model version: PROJ-MOD-9
name *
Name of the object
Testing new approach
running_time
Total running time of the object in seconds
1.822
monitoring_time
Total monitoring time used by the object in seconds
2
ping_time
Time of the last interaction with the Neptune client library
2022-05-03 06:45:23.452364+00:00
owner
Username of the user who created the object
neptuner
creation_time
Time the object was created
2022-04-25 07:08:05.023000+00:00
modification_time
Time the object was last modified
2022-05-03 06:45:23.452364+00:00
tags *
Tags applied to the object
maskRCNN, finetune, v2.0.1
state
Whether the object is active or inactive
idle
size
Size of the object in bytes
6973.0
failed *
(Runs only) Whether the run was marked as "failed"
False
description *
Description of the object
Different pre-processing method and new test data
hostname
(Runs only) System host where the run was created
LAPTOP-EX1000
model_id
(Model versions only) Identifier of the model
PROJ-MOD
stage *
(Model versions only) Stage of the model version
production
* The field can be manually edited, either through the app or the API.

Identifier ("sys/id", String)

Each Neptune object, such as a run or model, has a unique string identifier within the project. It's composed of the project key and a high water counter.
  • Runs: In a project called "Sandbox" with project key SAND, the third run will have the identifier SAND-3.
  • Models: In a project called "Sandbox" with project key SAND, a model with key MOD will have the identifier SAND-MOD.
  • Model versions: For a model with identifier SAND-MOD, the third model version will have the identifier SAND-MOD-3.
You can access the id of your object programmatically with the fetch() method:
1
import neptune.new as neptune
2
3
run = neptune.init(project="workspace_name/sandbox")
4
5
run_id = run["sys/id"].fetch()
Copied!
The identifier can be used to resume logging for the object later, or connect to it from multiple processes.

Name ("sys/name", String)

Editable name of an object. Should capture the essence of the object in a one-sentence summary. Does not need to be unique.
Can be set either during initialization through the name parameter of init(), or later updated directly from the code:
1
import neptune.new as neptune
2
3
run = neptune.init(project="workspace_name/sandbox")
4
5
run["sys/name"] = "Testing new approach"
Copied!

Description ("sys/description", String)

Editable description of an object. Works well as a longer description or free-form note that can be edited in multiple ways.
Can be set either during initialization through the description parameter of init(), or later updated directly from the code:
1
import neptune.new as neptune
2
3
run = neptune.init(project="workspace_name/sandbox")
4
5
run["sys/description"] = "Detailed description of the run"
Copied!
You can also edit the description through the Neptune app:
  • Runs
    • In the single run view, by clicking Details in the left pane
    • Directly in runs table, by adding the sys/description field as a column
  • Models: In the Models view, by selecting the model name and clicking Details next to the model name
  • Model versions
    • In the single model version view, by clicking Details in the left pane
    • Directly in the Versions view, by adding the sys/description field as a column

Running time ("sys/running_time", Float)

Total running time of the object in seconds. This number will take into account any additional resumes of the object.

Monitoring time ("sys/monitoring_time", Integer)

Total monitoring time used by the object in seconds. This number will take into account any additional resumes of the object.

Owner ("sys/owner", String)

Neptune username of the user that created the object.

Creation time ("sys/creation_time", Datetime)

Creation time of the object. Includes date, time of day, and information about the time zone.

Modification time ("sys/modification_time", Datetime)

Time that the object was last modified. Includes date, time of day, and information about the time zone.

Tags ("sys/tags", StringSet)

The tags assigned to the object.
You can assign tags in the following ways:
  • (Runs only) During initialization, pass them as arguments for the tags parameter of init()
  • With the add() method: object["sys/tags"].add("best")
  • Through the Neptune app

State ("sys/state", RunState)

An object can be in one of two states: Inactive and Active.
  • Active means that at least one process is connected to the object. This may be a process that is logging training metrics, monitoring performance, or fetching metadata to perform further analysis.
  • The object automatically transitions to an Inactive state once there has been no activity for 20 seconds, typically after the script ended or you invoked stop().
Note that "active/inactive" does not correspond to "successful/failed". The connection to a Neptune object can be paused and resumed multiple times, so Neptune does not know when the logging of the object was a success.
  • Example: In the case of a run, an inactive state can mean that the run did not start, that the training or monitoring was paused, or that it did in fact finish training with a success.
To make the states match your workflow better, you can set a custom status for each run. For example: run["info/state"] = "Success" or run["info/state"] = "Queued".

Stage ("sys/stage", ModelVersionStage)

A model version object can be in one of four lifecycle stages:
  • none (default)
  • staging
  • production
  • archived
You can manage the stage either through the app or programmatically with the change_stage() method. To learn more, see Managing model stages.

Failed ("sys/failed", Boolean)

Whether the run failed. You can set it manually to mark a run as failed, or reset it to False in case of resuming a failed run.
If there is a crash during monitoring, Neptune automatically sets the Failed status to True. You can override this behavior by setting the fail_on_exception parameter in init() to False.
In both cases, the traceback is captured and appended to the "monitoring/traceback" field. If you provided a custom monitoring namespace in init(), the path will be "monitoring_namespace/traceback".
If you performed a remote abort, the Failed status will also be set to True. To learn more, see Remote stop and abort.