# Workbooks

A workbook is a set of charts and panels for viewing a run’s or an asset’s data in Nominal.
A workbook template defines the panels once, so you can create the same workbook for every test.

## Connect the client

This guide assumes you have [installed](https://dev.nominal.io/python/guides/install.md) the client and setup your [API keys](https://dev.nominal.io/python/guides/api-keys-setup.md).

```python
from nominal.core import NominalClient

client = NominalClient.from_profile("default")
```

## Create a workbook from a template

[`create_workbook()`](https://dev.nominal.io/python/ref/generated/nominal.core.WorkbookTemplate.md#nominal.core.WorkbookTemplate.create_workbook "nominal.core.WorkbookTemplate.create_workbook") creates a workbook for a [run](https://dev.nominal.io/python/guides/runs.md) or an [asset](https://dev.nominal.io/python/guides/assets.md).
The template’s inputs must match the run’s ref names or the asset’s data scope names.

```python
template = client.get_workbook_template("<TEMPLATE_RID>")
workbook = template.create_workbook(run=client.get_run("<RUN_RID>"), title="Flight review")
print(workbook.nominal_url)
```

To copy a template’s RID, open it from **Workbooks** → **Templates**, click the arrow next to its name and select **Copy RID**.
To look templates up by name or label instead, use [`search_workbook_templates()`](https://dev.nominal.io/python/ref/generated/nominal.core.NominalClient.md#nominal.core.NominalClient.search_workbook_templates "nominal.core.NominalClient.search_workbook_templates").

## Find workbooks

[`search_workbooks()`](https://dev.nominal.io/python/ref/generated/nominal.core.NominalClient.md#nominal.core.NominalClient.search_workbooks "nominal.core.NominalClient.search_workbooks") filters by run, asset, labels and author:

```python
for workbook in client.search_workbooks(run=run):
    print(workbook.title, workbook.nominal_url)
```

[`search_workbooks()`](https://dev.nominal.io/python/ref/generated/nominal.core.Run.md#nominal.core.Run.search_workbooks "nominal.core.Run.search_workbooks") and [`search_workbooks()`](https://dev.nominal.io/python/ref/generated/nominal.core.Asset.md#nominal.core.Asset.search_workbooks "nominal.core.Asset.search_workbooks") search the workbooks of one run or asset.
