> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Workspaces

export const GitHubLink = ({url, compact = false}) => <a href={url} target="_blank" rel="noopener noreferrer" className={compact ? "source-link" : "github-source-link"}>
    {compact ? "View source" : <>
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
    </svg>
    GitHub source
      </>}
  </a>;

<GitHubLink url="https://github.com/wandb/wandb-workspaces/blob/main/wandb_workspaces/workspaces/internal.py" />

<Note>
  W\&B Report and Workspace API はパブリックプレビュー段階です。
</Note>

W\&B Workspace API をプログラムで操作するための Python ライブラリです。

```python theme={"system"}
# インポート方法
import wandb_workspaces.workspaces as ws
import wandb_workspaces.reports.v2 as wr

# ワークスペースの作成例
ws.Workspace(
     name="Example W&B Workspace",
     entity="entity", # ワークスペースを所有する entity
     project="project", # ワークスペースに関連付けられている project
     sections=[
         ws.Section(
             name="Validation Metrics",
             panels=[
                 wr.LinePlot(x="Step", y=["val_loss"]),
                 wr.BarPlot(metrics=["val_accuracy"]),
                 wr.ScalarChart(metric="f1_score", groupby_aggfunc="mean"),
             ],
             is_open=True,
         ),
     ],
)
workspace.save()
```

<h2 id="class-runsettings">
  <kbd>クラス</kbd> `RunSettings`
</h2>

runset (左側のバー) 内の run の設定です。

**属性:**

