API reference: Kedro integration#
You can use the Kedro-Neptune plugin to log metadata about the Kedro pipeline execution to Neptune.
Configuration#
Logging configuration#
You can configure where and how Kedro pipeline metadata is logged by editing the parameters in the conf/base/neptune.yml
file.
Options | Parameter | Default | Description |
---|---|---|---|
neptune |
project |
$NEPTUNE_PROJECT |
Name of the Neptune project where metadata is stored. If you haven't set the |
base_namespace |
kedro |
Base namespace (folder) where your metadata will be logged. | |
dependencies |
Tracks environment requirements. If you pass infer to this argument, Neptune logs dependencies installed in the current environment. You can also pass a path to your dependency file directly. If left empty, no dependency file is uploaded. |
||
enabled |
true |
If Neptune logging is enabled. | |
upload_source_files |
|
List of files you want to upload to Neptune. |
Example
neptune:
#GLOBAL CONFIG
project: $NEPTUNE_PROJECT
base_namespace: kedro
dependencies: infer
enabled: true
#LOGGING
upload_source_files:
- '**/*.py'
- conf/base/*.yml
Configuring Neptune API token#
You can configure where the Kedro-Neptune plugin will look for your Neptune API token in the conf/local/credentials_neptune.yml
file:
You can:
-
leave it empty, in which case Neptune will look for your token in the
$NEPTUNE_API_TOKEN
environment variable.Important
There must be a dollar sign (
$
) before the variable name. -
pass a different environment variable, such as
$MY_SPECIAL_NEPTUNE_API_TOKEN_VARIABLE
. - pass your token as a string, such as
eyJhcGlfYWRk...Imh0dHBzOi8v
(not recommended).
How do I find my API token?
In the bottom-left corner of the Neptune app, open the user menu and select Get your API token.
You can copy your token from the dialog that opens. It's very long – make sure to copy and paste it in full!
kedro neptune
#
CLI command for initializing the Kedro-Neptune plugin.
You can monitor, visualize, and compare your pipelines and node outputs in the Neptune app.
Note
You can only use the kedro neptune
command in the Kedro project folder.
Command syntax: kedro neptune [OPTIONS] COMMAND [ARGS...]
Options | Description |
---|---|
--help |
Shows CLI usage: options, commands and their arguments. |
kedro neptune init
#
Initializes the plugin and configures Neptune credentials and logging options.
After executing this command, whenever you execute kedro run
, you will log:
- Parameters
- Pipeline execution configuration (
run_params
) - Metadata about Kedro Dataset
- Hardware consumption and node execution time
- Configuration files from the conf/base directory
- Full Kedro run command
- Any additional metadata like metrics, charts, or images that you logged from inside of your node functions.
Parameters
Name | Type | Default | Description |
---|---|---|---|
api-token |
str , optional |
$NEPTUNE_API_TOKEN |
User's Neptune API token, or the name of the environment variable where it is stored. You can find your API token in the user menu, in the bottom-left corner of the app. |
project |
str , optional |
$NEPTUNE_PROJECT |
Neptune project name, or the name of the environment variable where it is stored. You can find and copy your project name from the project settings → Details & privacy. |
base-namespace |
str , optional |
experiment |
Namespace in Neptune where all the Kedro-related metadata is logged. |
config |
str , optional |
base |
Name of the subdirectory inside of the Kedro conf directory for configuration and catalog files. |
dependencies |
str , optional |
None |
Tracks environment requirements. If you pass infer to this argument, Neptune logs dependencies installed in the current environment. You can also pass a path to your dependency file directly. If left empty, no dependency file is uploaded. |
Examples
kedro neptune init \
--api-token $NEPTUNE_API_TOKEN \
--project workspace-name/project-name \
--base-namespace my-namespace \
--config my-config-location \
--dependencies infer
NeptuneFileDataset
#
NeptuneFileDataset
is a Kedro Data Set that lets you log files to Neptune.
It can be any file on the POSIX compatible filesystem.
To log it, you need to define the NeptuneFileDataset
in any Kedro catalog, including catalog.yml
.
Parameters
Name | Type | Description |
---|---|---|
filepath |
str |
In POSIX format, filepath to a text file prefixed with a protocol, such as s3:// . Same as for Kedro TextDataset. |
credentials |
dict , optional |
Credentials required to access the underlying filesystem. Same as for Kedro TextDataset. |
fs_args |
dict , optional |
Extra arguments to pass to underlying filesystem class constructor. Same as for Kedro TextDataset. |
Examples
predictions:
type: kedro.extras.datasets.json.JSONDataset
filepath: data/07_model_output/predictions.json
predictions@neptune:
type: kedro_neptune.NeptuneFileDataset
filepath: data/07_model_output/predictions.json
See also
kedro-neptune repo on GitHub