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

# Workspaces

export const GitHubLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="github-source-link">
    <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>
    Source GitHub
  </a>;

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

<Note>L'API W\&B Report and Workspace est en aperçu public.</Note>

Bibliothèque Python pour interagir de manière programmatique avec l'API W\&B Workspace.

```python theme={null}
# Comment importer
import wandb_workspaces.workspaces as ws
import wandb_workspaces.reports.v2 as wr

# Exemple de création d'un workspace
ws.Workspace(
     name="Example W&B Workspace",
     entity="entity", # entité propriétaire du workspace
     project="project", # projet auquel le workspace est associé
     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()
```

## <kbd>class</kbd> `RunSettings`

Paramètres d’un run dans un runset (barre de gauche).

**Attributs :**

* `color` (str):  La couleur du run dans l’interface utilisateur. Peut être au format hexadécimal (#ff0000), une couleur CSS (red) ou au format RGB (rgb(255, 0, 0))
* `disabled` (bool):  Indique si le run est désactivé (œil fermé dans l’interface utilisateur). La valeur par défaut est `False`.

***

## <kbd>class</kbd> `RunsetSettings`

Paramètres du runset (la barre de gauche contenant les runs) dans un Workspace.

**Attributs :**

* `query` (str):  Une requête pour filtrer le runset (peut être une expression régulière, voir le paramètre suivant).
* `regex_query` (bool):  Indique si la requête (ci-dessus) est une expression régulière. La valeur par défaut est `False`.
* `filters` (Union\[str, LList\[FilterExpr], Or, And]):  Filtres à appliquer au runset.
  * Sous forme de liste de FilterExpr : les filtres sont combinés avec l’opérateur AND.
  * Sous forme de chaîne : utilisez des expressions de type Python, par ex., "Config('lr') = 0.001 and State = 'finished'"
* `Supports operators`:  `=`, `==`, `!=`, `<`, `>`, `<=`, `>=`, `in`, `not in`, `and`, `or`
  * Sous forme de combinateur Or/And : permet d’utiliser une logique OR et des groupes imbriqués. Par ex., Or(And(Config("lr") == 0.01, Metric("State") == "finished"), Config("lr") == 0.1)
* `groupby` (LList\[expr.MetricType]):  Une liste de métriques selon lesquelles regrouper les éléments du runset. Définissez-la sur `Metric`, `Summary`, `Config`, `Tags` ou `KeysInfo`.
* `order` (LList\[expr.Ordering]):  Une liste de métriques et d’ordres de tri à appliquer au runset.
* `run_settings` (Dict\[str, RunSettings]):  Un dictionnaire de paramètres de run, où la clé est l’ID du run et la valeur un objet RunSettings.
* `pinned_columns` (LList\[str]):  Liste des noms de colonnes à épingler.
* `Column names use format`:  "run:displayName", "summary:metric", "config:param".
* `run`: displayName est ajouté automatiquement s’il n’est pas déjà présent.
* `Example`:  \["summary:accuracy", "summary:loss"]
* `baseline_run` (Optional\[str]):  Le slug W\&B du run de référence (la valeur de `wandb.Run.id`, par ex. `"1mbku38n"` — également le dernier segment du chemin d’une URL de run). Utilisé pour les colonnes delta et le style de comparaison. Lorsqu’il est défini, le run de référence est automatiquement ajouté à `pinned_runs` pour correspondre au comportement de l’application W\&B. Il doit faire référence à un run du Workspace lui-même — les épingles entre projects ne sont pas encore prises en charge par ce SDK (voir le volet latéral "Add cross-project runs" de l’application W\&B pour l’équivalent dans l’interface utilisateur).
* `pinned_runs` (LList\[str]):  Liste ordonnée de slugs de runs W\&B à conserver visibles dans le sélecteur de runs et à toujours récupérer pour les graphiques. Transmettez des chaînes de slug (`wandb.Run.id`), et non des ID GraphQL. L’application W\&B limite ce nombre à 20 entrées.

**Exemple :**

```python theme={null}
    # Utilisation de filtres sous forme de chaîne (nouveau)
    RunsetSettings(
         filters="Config('learning_rate') = 0.001 and State = 'finished'",
         pinned_columns=["summary:accuracy", "summary:loss"],
         baseline_run="1mbku38n",  # wandb.Run.id (le slug de l'URL)
         pinned_runs=["1mbku38n", "2u1g3j1c"],
    )

    # Utilisation d'une liste FilterExpr (méthode d'origine)
    RunsetSettings(
         filters=[expr.Config("learning_rate") == 0.001],
         pinned_columns=["summary:accuracy", "summary:loss"],
    )
```

***

### <kbd>méthode</kbd> `convert_filterexpr_list_to_string`

```python theme={null}
convert_filterexpr_list_to_string()
```

Convertit une liste de FilterExpr ou un Or/And en expression sous forme de chaîne.

***

### <kbd>méthode</kbd> `ensure_baseline_pinned`

```python theme={null}
ensure_baseline_pinned()
```

Respectez l'invariant de l'application W\&B : un run de référence est toujours aussi épinglé.

Le gestionnaire d'action frontend `setBaselineRun` passe par `setRunPinnedAndBaseline`, de sorte que toute spécification produite par l'interface utilisateur inclut l'ID de référence dans `pinnedRunIds`. Nous appliquons la même règle ici afin que les spécifications produites par le SDK soient cohérentes.

***

### <kbd>méthode</kbd> `validate_and_setup_columns`

```python theme={null}
validate_and_setup_columns()
```

Assurez-vous que run:displayName est présent et configurez les champs de colonne internes.

***

## <kbd>class</kbd> `Section`

Représente une section dans un Workspace.

**Attributs :**

* `name` (str):  Le nom/titre de la section.
* `panels` (LList\[PanelTypes]):  Une liste ordonnée de panneaux dans la section. Par défaut, le premier se trouve en haut à gauche et le dernier en bas à droite.
* `is_open` (bool):  Indique si la section est ouverte ou fermée. Par défaut, elle est fermée.
* `pinned` (bool):  Indique si la section est épinglée. Les sections épinglées apparaissent en haut du Workspace. La valeur par défaut est `False`.
* `layout_settings` (SectionLayoutSettings):  Paramètres de mise en page des panneaux dans la section.
* `panel_settings`:  Paramètres au niveau des panneaux appliqués à tous les panneaux de la section, similaires à `WorkspaceSettings` pour une `Section`.

***

## <kbd>class</kbd> `SectionLayoutSettings`

Paramètres de mise en page des panneaux d’une section, généralement visibles en haut à droite de la section dans l’UI Workspace de W\&B App.

**Attributs :**

* `columns` (int):  Le nombre de colonnes dans la mise en page. La valeur par défaut est 3.
* `rows` (int):  Le nombre de lignes dans la mise en page. La valeur par défaut est 2.

***

## <kbd>class</kbd> `SectionPanelSettings`

Paramètres de panneau pour une section, similaires à `WorkspaceSettings` pour une section.

Les paramètres appliqués ici peuvent être remplacés par des paramètres de panneau plus précis, selon l’ordre de priorité suivant : Section \< Panel.

**Attributs :**

* `x_axis` (str):  Paramètre du nom de la métrique de l’axe X. Par défaut, la valeur est "Step".
* `x_min Optional[float]`:  Valeur minimum pour l’axe x.
* `x_max Optional[float]`:  Valeur maximum pour l’axe x.
* `smoothing_type` (Literal\['exponentialTimeWeighted', 'exponential', 'gaussian', 'average', 'none']):  Type de lissage appliqué à tous les panneaux.
* `smoothing_weight` (int):  Poids du lissage appliqué à tous les panneaux.

***

## <kbd>class</kbd> `Workspace`

Représente un Workspace W\&B, y compris les sections, les paramètres et la configuration des ensembles de runs.

**Attributs :**

* `entity` (str):  L’entité dans laquelle ce Workspace sera enregistré (généralement le nom d’un utilisateur ou d’une équipe).
* `project` (str):  Le projet dans lequel ce Workspace sera enregistré.
* `name`:  Le nom du Workspace.
* `sections` (LList\[Section]):  Une liste ordonnée des sections du Workspace. La première section se trouve en haut du Workspace.
* `settings` (WorkspaceSettings):  Les paramètres du Workspace, généralement visibles en haut du Workspace dans l’UI.
* `runset_settings` (RunsetSettings):  Les paramètres du runset (la barre de gauche contenant les runs) dans un Workspace.
* `auto_generate_panels` (bool):  Indique s’il faut générer automatiquement des panneaux pour toutes les clés enregistrées dans ce projet. Recommandé si vous souhaitez que toutes les données disponibles soient visualisées par défaut. Ce paramètre ne peut être défini qu’au moment de la création du Workspace et ne peut plus être modifié ensuite.

***

### <kbd>propriété</kbd> auto\_generate\_panels

***

### <kbd>propriété</kbd> url

L’URL du Workspace dans l’application W\&B.

***

### <kbd>méthode de classe</kbd> `from_url`

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

Obtient un workspace à partir d’une URL.

***

### <kbd>méthode</kbd> `save`

```python theme={null}
save()
```

Enregistrez le Workspace actuel dans W\&B.

**Retourne :**

* `Workspace`:  Le Workspace mis à jour avec le nom interne et l'ID enregistrés.

***

### <kbd>méthode</kbd> `save_as_new_view`

```python theme={null}
save_as_new_view()
```

Enregistrez le Workspace actuel en tant que nouvelle vue dans W\&B.

**Retourne :**

* `Workspace`:  Le Workspace mis à jour, avec le nom interne et l’ID enregistrés.

***

## <kbd>class</kbd> `WorkspaceSettings`

Paramètres du Workspace, généralement visibles en haut du Workspace dans l'interface utilisateur.

Cet objet inclut des paramètres pour l'axe x, le lissage, les valeurs aberrantes, les panneaux, les infobulles, les runs et la barre de requête des panneaux.

Les paramètres appliqués ici peuvent être surchargés par des paramètres de Section et de Panel plus spécifiques, selon cet ordre de priorité : Workspace \< Section \< Panel

**Attributs :**

* `x_axis` (str):  Paramètre du nom de la métrique de l'axe x.
* `x_min` (Optional\[float]):  Valeur minimale pour l'axe x.
* `x_max` (Optional\[float]):  Valeur maximale pour l'axe x.
* `smoothing_type` (Literal\['exponentialTimeWeighted', 'exponential', 'gaussian', 'average', 'none']):  Type de lissage appliqué à tous les panneaux.
* `smoothing_weight` (int):  Poids du lissage appliqué à tous les panneaux.
* `ignore_outliers` (bool):  Ignore les valeurs aberrantes dans tous les panneaux.
* `sort_panels_alphabetically` (bool):  Trie les panneaux de toutes les sections par ordre alphabétique.
* `group_by_prefix` (Literal\["first", "last"]):  Regroupe les panneaux par premier ou dernier préfixe (`first` ou `last`). La valeur par défaut est `last`.
* `remove_legends_from_panels` (bool):  Supprime les légendes de tous les panneaux.
* `tooltip_number_of_runs` (Literal\["default", "all", "none"]):  Le nombre de runs à afficher dans l'infobulle.
* `tooltip_color_run_names` (bool):  Indique s'il faut colorer les noms des runs dans l'infobulle pour correspondre au runset (True) ou non (False). La valeur par défaut est `True`.
* `max_runs` (int):  Le nombre maximal de runs à afficher par panneau (il s'agira des 10 premiers runs du runset).
* `point_visualization_method` (Literal\["line", "point", "line\_point"]):  La méthode de visualisation des points.
* `panel_search_query` (str):  La requête de la barre de recherche des panneaux (peut être une expression regex).
* `auto_expand_panel_search_results` (bool):  Indique s'il faut développer automatiquement les résultats de recherche des panneaux.
