> ## 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.

# 워크스페이스

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", # 워크스페이스와 연결된 프로젝트
     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>class</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>

워크스페이스에서 runset( run을 포함하는 왼쪽 바)에 대한 설정입니다.

**속성:**

* `query` (str):  runset을 필터링하는 쿼리입니다(정규식 표현식일 수 있음, 다음 매개변수 참조).
* `regex_query` (bool):  위 쿼리가 정규식 표현식인지 여부를 제어합니다. 기본값은 `False`입니다.
* `filters` (Union\[str, LList\[FilterExpr], Or, And]):  runset에 대한 필터입니다.
  * FilterExpr 목록인 경우: 필터가 AND로 결합됩니다.
  * string인 경우: Python과 유사한 표현식(예: "Config('lr') = 0.001 and State = 'finished'")
* `지원하는 연산자`:  `=`, `==`, `!=`, `<`, `>`, `<=`, `>=`, `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이 없으면 자동으로 추가됩니다.
* `예시`:  \["summary:accuracy", "summary:loss"]
* `baseline_run` (Optional\[str]):  기준 run의 W\&B run 슬러그(`wandb.Run.id` 값, 예: `"1mbku38n"` — run URL의 마지막 경로 세그먼트이기도 함)입니다. 델타 열과 비교 스타일에 사용됩니다. 설정하면 기준 run이 W\&B 앱 동작과 일치하도록 `pinned_runs`에 자동 추가됩니다. 워크스페이스 자체 프로젝트의 run을 참조해야 합니다. 이 SDK는 아직 교차 프로젝트 고정을 지원하지 않습니다(W\&B 앱의 "Add cross-project runs" 드로어 참조).
* `pinned_runs` (LList\[str]):  run 선택기에서 항상 표시하고 플롯에 대해 항상 가져올 W\&B run 슬러그의 정렬된 목록입니다. GraphQL ID가 아닌 슬러그 string(`wandb.Run.id`)을 전달합니다. W\&B 앱은 최대 20개 항목으로 제한합니다.

**예시:**

```python theme={"system"}
    # 문자열 필터 사용 (신규)
    RunsetSettings(
         filters="Config('learning_rate') = 0.001 and State = 'finished'",
         pinned_columns=["summary:accuracy", "summary:loss"],
         baseline_run="1mbku38n",  # wandb.Run.id (URL의 slug)
         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` 액션 핸들러는 `setRunPinnedAndBaseline`을 통해 라우팅되므로, UI에서 생성된 모든 사양에는 `pinnedRunIds`에 기준 ID가 존재합니다. 여기서도 동일하게 강제 적용하여 SDK에서 생성된 사양이 일치하도록 합니다.

***

<h3 id="method-validate_and_setup_columns">
  <kbd>방법</kbd> `validate_and_setup_columns`
</h3>

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

run:displayName이 존재하는지 확인하고 내부 column 필드를 설정하세요.

***

<h2 id="class-section">
  <kbd>클래스</kbd> `Section`
</h2>

워크스페이스의 섹션을 나타냅니다.

**속성:**

* `name` (str):  섹션의 이름/제목입니다.
* `panels` (LList\[PanelTypes]):  섹션 내 패널의 순서가 지정된 목록입니다. 기본적으로 첫 번째 패널은 왼쪽 위에, 마지막 패널은 오른쪽 아래에 배치됩니다.
* `is_open` (bool):  섹션이 열려 있는지 닫혀 있는지 여부입니다. 기본값은 닫힘입니다.
* `pinned` (bool):  섹션의 고정 여부입니다. 고정된 섹션은 워크스페이스 상단에 표시됩니다. 기본값은 False입니다.
* `layout_settings` (SectionLayoutSettings):  섹션 내 패널 레이아웃 설정입니다.
* `panel_settings`:  섹션 내 모든 패널에 적용되는 패널 수준 설정으로, `Section`에 대한 `WorkspaceSettings`와 유사합니다.

***

<h2 id="class-sectionlayoutsettings">
  <kbd>클래스</kbd> `SectionLayoutSettings`
</h2>

섹션의 패널 레이아웃 설정으로, 일반적으로 W\&B App 작업 공간 UI의 섹션 오른쪽 상단에 표시됩니다.

**속성:**

* `columns` (int):  레이아웃의 열 수입니다. 기본값은 3입니다.
* `rows` (int):  레이아웃의 행 수입니다. 기본값은 2입니다.

***

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

섹션의 패널 설정으로, 섹션용 `WorkspaceSettings`와 비슷합니다.

여기에서 적용한 설정은 더 세분화된 패널 설정으로 재정의될 수 있으며, 우선순위는 Section \< Panel입니다.

**속성:**

* `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 세트 설정을 포함하는 W\&B 워크스페이스를 나타냅니다.

**속성:**

* `entity` (str):  이 워크스페이스가 저장될 entity입니다(일반적으로 사용자 이름 또는 팀 이름).
* `project` (str):  이 워크스페이스가 저장될 프로젝트입니다.
* `name`:  워크스페이스의 이름입니다.
* `sections` (LList\[Section]):  워크스페이스에 포함된 섹션의 순서 있는 목록입니다.  첫 번째 섹션이 워크스페이스 맨 위에 표시됩니다.
* `settings` (WorkspaceSettings):  워크스페이스 설정으로, 일반적으로 UI에서  워크스페이스 상단에 표시됩니다.
* `runset_settings` (RunsetSettings):  워크스페이스의 run 세트  (run 목록이 표시되는 왼쪽 막대) 설정입니다.
* `auto_generate_panels` (bool):  이 프로젝트에 로깅된 모든 키에 대해 패널을 자동으로 생성할지 여부입니다.  사용 가능한 모든 데이터를 기본적으로 시각화하려면 이 옵션을 사용하는 것이 좋습니다.  이 값은 워크스페이스를 생성할 때만 설정할 수 있으며, 이후에는 변경할 수 없습니다.

***

<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에서 워크스페이스를 조회합니다.

***

<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>방법</kbd> `save_as_new_view`
</h3>

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

현재 workspace를 W\&B에 새 뷰로 저장합니다.

**반환값:**

* `Workspace`:  저장된 내부 이름과 ID가 반영되어 업데이트된 workspace입니다.

***

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

워크스페이스 설정으로, 일반적으로 UI의 워크스페이스 상단에 표시됩니다.

이 객체에는 x축, 스무딩, 이상값, 패널, 툴팁, run, 패널 쿼리 바에 대한 설정이 포함됩니다.

여기에서 적용한 설정은 더 세분화된 섹션 및 패널 설정에 의해 다음 우선순위에 따라 재정의될 수 있습니다: 워크스페이스 \< 섹션 \< 패널

**속성:**

* `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):  패널 검색 바의 쿼리(정규식 사용 가능).
* `auto_expand_panel_search_results` (bool):  패널 검색 결과를 자동으로 펼칠지 여부.
