Skip to main content

Export data from Neptune 2.x

Use Neptune Exporter to migrate your data from Neptune 2.x to other platforms, such as MLflow or Weights & Biases.

Important

Start your workspace data export now. High export traffic near the deadline can significantly slow or break exports. Delaying increases the risk that your export will not finish in time.

After March 5, 2026, all remaining data will be permanently deleted and any running exports will stop - there will be no extensions and no recovery options.

If you encounter issues, contact us immediately at support@neptune.ai or via in-app chat.

Verify Neptune version

To check which version of the Neptune app you are using:

  1. Log in to your Neptune workspace.
  2. Go to Help & SupportAbout Neptune.

Neptune app version 2.x

The version number should be 2.x.x.

Example workflows

For detailed instructions, see the Neptune Exporter README file on GitHub.

Export an entire project

To export all runs from the specified projects to your local storage, run:

uv run neptune-exporter export \
-p "my-workspace/my-project-1" \
-p "my-workspace/my-project-2" \
--exporter neptune2 \
--data-path ./exports/data \
--files-path ./exports/files

This command saves the Parquet data to the ./exports/data directory and the files to ./exports/files.

Project selection: explicit or workspace discovery

You can choose projects in two ways (do not mix both in one command):

  • Explicit mode: Pass one or more -p / --project-ids (or set NEPTUNE_PROJECT).
  • Discovery mode: Pass --workspace to export all projects in that workspace, optionally with --project-pattern (include regex on project names) and --project-exclude-pattern (exclude regex on project names). Patterns match the project name only (the part after workspace/).

Export all projects from a workspace:

uv run neptune-exporter export \
--workspace "my-workspace" \
--exporter neptune2 \
--data-path ./exports/data \
--files-path ./exports/files

Export only projects whose names match an include pattern:

uv run neptune-exporter export \
--workspace "my-workspace" \
--project-pattern ".*prod.*" \
--exporter neptune2 \
--data-path ./exports/data \
--files-path ./exports/files

Export with both include and exclude patterns:

uv run neptune-exporter export \
--workspace "my-workspace" \
--project-pattern ".*prod.*" \
--project-exclude-pattern ".*archive.*" \
--exporter neptune2 \
--data-path ./exports/data \
--files-path ./exports/files
note

To improve the export speed, you can:

  • Split the export by project or run across different processes
  • Export only a relevant subset of projects, runs, or attributes
  • Exclude files from the export

If you're exporting a large amount of data, we recommend exporting not just across different processes, but different machines altogether. This way, disk I/O is not a bottleneck.

Export specific runs

To export only runs that match the specified pattern, use the -r flag:

uv run neptune-exporter export \
-p "my-workspace/my-project" \
--exporter neptune2 \
-r "RUN-.*" \

where RUN-.* is a regular expression that matches all run IDs starting with RUN-.

The run ID refers to the auto-generated string stored in the sys/id field of a run.

Export specific attributes

To export only fields that match the specified patterns, use the -a flag:

uv run neptune-exporter export \
-p "my-workspace/my-project" \
--exporter neptune2 \
-a "metrics/accuracy" -a "metrics/loss" -a "config/.*"

To reduce the amount of exported data, you can exclude attributes that are no longer needed, such as hardware utilization metrics and console logs, which are stored under the monitoring namespace.

Exclude all system monitoring metrics:

uv run neptune-exporter export exporter neptune2 ... --attributes "^(?!monitoring).*$"

Only exclude console logs such as stdout:

uv run neptune-exporter export exporter neptune2 ... --attributes "^(?!.*stdout$).*$"

Export model registry (optional)

If you use the Neptune 2.x model registry, you can export models and model versions to separate directories:

uv run neptune-exporter export-models \
-p "my-workspace/my-project" \
--data-path ./exports/model_data \
--files-path ./exports/model_files

This stores model objects under <data-path>/<project>/models/... and model version objects under <data-path>/<project>/model_versions/.... The same Parquet schema as run export is used; the run_id column holds the model ID or model version ID.

Options:

OptionDescription
-p / --project-idsNeptune project IDs (explicit mode). Can be specified multiple times. If not provided, reads from NEPTUNE_PROJECT.
--workspaceWorkspace name for discovery mode. Mutually exclusive with -p / --project-ids.
--project-patternInclude regex filter on discovered project names. Can be specified multiple times. Requires --workspace.
--project-exclude-patternExclude regex filter on discovered project names. Can be specified multiple times. Requires --workspace.
-q / --models-queryNeptune Query Language filter when selecting models.
-a / --attributesOne value = regex; multiple values = exact attribute names.
-c / --classes and --excludeInclude or exclude data classes: parameters, metrics, series, files.
--include-archived-modelsInclude trashed models.
-d / --data-pathPath for model registry Parquet data. Default: ./exports/model_data.
-f / --files-pathPath for downloaded model files. Default: ./exports/model_files.

Model registry export also supports workspace discovery. Example:

uv run neptune-exporter export-models \
--workspace "my-workspace" \
--project-pattern ".*prod.*" \
--project-exclude-pattern ".*archive.*" \
--data-path ./exports/model_data \
--files-path ./exports/model_files

Validate your export

See what was exported by running:

uv run neptune-exporter summary --data-path ./exports/data

If you also exported model registry data, include the model data path to get a combined summary:

uv run neptune-exporter summary \
--data-path ./exports/data \
--model-data-path ./exports/model_data

The summary returns the number of exported projects or runs, attribute types, and basic step statistics (and, when --model-data-path is set, model registry counts).

Improve export performance

Exporting large amounts of data can take a significant amount of time, especially for projects with many runs or large files. A recommended approach is to split the export into parallel jobs instead of exporting everything at once.

Common ways to split exports by:

  • Run creation date (time ranges)
  • Tags
  • Other Neptune Query Language (NQL) filters
Only export required metrics

Ensure you are only exporting the data you need. See export specific attributes.

We recommend excluding system metrics (monitoring namespace) and files to reduce overall data transfer size.

Example: split exports by run creation date

uv run neptune-exporter export \
--exporter neptune2 \
-p "workspace/proj" \
--runs-query '`sys/creation_time`:datetime > "2024-02-06T05:00:00Z"'

To parallelize, you can run multiple commands at the same time, each covering a different date range, for example:

# Process 1
--runs-query '`sys/creation_time`:datetime >= "2024-01-01T00:00:00Z" AND `sys/creation_time`:datetime < "2024-02-01T00:00:00Z"'

# Process 2
--runs-query '`sys/creation_time`:datetime >= "2024-02-01T00:00:00Z" AND `sys/creation_time`:datetime < "2024-03-01T00:00:00Z"'

More filtering options

See Neptune Query Language for more ways you can split your exports.

info

For detailed instructions, see the Neptune Exporter README file on GitHub.

Migrate to another tool

You can migrate your exported data to another tool. See the following guides:

caution

We do not endorse any of these tools. They are listed for your convenience only.