From 00ee3a929723de62984b40cb80a90d173d5e265b Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Mon, 29 Jun 2026 13:10:40 +0000 Subject: [PATCH] docs: clarify run move limits and nested config dicts --- models/runs/manage-runs.mdx | 6 ++++++ models/track/config.mdx | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/models/runs/manage-runs.mdx b/models/runs/manage-runs.mdx index e01c4fb2eb..be3c2a624c 100644 --- a/models/runs/manage-runs.mdx +++ b/models/runs/manage-runs.mdx @@ -7,6 +7,8 @@ description: Move runs between projects or teams using the W&B App. Before you begin, ensure you have the necessary permissions to move runs between projects or teams. You must have access to the run at its current and new locations. +Moving runs is supported only through the W&B App UI. There is no Python SDK or Public API method for moving runs between projects or teams, and W&B does not support copying runs. + To move runs from one project to another or between teams: 1. Navigate to the project that contains the runs you want to move. @@ -19,6 +21,10 @@ To move runs from one project to another or between teams: When you move a run, historical artifacts associated with it are not moved. To move an artifact manually, you can use the [`wandb artifact get`](/models/ref/cli/wandb-artifact/wandb-artifact-get/) SDK command or the [`Api.artifact` API](/models/ref/python/public-api/api/#artifact) to download the artifact, then use [`wandb artifact put`](/models/ref/cli/wandb-artifact/wandb-artifact-put/) or the `Api.artifact` API to upload it to the run's new location. +## Delete runs programmatically + +To delete a run from the Python Public API, use [`Run.delete()`](/models/ref/python/public-api/run#method-run-delete). This is the only run-management operation available through the Public API; moving runs between projects must be performed in the W&B App. + {/* ## Move runs to a group You can group runs by moving them into an existing group or creating a new group. diff --git a/models/track/config.mdx b/models/track/config.mdx index 9372711379..afeb09901a 100644 --- a/models/track/config.mdx +++ b/models/track/config.mdx @@ -255,6 +255,25 @@ To load a configuration file other than `config-defaults.yaml`, use the `--confi python train.py --configs other-config.yaml ``` +### Nested dictionaries in config + +The `desc`/`value` schema used by `config-defaults.yaml` does not support nested dictionaries inline. To log a nested dictionary as config, pass it directly to `wandb.init()` in Python: + +```python +config = { + "EPISODE_BUDGET": { + "cramped_room": 5000, + "coordination_ring": 5000, + "counter_circuit_o_1order": 5000, + } +} + +with wandb.init(project="my_project", config=config) as run: + ... +``` + +W&B flattens nested dictionaries using dots when displaying config in the UI and when filtering with the Public API (for example, `EPISODE_BUDGET.cramped_room`). In Python, you can still access values with normal dictionary indexing: `run.config["EPISODE_BUDGET"]["cramped_room"]`. + ### Example use case for file-based configs Suppose you have a YAML file with some metadata for the run, and then a dictionary of hyperparameters in your Python script. You can save both in the nested `config` object: