Skip to content

API reference: Kedro integration#

You can use the Kedro-Neptune plugin to log metadata about the Kedro pipeline execution to Neptune.

Related

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 $NEPTUNE_PROJECT environment variable, you can replace it with the full name of your Neptune project (workspace-name/project-name).

base_namespace kedro Base namespace (folder) where your metadata will be logged.
upload_source_files - List of files you want to upload to Neptune.

Example

conf/base/neptune.yml
neptune:
#GLOBAL CONFIG
  project: $NEPTUNE_PROJECT
  base_namespace: kedro

#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:

conf/local/credentials_neptune.yml
neptune:
  api_token: $NEPTUNE_API_TOKEN

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).

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 and copy your API token by clicking your avatar in the Neptune 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 in the app, by going to SettingsProperties.
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.

Examples

kedro neptune init
kedro neptune init \
    --api-token $NEPTUNE_API_TOKEN \
    --project common/kedro-integration

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
fs_args dict, optional Extra arguments to pass to underlying filesystem class constructor. Same as for Kedro TextDataset.

Examples

catalog.yml
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