* `color` (str):  UI での run の色です。16 進数 (#ff0000)、CSS の色名 (red)、または RGB (rgb(255, 0, 0)) を指定できます。
* `disabled` (bool):  run が無効になっているかどうか (UI で目のアイコンが閉じた状態) を示します。デフォルトは `False` に設定されています。

***

<h2 id="class-runsetsettings">
  <kbd>クラス</kbd> `RunsetSettings`
</h2>

Workspace内の runset (run を含む左側のバー) の設定です。

**属性:**

* `query` (str):  runset をフィルターするクエリ (正規表現 expr も可、次のパラメータを参照) 。
* `regex_query` (bool):  上記の query が正規表現 expr かどうかを制御します。デフォルトは `False` に設定されています。
* `filters` (Union\[str, LList\[FilterExpr], Or, And]):  runset のフィルター。
  * FilterExpr のリストの場合: フィルターは AND で結合されます。
  * string の場合: Python 風の式、例: "Config('lr') = 0.001 and State = 'finished'"
* `Supports operators`:  `=`, `==`, `!=`, `<`, `>`, `<=`, `>=`, `in`, `not in`, `and`, `or`
  * Or/And コンビネータの場合: OR ロジックとネストしたグループを許可します。例: Or(And(Config("lr") == 0.01, Metric("State") == "finished"), Config("lr") == 0.1)
* `groupby` (LList\[expr.MetricType]):  runset でグループ化するメトリクスのリスト。`Metric`、`Summary`、`Config`、`Tags`、または `KeysInfo` に設定します。
* `order` (LList\[expr.Ordering]):  runset に適用するメトリクスと順序のリスト。
* `run_settings` (Dict\[str, RunSettings]):  run 設定の辞書。キーは run の ID で、値は RunSettings オブジェクトです。
* `pinned_columns` (LList\[str]):  ピン留めする列名のリスト。
* `Column names use format`:  "run:displayName"、"summary:metric"、"config:param"。
* `run`: displayName が存在しない場合は自動的に追加されます。
* `Example`:  \["summary:accuracy"、"summary:loss"]
* `baseline_run` (Optional\[str]):  ベースライン run の W\&B run スラッグ (`wandb.Run.id` の値、例: `"1mbku38n"` — run URL の最後のパスセグメントでもあります) 。差分列と比較スタイルに使用されます。設定すると、ベースライン run は W\&B アプリ の動作に合わせて自動的に `pinned_runs` に追加されます。Workspace自身の project 内の run を参照する必要があります。クロス project のピンはこの SDK ではまだサポートされていません (UI 相当の操作は W\&B アプリ の「Add cross-project runs」ドロワー参照) 。
* `pinned_runs` (LList\[str]):  run selector に表示したままにし、常にプロット用にフェッチする W\&B run スラッグの順序付きリスト。GraphQL ID ではなくスラッグ strings (`wandb.Run.id`) を渡してください。W\&B アプリ では最大 20 エントリに制限されています。

**例:**

```python theme={"system"}
    # string フィルターを使用（新しい方法）
    RunsetSettings(
         filters="Config('learning_rate') = 0.001 and State = 'finished'",
         pinned_columns=["summary:accuracy", "summary:loss"],
         baseline_run="1mbku38n",  # wandb.Run.id（URL 内のスラッグ）
         pinned_runs=["1mbku38n", "2u1g3j1c"],
    )

    # FilterExpr のリストを使用（元の方法）
    RunsetSettings(
         filters=[expr.Config("learning_rate") == 0.001],
         pinned_columns=["summary:accuracy", "summary:loss"],
    )
```

***

<h3 id="method-convert_filterexpr_list_to_string">
  <kbd>メソッド</kbd> `convert_filterexpr_list_to_string`
</h3>

```python theme={"system"}
convert_filterexpr_list_to_string()
```

FilterExpr のリストまたは Or/And を string の式に変換します。

***

<h3 id="method-ensure_baseline_pinned">
  <kbd>メソッド</kbd> `ensure_baseline_pinned`
</h3>

```python theme={"system"}
ensure_baseline_pinned()
```

W\&B アプリの不変条件に合わせます。ベースライン run は常にピン留めもされます。

フロントエンドの `setBaselineRun` action ハンドラは `setRunPinnedAndBaseline` を経由するため、UI が生成するすべての spec には、`pinnedRunIds` にベースラインの ID が含まれます。SDK が生成する spec も一致するように、ここでも同じ条件を適用します。

***

<h3 id="method-validate_and_setup_columns">
  <kbd>メソッド</kbd> `validate_and_setup_columns`
</h3>

```python theme={"system"}
validate_and_setup_columns()
```

run:displayName が存在し、内部の列フィールドを設定するようにします。

***

<h2 id="class-section">
  <kbd>クラス</kbd> `Section`
</h2>

Workspace 内のセクションを表します。

**属性:**

* `name` (str):  セクションの名/タイトル。
* `panels` (LList\[PanelTypes]):  セクション内のパネルの順序付きリスト。デフォルトでは、最初のパネルが左上、最後のパネルが右下に配置されます。
* `is_open` (bool):  セクションが開いているか閉じているか。デフォルトでは閉じています。
* `pinned` (bool):  セクションが固定されているかどうか。固定されたセクションは Workspace の上部に表示されます。デフォルトは False です。
* `layout_settings` (SectionLayoutSettings):  セクション内のパネルレイアウトの設定。
* `panel_settings`:  セクション内のすべてのパネルに適用されるパネルレベルの設定。`Section` に対する `WorkspaceSettings` に相当します。

***

<h2 id="class-sectionlayoutsettings">
  <kbd>クラス</kbd> `SectionLayoutSettings`
</h2>

セクションのパネルレイアウト設定です。通常、W\&B アプリの Workspace UI のセクション右上に表示されます。

**属性:**

* `columns` (int):  レイアウトの列数です。デフォルトは 3 です。
* `rows` (int):  レイアウトの行数です。デフォルトは 2 です。

***

<h2 id="class-sectionpanelsettings">
  <kbd>クラス</kbd> `SectionPanelSettings`
</h2>

セクションのパネル設定です。セクション用の `WorkspaceSettings` に相当します。

ここで適用した設定は、より詳細なパネル設定によってオーバーライドされます。優先順位は、セクション \< パネルです。

**属性:**

* `x_axis` (str):  X 軸のメトリクス名の設定です。デフォルトでは "Step" に設定されます。
* `x_min Optional[float]`:  X 軸の最小値です。
* `x_max Optional[float]`:  X 軸の最大値です。
* `smoothing_type` (Literal\['exponentialTimeWeighted', 'exponential', 'gaussian', 'average', 'none']):  すべてのパネルに適用するスムージングタイプです。
* `smoothing_weight` (int):  すべてのパネルに適用するスムージングの重みです。

***

<h2 id="class-workspace">
  <kbd>クラス</kbd> `Workspace`
</h2>

セクション、設定、run set の設定を含む W\&B ワークスペースを表します。

**属性:**

* `entity` (str):  このワークスペースの保存先となる entity (通常はユーザー名またはチーム名) 。
* `project` (str):  このワークスペースの保存先となる project。
* `name`:  ワークスペース名。
* `sections` (LList\[Section]):  ワークスペース内のセクションの順序付きリスト。  最初のセクションはワークスペースの最上部に配置されます。
* `settings` (WorkspaceSettings):  ワークスペースの設定。通常、UI ではワークスペースの最上部に表示されます。
* `runset_settings` (RunsetSettings):  ワークスペース内の runset (run を含む左側のバー) の設定。
* `auto_generate_panels` (bool):  この project でログされたすべてのキーについて、パネルを自動生成するかどうか。  利用可能なすべてのデータをデフォルトで可視化したい場合に推奨します。  ワークスペースの作成時にのみ設定でき、作成後は変更できません。

***

<h3 id="property-auto_generate_panels">
  <kbd>プロパティ</kbd> auto\_generate\_panels
</h3>

***

<h3 id="property-url">
  <kbd>プロパティ</kbd> url
</h3>

W\&B アプリ内の Workspace の URL です。

***

<h3 id="classmethod-from_url">
  <kbd>クラスメソッド</kbd> `from_url`
</h3>

```python theme={"system"}
from_url(url: str)
```

URL から Workspace を取得します。

***

<h3 id="method-save">
  <kbd>メソッド</kbd> `save`
</h3>

```python theme={"system"}
save()
```

現在の Workspace を W\&B に保存します。

**戻り値**

* `Workspace`:  保存された内部名と ID を持つ、更新済みの Workspace。

***

<h3 id="method-save_as_new_view">
  <kbd>method</kbd> `save_as_new_view`
</h3>

```python theme={"system"}
save_as_new_view()
```

現在のワークスペースを新しいビューとして W\&B に保存します。

**戻り値:**

* `Workspace`:  保存された内部名と ID を持つ、更新されたワークスペースです。

***

<h2 id="class-workspacesettings">
  <kbd>クラス</kbd> `WorkspaceSettings`
</h2>

Workspace の設定です。通常、UI の Workspace 上部に表示されます。

このオブジェクトには、X 軸、スムージング、外れ値、パネル、ツールチップ、run、パネルのクエリバーの設定が含まれます。

ここで適用した設定は、より詳細なセクションおよびパネル設定によって、Workspace \< セクション \< パネルの優先順位でオーバーライドされます。

**属性:**

* `x_axis` (str):  X 軸のメトリクス名の設定です。
* `x_min` (Optional\[float]):  X 軸の最小値です。
* `x_max` (Optional\[float]):  X 軸の最大値です。
* `smoothing_type` (Literal\['exponentialTimeWeighted', 'exponential', 'gaussian', 'average', 'none']):  すべてのパネルに適用するスムージングタイプです。
* `smoothing_weight` (int):  すべてのパネルに適用するスムージングの重みです。
* `ignore_outliers` (bool):  すべてのパネルで外れ値を無視します。
* `sort_panels_alphabetically` (bool):  すべてのセクションでパネルをアルファベット順に並べ替えます。
* `group_by_prefix` (Literal\["first", "last"]):  最初の接頭辞、または最後の接頭辞まででパネルをグループ化します (first または last) 。デフォルトは `last` です。
* `remove_legends_from_panels` (bool):  すべてのパネルから凡例を削除します。
* `tooltip_number_of_runs` (Literal\["default", "all", "none"]):  ツールチップに表示する run の数です。
* `tooltip_color_run_names` (bool):  ツールチップ内の run 名の色を runset に合わせるか (True) 、合わせないか (False) を指定します。デフォルトは `True` です。
* `max_runs` (int):  パネルごとに表示する run の最大数です (runset の最初の 10 件の run が対象になります) 。
* `point_visualization_method` (Literal\["line", "point", "line\_point"]):  ポイントの可視化方法です。
* `panel_search_query` (str):  panel search バーのクエリです (正規表現を使用できます) 。
* `auto_expand_panel_search_results` (bool):  panel search の結果を自動的に展開するかどうかを指定します。
