W&B and Neptune imports

Import W&B export files and Neptune Exporter directories into InstantML step by step, with dry-run preview and API job control.

Open .md

Import existing W&B or Neptune experiment history from export files on your machine. Vendor files and credentials stay local: InstantML receives normalized import chunks, shows a dry-run summary, and writes runs only after you commit.

Install and authenticate

Install the extras for your source and authenticate the CLI once:

bash
pip install "instantml[imports]"
instantml login

The [imports] extra pulls in pyarrow for reading Neptune Exporter Parquet files. W&B and MLflow transformed JSON imports need no extra.

Import a W&B export file

Point the importer at a W&B transformed JSON export and preview it with --dry-run:

bash
instantml import wandb \
  --project cartpole \
  --input ./wandb-export.json \
  --dry-run

The CLI converts runs, configs, scalar history, tags, notes, and artifact references into import chunks, uploads the staged job, and prints the job id, status, and run, metric, and artifact counts β€” without committing anything.

Import a Neptune Exporter directory

Export the Neptune project with Neptune Exporter first. Keep the generated Parquet data directory and optional files directory together, then run a dry-run import:

bash
instantml import neptune \
  --project cartpole \
  --input ./neptune-export/data \
  --files-path ./neptune-export/files \
  --source-project "workspace/project" \
  --dry-run

The Neptune importer streams Parquet rows into bounded import chunks instead of loading full metric history into memory. File attributes become artifact references; scalar series become metric points; params, tags, notes, and run metadata map into InstantML run metadata and config.

Review the dry run

Check the counts the CLI prints:

  • Run count.
  • Metric point count.
  • Artifact-reference count.
  • Job status.

For warning messages and progress detail, fetch the job with the id the CLI printed:

bash
curl https://api.instantml.ai/api/imports/jobs/42 \
  -H "Authorization: Bearer instantml_..."

If the counts or warnings look wrong, cancel the staged job, then rerun the CLI with a corrected export path or a smaller source project:

bash
curl -X POST https://api.instantml.ai/api/imports/jobs/42/cancel \
  -H "Authorization: Bearer instantml_..."

Commit the import

Rerun the same import command without --dry-run to commit the runs to the target project:

bash
instantml import neptune \
  --project cartpole \
  --input ./neptune-export/data \
  --files-path ./neptune-export/files \
  --source-project "workspace/project"

Verify in the dashboard

After commit, open the target project in the Runs workspace and check:

  • Expected imported run names.
  • Configs and tags are searchable.
  • Scalar metrics appear in charts.
  • Artifact references are attached to the right runs.
  • Imported source metadata includes the external run identity.

Respect compatibility boundaries

The importers cover the migration spine: runs, scalar metrics, configs/params, tags, notes, provenance, and artifact references. They do not claim full W&B sweeps/reports/launch parity, full Neptune namespace semantics, or hosted server-side vendor credential pulls. Artifact references are metadata only β€” upload the actual bytes with the SDK to make them downloadable.

Next steps