Neptune API index#
This page lists all functions, parameters, and constants exposed by the Neptune Python client library.
Sections:
Functions#
run[field_name]
(field lookup)#
Use to access the field of an object through a dict-like path lookup:
=
#
Convenience alias for assign()
.
add()
#
StringSet
method.
- When called on
run["sys/tags"]
, adds the provided strings to the run's tags. - When called on
run["sys/group_tags"]
, assigns the run to the provided groups.
Related
add_project_member()
#
management
function for adding a user to a project.
add_project_service_account()
#
management
function for assigning a service account to a project.
append()
#
Depending on the type of the logged metadata, creates a FileSeries
, FloatSeries
, or StringSeries
field. Iteratively appends the provided value to the series.
import neptune
run = neptune.init_run()
for epoch in range(parameters["n_epochs"]):
... # My training loop
run["train/epoch/loss"].append(loss) # (1)!
train/epoch/loss
is now a FloatSeries field.
as_html()
#
File
method.
Converts an object to a File value object.
Use to upload interactive charts or data frames.
as_image()
#
File
method.
Static method for converting image-like objects to a File value object.
Use to upload figures, arrays, and tensors as static images.
as_pickle()
#
File
method.
Pickles a Python object and stores it in a File value object.
assign()
#
Assigns the provided value or dictionary to a field or namespace.
Works for the following Neptune field types:
Artifact
(to assign an artifact object fetched from an existingArtifact
field)Boolean
Datetime
File
Float
Integer
String
- Namespace handler
change_stage()
#
ModelVersion
method for changing the stage of a model version.
clear()
#
StringSet
method.
- When called on the
object["sys/tags"]
field of a run, removes all tags from the object. - When called on the
object["sys/group_tags"]
field of a run, removes the run from all groups.
clear_trash()
#
management
function for emptying the trash of the specified project.
create_project()
#
management
function for creating a new project.
del
#
Command that completely removes the field or namespace and all associated metadata stored under the path.
- NLI-8 is the ID of an existing run that has something stored in the field
nlp-dataset
delete_files()
#
FileSet
method.
Deletes the specified files from the field.
delete_objects_from_trash()
#
management
function for deleting items from a project's trash.
delete_project()
#
management
function for deleting a project.
download()
#
Downloads the file(s) stored in the field when called on an object path.
Available for the following field types:
download_last()
#
Downloads the last file stored in a FileSeries
field and saves it locally.
exists()
#
Object-level method that checks if there is a field or namespace under the specified path.
>>> import neptune
>>> run = neptune.init_run(with_id="NLI-8") # (1)!
>>> run.exists("nlp-dataset")
True
- NLI-8 is the ID of an existing run that has something stored in the field
nlp-dataset
extend()
#
Depending on the type of the logged metadata, creates a FileSeries
, FloatSeries
, or StringSeries
field. Iteratively appends the provided collection of values to the series.
fetch()
#
Fetches the field value.
Available for the following Neptune field types:
Artifact
(to copy an artifact object from an existingArtifact
field)Boolean
Datetime
Float
Integer
String
StringSet
(fetches the tags of a run)
fetch_extension()
#
File
method.
Returns the extension of a stored file.
fetch_files_list()
#
Artifact
method.
Fetches a list of artifact files.
fetch_hash()
#
Artifact
method.
Fetches the hash of the artifact.
fetch_last()
#
FloatSeries
and StringSeries
method.
Fetches the last value stored in the series.
fetch_model_versions_table()
#
Model
method for listing the metadata of all versions of the model as a table.
fetch_models_table()
#
Project
method for listing the metadata of all models as a table.
fetch_runs_table()
#
Project
method for listing the metadata of all runs as a table.
fetch_values()
#
FloatSeries
and StringSeries
method.
Fetches all values stored in the series.
from_content()
#
File
method.
Factory method for creating File
value objects directly from binary and text content.
from_path()
#
File
method.
Creates a File value object from a given path.
Equivalent to File(path)
, but you can specify the extension separately.
from_stream()
#
File
method.
Factory method for creating File
value objects directly from binary and text streams.
get_last_run()
#
Deprecated
This function is deprecated as of neptune 1.0
.
Fetches the last created run
object of the session.
get_project()
#
Deprecated
This function is deprecated as of neptune 1.0
.
Use neptune.init_project(mode="read-only")
instead.
Initializes a connection to a project in read-only mode.
get_project_list()
#
management
function for listing projects that a given Neptune account has access to.
get_project_member_list()
#
management
function for listing members of a project.
get_project_service_account_list()
#
management
function for listing the service accounts assigned to a project.
get_root_object()
#
Returns the root-level object of a namespace handler.
In other words, if called on a path inside a run, returns the run.
get_run_url()
#
get_structure()
#
Object-level method.
Returns the metadata structure of an object in the form of a dictionary.
>>> import neptune
>>> run = neptune.init_run(with_id="NLI-8")
>>> run.get_structure()
{'data': {'val': <neptune.attributes.atoms.artifact.Artifact object at 0x0000020374B822C0>}, 'f1_score': <neptune.attributes.atoms.float.Float object at 0x0000020374B81A50>, 'monitoring': {'cpu': <neptune.attributes.series.float_series.FloatSeries object at 0x0000020374B81A80>, ... }}
See also: print_structure()
get_url()
#
Object-level method.
Returns a direct link to the object.
>>> import neptune
>>> run = neptune.init_run(with_id="NLI-8")
>>> run.get_url()
https://app.neptune.ai/jackie/named-entity-recognition/e/NLI-8
get_workspace_member_list()
#
management
function for listing the members of a workspace.
get_workspace_service_account_list()
#
management
function for listing the service accounts of a workspace.
get_workspace_status()
#
management
function for retrieving status information about a workspace's storage, projects, and members.
init()
#
Convenience alias for init_run()
.
init_model()
#
init_model_version()
#
init_project()
#
Calling neptune.init_project()
onnects to a Neptune project as a container for metadata.
Use to log metadata in the Project metadata section.
init_run()
#
Calling neptune.init_run()
creates a new Neptune run and an entry in the experiments table of the specified project.
To reinitialize an existing run for logging or fetching metadata:
- Pass the run's auto-generated Neptune ID to the
with_id
argument. - If set, pass the run's custom ID to the
custom_run_id
argument.
invite_to_workspace()
#
management
function for inviting a user to a workspace.
list_fileset_files()
#
FileSet
method.
Fetches metadata on the file set. If the top-level artifact of the field is a directory, only metadata on this directory is returned.
log()
#
See append()
(append one value at a time) or extend()
(append a collection of values at once).
pop()
#
Object- or field-level method that completely removes a field or namespace and all associated metadata stored under the path.
If called on the root object, pass the field to remove as the argument.
# The following line
run.pop("parameters/learninggg_rata")
# is equiavlent to this line
run["parameters/learninggg_rata"].pop()
# and this line
run["parameters"].pop("learninggg_rata")
See also del
.
print_structure()
#
Object-level method.
Pretty-prints the metadata structure of the run or project.
>>> import neptune
>>> run = neptune.init_run(with_id="NER-35")
>>> run.print_structure()
'data':
'val': Artifact
'f1_score': Float
...
See also: get_structure()
remove()
#
StringSet
method.
- When called on the
object["sys/tags"]
field of a run, removes the specified tags from the object. - When called on the
object["sys/group_tags"]
field of a run, removes the run from the specified groups.
remove_project_member()
#
management
function for removing a member from a project.
remove_project_service_account()
#
management
function for removing a service account from a project.
stop_synchronization_callback()
#
utils
function. Default callback function that is called if the synchronization lags too much or has not progressed at all.
For details, see How to use callbacks when sync is interrupted.
stop()
#
Object-level method. Stops the connection to Neptune and synchronizes all data with the Neptune servers.
If you're running Neptune in a Python script, Neptune stops any initialized objects automatically when the script finishes execution.
Interactive sessions
Always call stop()
in interactive environments, such as a Python interpreter or Jupyter notebook. The connection to Neptune is not stopped when the cell has finished executing, but rather when the entire notebook stops.
If you're running a script, the connection is stopped automatically when the script finishes executing. However, it's a best practice to call stop()
when the connection is no longer needed.
import neptune
run = neptune.init_run()
[...] # Your training or monitoring code
# stop() is automatically called at the end for every Neptune object
Using with
statement and context manager:
for config in configs:
with neptune.init_run() as run:
[...] # Your training or monitoring code
# stop() is automatically called when code execution exits the with statement
stringify_unsupported()
#
utils
function. Converts unsupported values in a dictionary or collection to strings.
sync()
#
Object-level method.
Synchronizes the local representation of the object with the representation on the Neptune servers.
# Connect to a run from Worker #3
worker_id = 3
run = neptune.init_run(
with_id="DIST-43",
monitoring_namespace=f"monitoring/{worker_id}",
)
# Try to access logs that were created in the meantime by Worker #2
worker_2_status = run["status/2"].fetch()
# Error if this field was created after this script starts
run.sync() # Synchronize local representation with Neptune servers
worker_2_status = run["status/2"].fetch() # No error
to_pandas()
#
Table
method. Converts the object returned by fetch_runs_table()
to a pandas DataFrame.
track_files()
#
Creates an Artifact
field when called on an object path.
Iteratively adds references to new files if called on an existing Artifact field.
import neptune
run = neptune.init_run()
run["nlp-dataset"].track_files("path/to/dir/")
...
run["nlp-dataset"].track_files("path/to/another/file")
trash_objects()
#
management
function for moving objects to the project trash.
Note
Emptying the trash is a separate action. A trashed item is permanently deleted only when the trash is emptied.
upload()
#
Creates a File
field when called on an object path.
Uploads the provided file under the specified field path.
upload_files()
#
Creates a FileSet
field when called on an object path.
Uploads the provided directory or file(s) and stores them under the FileSet
field.
wait()
#
Object-level method.
Wait for all the logging calls (queued operations) to reach the Neptune servers before continuing execution.
The logged metadata can now be fetched from the Neptune server:
Parameters#
api_token
#
Neptune initialization parameter that takes the API token of a user or service account as the argument.
Used to ensure that the account which performs the logging has access to the target project.
To keep your token secure, avoid placing it in source code. Instead, save it as an environment variable.
ascending
#
Parameter for controlling the sorting order when fetching a project's runs with fetch_runs_table()
.
async_lag_callback
#
Neptune initialization parameter that takes a callback function as the argument.
If a lag callback is enabled, it's triggered if the lag between a queued operation and its synchronization with the server exceeds the duration defined by async_lag_threshold
.
async_lag_threshold
#
Neptune initialization parameter that represents a threshold for the duration between the queueing and synchronization of an operation (in seconds).
If a lag callback is enabled, the callback is called when this duration is exceeded.
async_no_progress_callback
#
Neptune initialization parameter that takes a callback function as the argument.
If a no-progress callback is enabled, it's triggered if no data has been synchronized with the server for a duration defined by async_lag_threshold
.
async_no_progress_threshold
#
Neptune initialization parameter that represents a threshold for the duration of no data being synchronized to the server.
If a no-progress callback is enabled, the callback is called when this duration is exceeded.
autoscale
#
File.as_image()
parameter for controlling whether Neptune should try to scale image pixel values, to better render them in the web app.
chart
#
File.as_html()
parameter for converting interactive charts to HTML. Takes an Altair, Bokeh, Plotly, Matplotlib, Seaborn, or pandas DataFrame object as the argument.
content
#
File.from_content()
parameter that takes binary or text content as the argument.
custom_run_id
#
Related
Neptune run initialization parameter that takes a unique, user-defined identifier as the argument.
Can be used to log metadata to a single run from multiple locations.
description
#
- When creating a new run, an editable description of the object, stored in
sys/description
. Can be added as a column in the experiments table. - Series parameter used to set a custom name for an entry.
destination
#
Available for fetching methods that download metadata from the Neptune servers to the local machine.
disk_only
#
wait()
parameter. Controls whether the process should wait only for the data to be saved locally from memory and not for it to reach Neptune servers.
expand
#
stringify_unsupported()
parameter, to help log series values in a proper folder structure instead of a string.
extension
#
Parameter for setting or interpreting file types when creating File
fields.
flush_period
#
Neptune initialization parameter. Controls how often Neptune should trigger disk flushing in asynchronous mode.
Note
The OS can trigger disk flushing implicitly. As such, setting flush_period=600
will flush the disk at least every 600 seconds, but it can happen more frequently for other reasons.
globs
#
FileSet.upload_files
parameter that takes the paths of the files to be uploaded.
include_timestamp
#
fetch_values()
parameter used to control whether to include timestamps when fetching values from a FloatSeries
or StringSeries
field.
key
#
limit
#
Parameter for limiting the number of returned entries when fetching a project's runs with fetch_runs_table()
.
mode
#
Neptune initialization parameter. Sets the connection mode in which the logging will work. Possible values are async
, sync
, offline
, read-only
, and debug
.
For more, see Using Neptune in different modes.
model
#
name
#
- When creating a new run, a custom name for the object, stored in
sys/name
. - Series parameter used to set a custom name for an entry.
obj
#
File.as_pickle()
parameter that takes a pickleable Python object as the argument.
path
#
Available for several logging methods that concern tracking or uploading files.
paths
#
FileSet.delete_files()
parameter that takes the paths of the files to be deleted from the fileset (relativ to the set root).
progress_bar
#
Parameter for disabling the progress bar or passing your own progress bar type when querying the API.
Available when
- fetching runs from a project with
fetch_runs_table()
- downloading contents from individual fields:
download()
andfetch_values()
project
#
Used to specify the Neptune project when initializing Neptune objects or performing management
actions.
Typically given in the form workspace-name/project-name
.
For management
functions, a separate optional workspace
argument is available. If it's provided, the project
argument can consist of the project-name
part alone.
proxies
#
Neptune initialization parameter whose argument is passed to HTTP calls made via the Requests library.
query
#
Available when fetching runs with the fetch_runs_table()
function.
Takes a raw NQL string as the argument.
repository_path
#
GitRef
parameter for specifying where Neptune should look for a Git repository when a run is created.
seconds
#
stop()
parameter that specifies for how long Neptune should wait before terminating the connection. (By default, Neptune waits for all logging calls and operations to finish before actually stopping the connection.)
seek
#
File.from_stream()
parameter that takes a byte offset as the argument.
sort_by
#
Parameter for controlling the sorting column when fetching a project's runs with fetch_runs_table()
.
source_files
#
Available for neptune.init_run()
.
Used to specify which source files to upload.
Info
Files uploaded this way are displayed in the Source code dashboard in the web app.
step
#
Series parameter used to set a custom index.
steps
#
Series parameter used to set custom indexes when appending multiple values at a time with the extend()
function.
stream
#
File.from_stream()
parameter that takes a binary or text stream as the argument.
tags
#
Available for neptune.init_run()
.
Used to apply tags to a Neptune run. Takes a list of strings as the argument.
timestamp
#
Series parameter used to set custom timestamps.
timestamps
#
Series parameter used to set custom timestamps when appending multiple values at a time with the extend()
function.
value
#
Available for logging functions that are used to assign a single value to a field.
values
#
Available for logging functions that are used to assign multiple values to a field at a time (or remove them).
wait
#
Available for all logging functions.
By default, logging calls and other Neptune operations are periodically synchronized with the server in the background. If True
, Neptune first waits to complete any queued operations, then executes the call and continues script execution.
with_id
#
Neptune initialization parameter for connecting to an existing run. Takes the Neptune ID of the object to resume (for example, NLI-8
).
The Neptune ID is a unique identifier for the object. It's assigned automatically when the object is created.
In the table view, it's displayed in the leftmost column.
workspace
#
Used to specify the Neptune workspace when performing management
actions.
Constants#
ANONYMOUS
#
Deprecated
This constant is deprecated as of neptune 1.0
.
Equivalent to ANONYMOUS_API_TOKEN
.
ANONYMOUS_API_TOKEN
#
API token for anonymous logging.
You can use this value for the api_token
argument of the init
functions in order to log metadata to one of Neptune's public projects.
DISABLED
#
Constant for GitRef
that disables Git tracking for a run.
Related
- Environment variables
- Connection modes reference (async, offline, debug, etc.)
- Field types: Complete reference and breakdown of methods per type
- System namespace (
sys
) reference (sys/name
,sys/id
,sys/failed
, etc.)