W&B Report and Workspace API is in Public Preview.
Check out the Programmatic workspaces tutorial for a step by step example on how create and customize a saved workspace view.
Verify that you have the W&B Report and Workspace API
wandb-workspaces
installed in addition to the W&B Python SDK if you want to programmatically edit a report:Add plots
Each panel grid has a set of run sets and a set of panels. The run sets at the bottom of the section control what data shows up on the panels in the grid. Create a new panel grid if you want to add charts that pull data from a different set of runs.- W&B App
- Report and Workspace API
Enter a forward slash (
/
) in the report to display a dropdown menu. Select Add panel to add a panel. You can add any panel that is supported by W&B, including a line plot, scatter plot or parallel coordinates chart.
Add run sets
Add run sets from projects interactively with the App UI or the W&B SDK.- W&B App
- Report and Workspace API
Enter a forward slash (
/
) in the report to display a dropdown menu. From the dropdown, choose Panel Grid. This will automatically import the run set from the project the report was created from.If you import a panel into a report, run names are inherited from the project. In the report, you can optionally rename a run to give the reader more context. The run is renamed only in the individual panel. If you clone the panel in the same report, the run is also renamed in the cloned panel.- In the report, click the pencil icon to open the report editor.
-
In the run set, find the run to rename. Hover over the report name, click the three vertical dots. Select one of the following choices, then submit the form.
- Rename run for project: rename the run across the entire project. To generate a new random name, leave the field blank.
- Rename run for panel grid rename the run only in the report, preserving the existing name in other contexts. Generating a new random name is not supported.
- Click Publish report.
Freeze a run set
A report automatically updates run sets to show the latest data from the project. You can preserve the run set in a report by freezing that run set. When you freeze a run set, you preserve the state of the run set in a report at a point in time. To freeze a run set when viewing a report, click the snowflake icon in its panel grid near the Filter button.
Group a run set programmatically
Group runs in a run set programmatically with the Workspace and Reports API. You can group runs in a run set by config values, run metadata or summary metrics. The following table lists the available grouping methods along with the available keys for that grouping method:Grouping Method | Description | Available keys |
---|---|---|
Config values | Group runs by config values | Values specified in config parameter in wandb.init(config=) |
Run metadata | Group runs by run metadata | State , Name , JobType |
Summary metrics | Group runs by summary metrics | Values you log to a run with wandb.Run.log() |
Group runs by config values
Group runs by config values to compare runs with similar configurations. Config values are parameters you specify in your run configuration(wandb.init(config=))
. To group runs by config values, use the config.<key>
syntax, where <key>
is the name of the config value you want to group by.
For example, the following code snippet first initializes a run with a config value for group
, then groups runs in a report based on the group
config value. Replace values for <entity>
and <project>
with your W&B entity and project names.
config.group
value:
Group runs by run metadata
Group runs by a run’s name (Name
), state (State
), or job type (JobType
).
Continuing from the previous example, you can group your runs by their name with the following code snippet:
The name of the run is the name you specify in the
wandb.init(name=)
parameter. If you do not specify a name, W&B generates a random name for the run.You can find the name of the run in the Overview page of a run in the W&B App or programmatically with Api.runs().run.name
.Group runs by summary metrics
The following examples demonstrate how to group runs by summary metrics. Summary metrics are the values you log to a run withwandb.Run.log()
. After you log a run, you can find the names of your summary metrics in the W&B App under the Summary section of a run’s Overview page.
The syntax for grouping runs by summary metrics is summary.<key>
, where <key>
is the name of the summary metric you want to group by.
For example, suppose you log a summary metric called acc
:
summary.acc
summary metric:
Filter a run set programmatically
Programmatically filter run sets and add them to a report with the Workspace and Reports API. The general syntax for a filter expression is:key
is the name of the filter, operation
is a comparison operator (e.g., >
, <
, ==
, in
, not in
, or
, and and
), and <value>
is the value to compare against. Filter
is a placeholder for the type of filter you want to apply. The following table lists the available filters and their descriptions:
Filter | Description | Available keys |
---|---|---|
Config('key') | Filter by config values | Values specified in config parameter in wandb.init(config=) . |
SummaryMetric('key') | Filter by summary metrics | Values you log to a run with wandb.Run.log() . |
Tags('key') | Filter by tags | Tag values that you add to your run (programmatically or with the W&B App). |
Metric('key') | Filter by run properties | tags , state , displayName , jobType |
wr.PanelGrid(runsets=)
. See the Report and Workspace API tabs throughout this page for more information on how to add various elements to a report programmatically.
The following examples demonstrate how to filter run sets in a report. Replace values enclosed in <>
with your own values.
Config filters
Filter a runset by one or more config values. Config values are parameters you specify in your run configuration (wandb.init(config=)
).
For example, the following code snippet first initializes a run with a config value for learning_rate
and batch_size
, then filters runs in a report based on the learning_rate
config value.
0.01
.
and
operator:
Metric filters
Filter run sets based on a run’s: tag (tags
), run state (state
), run name (displayName
), or job type (jobType
).
Metric
filters posses a different syntax. Pass a list of values as a list.run1
, run2
, and run3
, you can use the following code:
You can find the name of the run in the Overview page of a run in the W&B App or programmatically with
Api.runs().run.name
.finished
, crashed
, or running
):
SummaryMetric filters
The following examples demonstrate how to filter a run set by summary metrics. Summary metrics are the values you log to a run withwandb.Run.log()
. After you log a run, you can find the names of your summary metrics in the W&B App under the Summary section of a run’s Overview page.
Tags filters
The following code snippet shows how to filter a runs set by its tags. Tags are values you add to a run (programmatically or with the W&B App).Add code blocks
Add code blocks to your report interactively with the App UI or with the W&B SDK.- App UI
- Report and Workspace API
Enter a forward slash (
/
) in the report to display a dropdown menu. From the dropdown choose Code.Select the name of the programming language on the right hand of the code block. This will expand a dropdown. From the dropdown, select your programming language syntax. You can choose from Javascript, Python, CSS, JSON, HTML, Markdown, and YAML.Add markdown
Add markdown to your report interactively with the App UI or with the W&B SDK.- App UI
- Report and Workspace API
Enter a forward slash (
/
) in the report to display a dropdown menu. From the dropdown choose Markdown.Add HTML elements
Add HTML elements to your report interactively with the App UI or with the W&B SDK.- App UI
- Report and Workspace API
Enter a forward slash (
/
) in the report to display a dropdown menu. From the dropdown select a type of text block. For example, to create an H2 heading block, select the Heading 2
option.Embed rich media links
Embed rich media within the report with the App UI or with the W&B SDK.- App UI
- Report and Workspace API
Copy and past URLs into reports to embed rich media within the report. The following animations demonstrate how to copy and paste URLs from Twitter, YouTube, and SoundCloud.Twitter
Copy and paste a Tweet link URL into a report to view the Tweet within the report.



Youtube
Copy and paste a YouTube video URL link to embed a video in the report.
SoundCloud
Copy and paste a SoundCloud link to embed an audio file into a report.
Duplicate and delete panel grids
If you have a layout that you would like to reuse, you can select a panel grid and copy-paste it to duplicate it in the same report or even paste it into a different report. Highlight a whole panel grid section by selecting the drag handle in the upper right corner. Click and drag to highlight and select a region in a report such as panel grids, text, and headings.
delete
on your keyboard to delete a panel grid.

Collapse headers to organize Reports
Collapse headers in a Report to hide content within a text block. When the report is loaded, only headers that are expanded will show content. Collapsing headers in reports can help organize your content and prevent excessive data loading. The proceeding gif demonstrates the process.
Visualize relationships across multiple dimensions
To effectively visualize relationships across multiple dimensions, use a color gradient to represent one of the variables. This enhances clarity and makes patterns easier to interpret.- Choose a variable to represent with a color gradient (e.g., penalty scores, learning rates, etc.). This allows for a clearer understanding of how penalty (color) interacts with reward/side effects (y-axis) over training time (x-axis).
- Highlight key trends. Hovering over a specific group of runs highlights them in the visualization.