From 37cbd12672cf5e7ecd37ffe3a2a5b73e6d74660c Mon Sep 17 00:00:00 2001
From: Noah Luna <15202580+ngrayluna@users.noreply.github.com>
Date: Wed, 29 Apr 2026 18:44:23 -0700
Subject: [PATCH] preview
---
models/ref/python/automations/automation.mdx | 208 ++-
models/ref/python/automations/donothing.mdx | 175 +-
.../python/automations/metricchangefilter.mdx | 201 +-
.../automations/metricthresholdfilter.mdx | 186 +-
.../python/automations/metriczscorefilter.mdx | 182 +-
.../ref/python/automations/newautomation.mdx | 193 +-
.../python/automations/onaddartifactalias.mdx | 183 +-
.../python/automations/oncreateartifact.mdx | 183 +-
.../ref/python/automations/onlinkartifact.mdx | 183 +-
models/ref/python/automations/onrunmetric.mdx | 183 +-
models/ref/python/automations/onrunstate.mdx | 183 +-
.../ref/python/automations/runstatefilter.mdx | 174 +-
.../python/automations/sendnotification.mdx | 195 +-
models/ref/python/automations/sendwebhook.mdx | 185 +-
models/ref/python/custom-charts/bar.mdx | 59 +-
.../python/custom-charts/confusion_matrix.mdx | 91 +-
models/ref/python/custom-charts/histogram.mdx | 45 +-
models/ref/python/custom-charts/line.mdx | 83 +-
.../ref/python/custom-charts/line_series.mdx | 121 +-
.../ref/python/custom-charts/plot_table.mdx | 70 +-
models/ref/python/custom-charts/pr_curve.mdx | 82 +-
models/ref/python/custom-charts/roc_curve.mdx | 71 +-
models/ref/python/custom-charts/scatter.mdx | 63 +-
models/ref/python/data-types/audio.mdx | 81 +-
models/ref/python/data-types/box3d.mdx | 112 +-
models/ref/python/data-types/histogram.mdx | 78 +-
models/ref/python/data-types/html.mdx | 86 +-
models/ref/python/data-types/image.mdx | 136 +-
models/ref/python/data-types/molecule.mdx | 91 +-
models/ref/python/data-types/object3d.mdx | 97 +-
models/ref/python/data-types/plotly.mdx | 77 +-
models/ref/python/data-types/table.mdx | 178 +-
models/ref/python/data-types/video.mdx | 97 +-
models/ref/python/experiments/artifact.mdx | 1179 +++---------
models/ref/python/experiments/run.mdx | 1262 +++----------
models/ref/python/experiments/settings.mdx | 918 +++++----
models/ref/python/functions/controller.mdx | 43 +-
models/ref/python/functions/finish.mdx | 48 +-
models/ref/python/functions/init.mdx | 168 +-
models/ref/python/functions/login.mdx | 90 +-
models/ref/python/functions/restore.mdx | 52 +-
models/ref/python/functions/setup.mdx | 62 +-
models/ref/python/functions/sweep.mdx | 55 +-
models/ref/python/functions/teardown.mdx | 40 +-
models/ref/python/public-api/api.mdx | 1657 ++---------------
.../python/public-api/artifactcollection.mdx | 174 +-
.../python/public-api/artifactcollections.mdx | 41 +-
.../ref/python/public-api/artifactfiles.mdx | 37 +-
models/ref/python/public-api/artifacts.mdx | 49 +-
models/ref/python/public-api/artifacttype.mdx | 78 +-
.../ref/python/public-api/artifacttypes.mdx | 32 +-
models/ref/python/public-api/automations.mdx | 37 +-
models/ref/python/public-api/betareport.mdx | 142 +-
.../public-api/downloadhistoryresult.mdx | 39 +-
models/ref/python/public-api/file.mdx | 105 +-
models/ref/python/public-api/files.mdx | 72 +-
.../public-api/incompleterunhistoryerror.mdx | 34 +-
models/ref/python/public-api/member.mdx | 38 +-
models/ref/python/public-api/project.mdx | 137 +-
.../public-api/projectartifactcollections.mdx | 46 +-
models/ref/python/public-api/projects.mdx | 65 +-
models/ref/python/public-api/registry.mdx | 455 +----
models/ref/python/public-api/reports.mdx | 61 +-
models/ref/python/public-api/run.mdx | 768 ++------
models/ref/python/public-api/runartifacts.mdx | 32 +-
models/ref/python/public-api/runs.mdx | 102 +-
models/ref/python/public-api/sweep.mdx | 185 +-
models/ref/python/public-api/sweeps.mdx | 58 +-
models/ref/python/public-api/team.mdx | 105 +-
models/ref/python/public-api/user.mdx | 101 +-
70 files changed, 5407 insertions(+), 7492 deletions(-)
diff --git a/models/ref/python/automations/automation.mdx b/models/ref/python/automations/automation.mdx
index 1bbc46cf71..d161274b4e 100644
--- a/models/ref/python/automations/automation.mdx
+++ b/models/ref/python/automations/automation.mdx
@@ -1,47 +1,189 @@
---
title: Automation
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.automations
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+__typename: Literal['Trigger'] = 'Trigger',
+id: typing.Annotated[str, Strict(strict=True)],
+createdAt: datetime.datetime,
+updatedAt: Optional[datetime.datetime] = None,
+name: str,
+description: Optional[str],
+enabled: bool,
+scope: Annotated[Union[wandb.automations.scopes._ArtifactSequenceScope, wandb.automations.scopes._ArtifactPortfolioScope, wandb.automations.scopes.ProjectScope], BeforeValidator(func=, json_schema_input_type=PydanticUndefined)],
+event: wandb.automations.events.SavedEvent,
+action: Annotated[Union[wandb.automations.actions.SavedLaunchJobAction, wandb.automations.actions.SavedNotificationAction, wandb.automations.actions.SavedWebhookAction, wandb.automations.actions.SavedNoOpAction], BeforeValidator(func=, json_schema_input_type=PydanticUndefined)]
+```
+## Description
-## class `Automation`
A local instance of a saved W&B automation that supports editing.
-### method `Automation.__init__`
-```python
-__init__(
- typename__: 'Literal['Trigger']' = 'Trigger',
- id: 'str',
- created_at: 'datetime',
- updated_at: 'datetime | None' = None,
- name: 'str',
- description: 'str | None',
- enabled: 'bool',
- scope: '_ArtifactSequenceScope | _ArtifactPortfolioScope | ProjectScope',
- event: 'SavedEvent',
- action: 'SavedLaunchJobAction | SavedNotificationAction | SavedWebhookAction | SavedNoOpAction'
-) → None
+## Args:
+
+- **__typename**:
+- **id**:
+- **createdAt**:
+- **updatedAt**:
+- **name**:
+- **description**:
+- **enabled**:
+- **scope**:
+- **event**:
+- **action**:
+
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `typename__` (Literal['Trigger']):
- - `id` (str):
- - `created_at` (datetime): The date and time when this automation was created.
- - `updated_at` (Optional[datetime]): The date and time when this automation was last updated, if applicable.
- - `name` (str): The name of this automation.
- - `description` (Optional[str]): An optional description of this automation.
- - `enabled` (bool): Whether this automation is enabled. Only enabled automations will trigger.
- - `scope` (Union[_ArtifactSequenceScope, _ArtifactPortfolioScope, ProjectScope]): The scope in which the triggering event must occur.
- - `event` (SavedEvent): The event that will trigger this automation.
- - `action` (Union[SavedLaunchJobAction, SavedNotificationAction, SavedWebhookAction, SavedNoOpAction]): The action that will execute when this automation is triggered.
-
-**Returns:**
- An `Automation` object.
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
+
diff --git a/models/ref/python/automations/donothing.mdx b/models/ref/python/automations/donothing.mdx
index 79caedf77a..a46fff03d0 100644
--- a/models/ref/python/automations/donothing.mdx
+++ b/models/ref/python/automations/donothing.mdx
@@ -1,32 +1,173 @@
---
title: DoNothing
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.actions
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+no_op: typing.Annotated[bool, BeforeValidator(func=, json_schema_input_type=PydanticUndefined)] = True,
+action_type: Literal[NO_OP] = NO_OP
+```
+## Description
-## class `DoNothing`
Defines an automation action that intentionally does nothing.
-### method `DoNothing.__init__`
-```python
-__init__(
- no_op: 'bool' = True,
- action_type: 'Literal[NO_OP]' = NO_OP
-) → None
+## Args:
+
+- **no_op**:
+- **action_type**:
+
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `no_op` (bool): Placeholder field which exists only to satisfy backend schema requirements.
- There should never be a need to set this field explicitly, as its value is ignored.
- - `action_type` (Literal[NO_OP]):
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
-**Returns:**
- An `DoNothing` object.
diff --git a/models/ref/python/automations/metricchangefilter.mdx b/models/ref/python/automations/metricchangefilter.mdx
index 95dafd73a4..f8c2e416ca 100644
--- a/models/ref/python/automations/metricchangefilter.mdx
+++ b/models/ref/python/automations/metricchangefilter.mdx
@@ -1,47 +1,188 @@
---
title: MetricChangeFilter
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations._filters.run_metrics
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+name: str,
+agg_op: Optional[wandb.automations._filters.run_metrics.Agg] = None,
+current_window_size: typing.Annotated[int, Gt(gt=0)] = 1,
+cmp: NoneType = None,
+change_amount: Union[Annotated[int, Gt(gt=0)], Annotated[float, Gt(gt=0)]],
+prior_window_size: typing.Annotated[int, Gt(gt=0)] = ,
+change_type: wandb.automations._filters.run_metrics.ChangeType,
+change_dir: wandb.automations._filters.run_metrics.ChangeDir
+```
+## Description
-## class `MetricChangeFilter`
Filter that compares a **change** in a metric value to a user-defined threshold.
The change is calculated over "tumbling" windows, i.e. the difference
between the current window and the non-overlapping prior window.
-### method `MetricChangeFilter.__init__`
-```python
-__init__(
- name: 'str',
- agg: 'Agg | None' = None,
- window: 'int' = 1,
- cmp: 'None' = None,
- threshold: 'Annotated | Annotated',
- prior_window: 'int' = None,
- change_type: 'ChangeType',
- change_dir: 'ChangeDir'
-) → None
+## Args:
+
+- **name**:
+- **agg_op**:
+- **current_window_size**:
+- **cmp**:
+- **change_amount**:
+- **prior_window_size**:
+- **change_type**:
+- **change_dir**:
+
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `name` (str):
- - `agg` (Optional[Agg]):
- - `window` (int):
- - `cmp` (None): Ignored.
- - `threshold` (Union[Annotated, Annotated]):
- - `prior_window` (int): Size of the "prior" metric aggregation window (ignored if `agg` is ``None``).
- If omitted, defaults to the size of the current window.
- - `change_type` (ChangeType):
- - `change_dir` (ChangeDir):
-
-**Returns:**
- An `MetricChangeFilter` object.
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
+
diff --git a/models/ref/python/automations/metricthresholdfilter.mdx b/models/ref/python/automations/metricthresholdfilter.mdx
index 9ba3bcdb56..c3c1a770ef 100644
--- a/models/ref/python/automations/metricthresholdfilter.mdx
+++ b/models/ref/python/automations/metricthresholdfilter.mdx
@@ -1,40 +1,182 @@
---
title: MetricThresholdFilter
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations._filters.run_metrics
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+name: str,
+agg_op: Optional[wandb.automations._filters.run_metrics.Agg] = None,
+window_size: typing.Annotated[int, Gt(gt=0)] = 1,
+cmp_op: Literal['$gte', '$gt', '$lt', '$lte'],
+threshold: Union[Annotated[int, Strict(strict=True)], Annotated[float, Strict(strict=True)]]
+```
+## Description
-## class `MetricThresholdFilter`
Filter that compares an **absolute** metric value against a user-defined threshold.
The value may be a single value or an aggregated result over a window of
multiple values.
-### method `MetricThresholdFilter.__init__`
-```python
-__init__(
- name: 'str',
- agg: 'Agg | None' = None,
- window: 'int' = 1,
- cmp: 'Literal['$gte', '$gt', '$lt', '$lte']',
- threshold: 'Annotated | Annotated'
-) → None
+## Args:
+
+- **name**:
+- **agg_op**:
+- **window_size**:
+- **cmp_op**:
+- **threshold**:
+
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `name` (str):
- - `agg` (Optional[Agg]):
- - `window` (int):
- - `cmp` (Literal['$gte', '$gt', '$lt', '$lte']): Comparison operator between the metric value (left) vs. the threshold (right).
- - `threshold` (Union[Annotated, Annotated]):
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
-**Returns:**
- An `MetricThresholdFilter` object.
diff --git a/models/ref/python/automations/metriczscorefilter.mdx b/models/ref/python/automations/metriczscorefilter.mdx
index 7cfa73de00..3ddaa6abee 100644
--- a/models/ref/python/automations/metriczscorefilter.mdx
+++ b/models/ref/python/automations/metriczscorefilter.mdx
@@ -1,35 +1,177 @@
---
title: MetricZScoreFilter
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations._filters.run_metrics
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+name: str,
+window_size: typing.Annotated[int, Gt(gt=0)] = 30,
+threshold: Union[Annotated[int, Gt(gt=0)], Annotated[float, Gt(gt=0)]] = 3.0,
+change_dir: wandb.automations._filters.run_metrics.ChangeDir = ANY
+```
+## Description
-## class `MetricZScoreFilter`
Filter that compares a metric's z-score against a user-defined threshold.
-### method `MetricZScoreFilter.__init__`
-```python
-__init__(
- name: 'str',
- window: 'int' = 30,
- threshold: 'Annotated | Annotated' = 3.0,
- change_dir: 'ChangeDir' = ANY
-) → None
+## Args:
+
+- **name**:
+- **window_size**:
+- **threshold**:
+- **change_dir**:
+
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `name` (str): Name of the observed metric.
- - `window` (int): Size of the window to calculate the metric mean and standard deviation over.
- - `threshold` (Union[Annotated, Annotated]): Threshold for the z-score.
- - `change_dir` (ChangeDir): Direction of the z-score change to watch for.
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
-**Returns:**
- An `MetricZScoreFilter` object.
diff --git a/models/ref/python/automations/newautomation.mdx b/models/ref/python/automations/newautomation.mdx
index 89fdbff204..75ceba718f 100644
--- a/models/ref/python/automations/newautomation.mdx
+++ b/models/ref/python/automations/newautomation.mdx
@@ -1,44 +1,185 @@
---
title: NewAutomation
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.automations
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+name: Optional[str] = None,
+description: Optional[str] = None,
+enabled: Optional[bool] = None,
+event: Optional[Annotated[Union[wandb.automations.events.OnLinkArtifact, wandb.automations.events.OnAddArtifactAlias, wandb.automations.events.OnCreateArtifact, wandb.automations.events.OnRunMetric, wandb.automations.events.OnRunState], FieldInfo(annotation=NoneType, required=True, discriminator='event_type')]] = None,
+action: Optional[Annotated[Union[wandb.automations.actions.SendNotification, wandb.automations.actions.SendWebhook, wandb.automations.actions.DoNothing], BeforeValidator(func=, json_schema_input_type=PydanticUndefined), FieldInfo(annotation=NoneType, required=True, discriminator='action_type')]] = None
+```
+## Description
-## class `NewAutomation`
A new automation to be created.
-### method `NewAutomation.__init__`
-```python
-__init__(
- name: 'str | None' = None,
- description: 'str | None' = None,
- enabled: 'bool | None' = None,
- event: 'Annotated | None' = None,
- action: 'Annotated | None' = None
-) → None
-```
+## Args:
+
+- **name**:
+- **description**:
+- **enabled**:
+- **event**:
+- **action**:
-**Args:**
-
- - `name` (Optional[str]): The name of this automation.
- - `description` (Optional[str]): An optional description of this automation.
- - `enabled` (Optional[bool]): Whether this automation is enabled. Only enabled automations will trigger.
- - `event` (Optional[Annotated]): The event that will trigger this automation.
- - `action` (Optional[Annotated]): The action that will execute when this automation is triggered.
-**Returns:**
- An `NewAutomation` object.
+## Properties:
-### property `NewAutomation.scope`
+### scope
The scope in which the triggering event must occur.
-**Returns:**
- - `Optional[AutomationScope]`: The scope property value.
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
+```
+
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
+
diff --git a/models/ref/python/automations/onaddartifactalias.mdx b/models/ref/python/automations/onaddartifactalias.mdx
index 9f5eaec7b4..fed395e2db 100644
--- a/models/ref/python/automations/onaddartifactalias.mdx
+++ b/models/ref/python/automations/onaddartifactalias.mdx
@@ -1,18 +1,29 @@
---
title: OnAddArtifactAlias
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.events
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+event_type: Literal[ADD_ARTIFACT_ALIAS] = ADD_ARTIFACT_ALIAS,
+scope: Annotated[Union[wandb.automations.scopes._ArtifactSequenceScope, wandb.automations.scopes._ArtifactPortfolioScope, wandb.automations.scopes.ProjectScope], BeforeValidator(func=, json_schema_input_type=PydanticUndefined)],
+filter: Annotated[Union[wandb.automations._filters.operators.And, wandb.automations._filters.operators.Or, wandb.automations._filters.operators.Nor, wandb.automations._filters.operators.Not, wandb.automations._filters.operators.Lt, wandb.automations._filters.operators.Gt, wandb.automations._filters.operators.Lte, wandb.automations._filters.operators.Gte, wandb.automations._filters.operators.Eq, wandb.automations._filters.operators.Ne, wandb.automations._filters.operators.In, wandb.automations._filters.operators.NotIn, wandb.automations._filters.operators.Exists, wandb.automations._filters.operators.Regex, wandb.automations._filters.operators.Contains, wandb.automations._filters.expressions.FilterExpr, Dict[str, Any]], Json, BeforeValidator(func=, json_schema_input_type=PydanticUndefined), PlainSerializer(func=, return_type=PydanticUndefined, when_used='always'), AfterValidator(func=)] = And(())
+```
+## Description
-## class `OnAddArtifactAlias`
A new alias is assigned to an artifact.
-Examples:
+## Examples:
+
Define an event that triggers whenever the alias "prod" is assigned to
any artifact in the collection "my-collection":
@@ -29,22 +40,156 @@ event = OnAddArtifactAlias(
)
```
+## Args:
-### method `OnAddArtifactAlias.__init__`
+- **event_type**:
+- **scope**:
+- **filter**:
-```python
-__init__(
- event_type: 'Literal[ADD_ARTIFACT_ALIAS]' = ADD_ARTIFACT_ALIAS,
- scope: '_ArtifactSequenceScope | _ArtifactPortfolioScope | ProjectScope',
- filter: 'And | Or | Nor | Not | Lt | Gt | Lte | Gte | Eq | Ne | In | NotIn | Exists | Regex | Contains | FilterExpr | dict[str, Any]' = And(())
-) → None
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `event_type` (Literal[ADD_ARTIFACT_ALIAS]):
- - `scope` (Union[_ArtifactSequenceScope, _ArtifactPortfolioScope, ProjectScope]): The scope of the event.
- - `filter` (Union[And, Or, Nor, Not, Lt, Gt, Lte, Gte, Eq, Ne, In, NotIn, Exists, Regex, Contains, FilterExpr, Dict[str, Any]]): Additional conditions(s), if any, that are required for this event to trigger.
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### then
+
+Define a new Automation in which this event triggers the given action.
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
-**Returns:**
- An `OnAddArtifactAlias` object.
diff --git a/models/ref/python/automations/oncreateartifact.mdx b/models/ref/python/automations/oncreateartifact.mdx
index bf8c53107d..821fa13f7a 100644
--- a/models/ref/python/automations/oncreateartifact.mdx
+++ b/models/ref/python/automations/oncreateartifact.mdx
@@ -1,18 +1,29 @@
---
title: OnCreateArtifact
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.events
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+event_type: Literal[CREATE_ARTIFACT] = CREATE_ARTIFACT,
+scope: Annotated[Union[wandb.automations.scopes._ArtifactSequenceScope, wandb.automations.scopes._ArtifactPortfolioScope], BeforeValidator(func=, json_schema_input_type=PydanticUndefined)],
+filter: Annotated[Union[wandb.automations._filters.operators.And, wandb.automations._filters.operators.Or, wandb.automations._filters.operators.Nor, wandb.automations._filters.operators.Not, wandb.automations._filters.operators.Lt, wandb.automations._filters.operators.Gt, wandb.automations._filters.operators.Lte, wandb.automations._filters.operators.Gte, wandb.automations._filters.operators.Eq, wandb.automations._filters.operators.Ne, wandb.automations._filters.operators.In, wandb.automations._filters.operators.NotIn, wandb.automations._filters.operators.Exists, wandb.automations._filters.operators.Regex, wandb.automations._filters.operators.Contains, wandb.automations._filters.expressions.FilterExpr, Dict[str, Any]], Json, BeforeValidator(func=, json_schema_input_type=PydanticUndefined), PlainSerializer(func=, return_type=PydanticUndefined, when_used='always'), AfterValidator(func=)] = And(())
+```
+## Description
-## class `OnCreateArtifact`
A new artifact is created.
-Examples:
+## Examples:
+
Define an event that triggers when a new artifact is created in the
collection "my-collection":
@@ -26,22 +37,156 @@ collection = api.artifact_collection(name="my-collection", type_name="model")
event = OnCreateArtifact(scope=collection)
```
+## Args:
-### method `OnCreateArtifact.__init__`
+- **event_type**:
+- **scope**:
+- **filter**:
-```python
-__init__(
- event_type: 'Literal[CREATE_ARTIFACT]' = CREATE_ARTIFACT,
- scope: '_ArtifactSequenceScope | _ArtifactPortfolioScope',
- filter: 'And | Or | Nor | Not | Lt | Gt | Lte | Gte | Eq | Ne | In | NotIn | Exists | Regex | Contains | FilterExpr | dict[str, Any]' = And(())
-) → None
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `event_type` (Literal[CREATE_ARTIFACT]):
- - `scope` (Union[_ArtifactSequenceScope, _ArtifactPortfolioScope]): The scope of the event: must be an artifact collection.
- - `filter` (Union[And, Or, Nor, Not, Lt, Gt, Lte, Gte, Eq, Ne, In, NotIn, Exists, Regex, Contains, FilterExpr, Dict[str, Any]]): Additional conditions(s), if any, that are required for this event to trigger.
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### then
+
+Define a new Automation in which this event triggers the given action.
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
-**Returns:**
- An `OnCreateArtifact` object.
diff --git a/models/ref/python/automations/onlinkartifact.mdx b/models/ref/python/automations/onlinkartifact.mdx
index 45572aa1ca..dccdfc62a4 100644
--- a/models/ref/python/automations/onlinkartifact.mdx
+++ b/models/ref/python/automations/onlinkartifact.mdx
@@ -1,18 +1,29 @@
---
title: OnLinkArtifact
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.events
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+event_type: Literal[LINK_ARTIFACT] = LINK_ARTIFACT,
+scope: Annotated[Union[wandb.automations.scopes._ArtifactSequenceScope, wandb.automations.scopes._ArtifactPortfolioScope, wandb.automations.scopes.ProjectScope], BeforeValidator(func=, json_schema_input_type=PydanticUndefined)],
+filter: Annotated[Union[wandb.automations._filters.operators.And, wandb.automations._filters.operators.Or, wandb.automations._filters.operators.Nor, wandb.automations._filters.operators.Not, wandb.automations._filters.operators.Lt, wandb.automations._filters.operators.Gt, wandb.automations._filters.operators.Lte, wandb.automations._filters.operators.Gte, wandb.automations._filters.operators.Eq, wandb.automations._filters.operators.Ne, wandb.automations._filters.operators.In, wandb.automations._filters.operators.NotIn, wandb.automations._filters.operators.Exists, wandb.automations._filters.operators.Regex, wandb.automations._filters.operators.Contains, wandb.automations._filters.expressions.FilterExpr, Dict[str, Any]], Json, BeforeValidator(func=, json_schema_input_type=PydanticUndefined), PlainSerializer(func=, return_type=PydanticUndefined, when_used='always'), AfterValidator(func=)] = And(())
+```
+## Description
-## class `OnLinkArtifact`
A new artifact is linked to a collection.
-Examples:
+## Examples:
+
Define an event that triggers when an artifact is linked to the
collection "my-collection" with the alias "prod":
@@ -29,22 +40,156 @@ event = OnLinkArtifact(
)
```
+## Args:
-### method `OnLinkArtifact.__init__`
+- **event_type**:
+- **scope**:
+- **filter**:
-```python
-__init__(
- event_type: 'Literal[LINK_ARTIFACT]' = LINK_ARTIFACT,
- scope: '_ArtifactSequenceScope | _ArtifactPortfolioScope | ProjectScope',
- filter: 'And | Or | Nor | Not | Lt | Gt | Lte | Gte | Eq | Ne | In | NotIn | Exists | Regex | Contains | FilterExpr | dict[str, Any]' = And(())
-) → None
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `event_type` (Literal[LINK_ARTIFACT]):
- - `scope` (Union[_ArtifactSequenceScope, _ArtifactPortfolioScope, ProjectScope]): The scope of the event.
- - `filter` (Union[And, Or, Nor, Not, Lt, Gt, Lte, Gte, Eq, Ne, In, NotIn, Exists, Regex, Contains, FilterExpr, Dict[str, Any]]): Additional conditions(s), if any, that are required for this event to trigger.
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### then
+
+Define a new Automation in which this event triggers the given action.
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
-**Returns:**
- An `OnLinkArtifact` object.
diff --git a/models/ref/python/automations/onrunmetric.mdx b/models/ref/python/automations/onrunmetric.mdx
index 7f1d168745..1c1bc82828 100644
--- a/models/ref/python/automations/onrunmetric.mdx
+++ b/models/ref/python/automations/onrunmetric.mdx
@@ -1,18 +1,29 @@
---
title: OnRunMetric
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.events
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+event_type: Literal[RUN_METRIC_THRESHOLD, RUN_METRIC_CHANGE, RUN_METRIC_ZSCORE],
+scope: wandb.automations.scopes.ProjectScope,
+filter: typing.Annotated[wandb.automations.events.RunMetricFilter, Json, BeforeValidator(func=, json_schema_input_type=PydanticUndefined), PlainSerializer(func=, return_type=PydanticUndefined, when_used='always')]
+```
+## Description
-## class `OnRunMetric`
A run metric satisfies a user-defined condition.
-Examples:
+## Examples:
+
Define an event that triggers for any run in project "my-project" when
the average of the last 5 values of metric "my-metric" exceeds 123.45:
@@ -29,22 +40,156 @@ event = OnRunMetric(
)
```
+## Args:
-### method `OnRunMetric.__init__`
+- **event_type**:
+- **scope**:
+- **filter**:
-```python
-__init__(
- event_type: 'Literal[RUN_METRIC_THRESHOLD, RUN_METRIC_CHANGE, RUN_METRIC_ZSCORE]',
- scope: 'ProjectScope',
- filter: 'RunMetricFilter'
-) → None
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `event_type` (Literal[RUN_METRIC_THRESHOLD, RUN_METRIC_CHANGE, RUN_METRIC_ZSCORE]):
- - `scope` (ProjectScope): The scope of the event: must be a project.
- - `filter` (RunMetricFilter): Run and/or metric condition(s) that must be satisfied for this event to trigger.
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### then
+
+Define a new Automation in which this event triggers the given action.
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
-**Returns:**
- An `OnRunMetric` object.
diff --git a/models/ref/python/automations/onrunstate.mdx b/models/ref/python/automations/onrunstate.mdx
index e819d73d91..e4ed37aa26 100644
--- a/models/ref/python/automations/onrunstate.mdx
+++ b/models/ref/python/automations/onrunstate.mdx
@@ -1,18 +1,29 @@
---
title: OnRunState
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.events
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+event_type: Literal[RUN_STATE] = RUN_STATE,
+scope: wandb.automations.scopes.ProjectScope,
+filter: typing.Annotated[wandb.automations.events.RunStateFilter, Json, BeforeValidator(func=, json_schema_input_type=PydanticUndefined), PlainSerializer(func=, return_type=PydanticUndefined, when_used='always')]
+```
+## Description
-## class `OnRunState`
A run state changes.
-Examples:
+## Examples:
+
Define an event that triggers for any run in project "my-project" when
its state changes to "finished" (i.e. succeeded) or "failed":
@@ -29,22 +40,156 @@ event = OnRunState(
)
```
+## Args:
-### method `OnRunState.__init__`
+- **event_type**:
+- **scope**:
+- **filter**:
-```python
-__init__(
- event_type: 'Literal[RUN_STATE]' = RUN_STATE,
- scope: 'ProjectScope',
- filter: 'RunStateFilter'
-) → None
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `event_type` (Literal[RUN_STATE]):
- - `scope` (ProjectScope): The scope of the event: must be a project.
- - `filter` (RunStateFilter): Run state condition(s) that must be satisfied for this event to trigger.
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### then
+
+Define a new Automation in which this event triggers the given action.
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
-**Returns:**
- An `OnRunState` object.
diff --git a/models/ref/python/automations/runstatefilter.mdx b/models/ref/python/automations/runstatefilter.mdx
index 686bd9b505..842f5280c8 100644
--- a/models/ref/python/automations/runstatefilter.mdx
+++ b/models/ref/python/automations/runstatefilter.mdx
@@ -1,31 +1,173 @@
---
title: RunStateFilter
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.events
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+run_filter: Annotated[Union[wandb.automations._filters.operators.And, wandb.automations._filters.operators.Or, wandb.automations._filters.operators.Nor, wandb.automations._filters.operators.Not, wandb.automations._filters.operators.Lt, wandb.automations._filters.operators.Gt, wandb.automations._filters.operators.Lte, wandb.automations._filters.operators.Gte, wandb.automations._filters.operators.Eq, wandb.automations._filters.operators.Ne, wandb.automations._filters.operators.In, wandb.automations._filters.operators.NotIn, wandb.automations._filters.operators.Exists, wandb.automations._filters.operators.Regex, wandb.automations._filters.operators.Contains, wandb.automations._filters.expressions.FilterExpr, Dict[str, Any]], Json, BeforeValidator(func=, json_schema_input_type=PydanticUndefined), PlainSerializer(func=, return_type=PydanticUndefined, when_used='always'), AfterValidator(func=)] = And(()),
+run_state_filter: wandb.automations._filters.run_states.StateFilter
+```
+## Description
-## class `RunStateFilter`
Represents a filter for triggering events based on changes in run states.
-### method `RunStateFilter.__init__`
-```python
-__init__(
- run: 'And | Or | Nor | Not | Lt | Gt | Lte | Gte | Eq | Ne | In | NotIn | Exists | Regex | Contains | FilterExpr | dict[str, Any]' = And(()),
- state: 'StateFilter'
-) → None
+## Args:
+
+- **run_filter**:
+- **run_state_filter**:
+
+
+
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
-**Args:**
-
- - `run` (Union[And, Or, Nor, Not, Lt, Gt, Lte, Gte, Eq, Ne, In, NotIn, Exists, Regex, Contains, FilterExpr, Dict[str, Any]]): Filters that must match any runs that will trigger this event.
- - `state` (StateFilter): Run state condition(s) that must be satisfied for this event to trigger.
+### dict
+
+
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
-**Returns:**
- An `RunStateFilter` object.
diff --git a/models/ref/python/automations/sendnotification.mdx b/models/ref/python/automations/sendnotification.mdx
index 5613f57f5d..8811cce66e 100644
--- a/models/ref/python/automations/sendnotification.mdx
+++ b/models/ref/python/automations/sendnotification.mdx
@@ -1,50 +1,183 @@
---
title: SendNotification
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.actions
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+integration_id: typing.Annotated[str, Strict(strict=True)],
+text: str = '',
+level: typing.Annotated[wandb.automations._generated.enums.AlertSeverity, BeforeValidator(func=, json_schema_input_type=PydanticUndefined)] = ,
+title: str = '',
+action_type: Literal[NOTIFICATION] = NOTIFICATION
+```
+## Description
-## class `SendNotification`
Defines an automation action that sends a (Slack) notification.
-### method `SendNotification.__init__`
-```python
-__init__(
- integration_id: 'str',
- message: 'str' = '',
- severity: 'AlertSeverity' = ,
- title: 'str' = '',
- action_type: 'Literal[NOTIFICATION]' = NOTIFICATION
-) → None
-```
+## Args:
-**Args:**
-
- - `integration_id` (str): The ID of the Slack integration that will be used to send the notification.
- - `message` (str): The message body of the sent notification.
- - `severity` (AlertSeverity): The severity (`INFO`, `WARN`, `ERROR`) of the sent notification.
- - `title` (str): The title of the sent notification.
- - `action_type` (Literal[NOTIFICATION]):
+- **integration_id**:
+- **text**:
+- **level**:
+- **title**:
+- **action_type**:
-**Returns:**
- An `SendNotification` object.
-### classmethod `SendNotification.from_integration`
-```python
-from_integration(
- integration: 'SlackIntegration',
- title: 'str' = '',
- text: 'str' = '',
- level: 'AlertSeverity' =
-) → Self
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
+### dict
+
+
+
+### from_integration
+
Define a notification action that sends to the given (Slack) integration.
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
+
diff --git a/models/ref/python/automations/sendwebhook.mdx b/models/ref/python/automations/sendwebhook.mdx
index 5adf2472e6..4a5c7242ea 100644
--- a/models/ref/python/automations/sendwebhook.mdx
+++ b/models/ref/python/automations/sendwebhook.mdx
@@ -1,44 +1,179 @@
---
title: SendWebhook
-namespace: automations_namespace
-python_object_type: class
+kind: class
+namespace: wandb.automations.actions
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+
+```python
+*,
+integration_id: typing.Annotated[str, Strict(strict=True)],
+requestPayload: Optional[Annotated[dict[str, Any], Json, BeforeValidator(func=, json_schema_input_type=PydanticUndefined), PlainSerializer(func=, return_type=PydanticUndefined, when_used='always')]] = None,
+action_type: Literal[GENERIC_WEBHOOK] = GENERIC_WEBHOOK
+```
+## Description
-## class `SendWebhook`
Defines an automation action that sends a webhook request.
-### method `SendWebhook.__init__`
-```python
-__init__(
- integration_id: 'str',
- request_payload: 'Annotated | None' = None,
- action_type: 'Literal[GENERIC_WEBHOOK]' = GENERIC_WEBHOOK
-) → None
-```
+## Args:
-**Args:**
-
- - `integration_id` (str): The ID of the webhook integration that will be used to send the request.
- - `request_payload` (Optional[Annotated]): The payload, possibly with template variables, to send in the webhook request.
- - `action_type` (Literal[GENERIC_WEBHOOK]):
+- **integration_id**:
+- **requestPayload**:
+- **action_type**:
-**Returns:**
- An `SendWebhook` object.
-### classmethod `SendWebhook.from_integration`
-```python
-from_integration(
- integration: 'WebhookIntegration',
- payload: 'Optional[JsonEncoded[dict[str, Any]]]' = None
-) → Self
+
+## Methods:
+
+### construct
+
+
+
+### copy
+
+Returns a copy of the model.
+
+!!! warning "Deprecated"
+ This method is now deprecated; use `model_copy` instead.
+
+If you need `include` or `exclude`, use:
+
+```python {test="skip" lint="skip"}
+data = self.model_dump(include=include, exclude=exclude, round_trip=True)
+data = {**data, **(update or {})}
+copied = self.model_validate(data)
```
+### dict
+
+
+
+### from_integration
+
Define a webhook action that sends to the given (webhook) integration.
+
+### from_orm
+
+
+
+### json
+
+
+
+### model_construct
+
+Creates a new instance of the `Model` class with validated data.
+
+Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
+Default values are respected, but no other validation is performed.
+
+!!! note
+ `model_construct()` generally respects the `model_config.extra` setting on the provided model.
+ That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
+ and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
+ Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
+ an error if extra values are passed, but they will be ignored.
+
+### model_copy
+
+!!! abstract "Usage Documentation"
+ [`model_copy`](../concepts/serialization.md#model_copy)
+
+Returns a copy of the model.
+
+!!! note
+ The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
+ might have unexpected side effects if you store anything in it, on top of the model
+ fields (e.g. the value of [cached properties][functools.cached_property]).
+
+### model_dump
+
+!!! abstract "Usage Documentation"
+ [`model_dump`](../concepts/serialization.md#modelmodel_dump)
+
+Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
+
+### model_dump_json
+
+!!! abstract "Usage Documentation"
+ [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json)
+
+Generates a JSON representation of the model using Pydantic's `to_json` method.
+
+### model_json_schema
+
+Generates a JSON schema for a model class.
+
+### model_parametrized_name
+
+Compute the class name for parametrizations of generic classes.
+
+This method can be overridden to achieve a custom naming scheme for generic BaseModels.
+
+### model_post_init
+
+Override this method to perform additional initialization after `__init__` and `model_construct`.
+This is useful if you want to do some validation that requires the entire model to be initialized.
+
+### model_rebuild
+
+Try to rebuild the pydantic-core schema for the model.
+
+This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
+the initial attempt to build the schema, and automatic rebuilding fails.
+
+### model_validate
+
+Validate a pydantic model instance.
+
+### model_validate_json
+
+!!! abstract "Usage Documentation"
+ [JSON Parsing](../concepts/json.md#json-parsing)
+
+Validate the given JSON data against the Pydantic model.
+
+### model_validate_strings
+
+Validate the given object with string data against the Pydantic model.
+
+### parse_file
+
+
+
+### parse_obj
+
+
+
+### parse_raw
+
+
+
+### schema
+
+
+
+### schema_json
+
+
+
+### update_forward_refs
+
+
+
+### validate
+
+
+
+
+
diff --git a/models/ref/python/custom-charts/bar.mdx b/models/ref/python/custom-charts/bar.mdx
index 43ce28b9ad..7820142ddc 100644
--- a/models/ref/python/custom-charts/bar.mdx
+++ b/models/ref/python/custom-charts/bar.mdx
@@ -1,49 +1,45 @@
---
-title: bar()
-namespace: python_sdk_custom_charts
-python_object_type: function
+title: bar
+kind: function
+namespace: wandb.plot.bar
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-### function `bar`
```python
-bar(
- table: 'wandb.Table',
- label: 'str',
- value: 'str',
- title: 'str' = '',
- split_table: 'bool' = False
-) → CustomChart
+table: 'wandb.Table',
+label: 'str',
+value: 'str',
+title: 'str' = '',
+split_table: 'bool' = False
```
-Constructs a bar chart from a wandb.Table of data.
+## Description
+
+Constructs a bar chart from a wandb.Table of data.
+## Args:
+- **table**: A table containing the data for the bar chart.
+- **label**: The name of the column to use for the labels of each bar.
+- **value**: The name of the column to use for the values of each bar.
+- **title**: The title of the bar chart.
+- **split_table**: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
-**Args:**
-
- - `table`: A table containing the data for the bar chart.
- - `label`: The name of the column to use for the labels of each bar.
- - `value`: The name of the column to use for the values of each bar.
- - `title`: The title of the bar chart.
- - `split_table`: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
+## Returns:
+- **CustomChart**: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
-**Returns:**
-
- - `CustomChart`: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
-**Example:**
-
+## Examples:
```python
import random
@@ -64,12 +60,13 @@ table = wandb.Table(data=data, columns=["class", "accuracy"])
with wandb.init(project="bar_chart") as run:
# Create a bar plot from the table
bar_plot = wandb.plot.bar(
- table=table,
- label="class",
- value="accuracy",
- title="Object Classification Accuracy",
+ table=table,
+ label="class",
+ value="accuracy",
+ title="Object Classification Accuracy",
)
# Log the bar chart to W&B
run.log({"bar_plot": bar_plot})
-```
+```
+
diff --git a/models/ref/python/custom-charts/confusion_matrix.mdx b/models/ref/python/custom-charts/confusion_matrix.mdx
index bfa5103c30..604c4d7b42 100644
--- a/models/ref/python/custom-charts/confusion_matrix.mdx
+++ b/models/ref/python/custom-charts/confusion_matrix.mdx
@@ -1,58 +1,53 @@
---
-title: confusion_matrix()
-namespace: python_sdk_custom_charts
-python_object_type: function
+title: confusion_matrix
+kind: function
+namespace: wandb.plot.confusion_matrix
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-### function `confusion_matrix`
```python
-confusion_matrix(
- probs: 'Sequence[Sequence[float]] | None' = None,
- y_true: 'Sequence[T] | None' = None,
- preds: 'Sequence[T] | None' = None,
- class_names: 'Sequence[str] | None' = None,
- title: 'str' = 'Confusion Matrix Curve',
- split_table: 'bool' = False
-) → CustomChart
+probs: 'Sequence[Sequence[float]] | None' = None,
+y_true: 'Sequence[T] | None' = None,
+preds: 'Sequence[T] | None' = None,
+class_names: 'Sequence[str] | None' = None,
+title: 'str' = 'Confusion Matrix Curve',
+split_table: 'bool' = False
```
-Constructs a confusion matrix from a sequence of probabilities or predictions.
-
+## Description
+Constructs a confusion matrix from a sequence of probabilities or predictions.
-**Args:**
-
- - `probs`: A sequence of predicted probabilities for each class. The sequence shape should be (N, K) where N is the number of samples and K is the number of classes. If provided, `preds` should not be provided.
- - `y_true`: A sequence of true labels.
- - `preds`: A sequence of predicted class labels. If provided, `probs` should not be provided.
- - `class_names`: Sequence of class names. If not provided, class names will be defined as "Class_1", "Class_2", etc.
- - `title`: Title of the confusion matrix chart.
- - `split_table`: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
+## Args:
+- **probs**: A sequence of predicted probabilities for each class. The sequence shape should be (N, K) where N is the number of samples and K is the number of classes. If provided, `preds` should not be provided.
+- **y_true**: A sequence of true labels.
+- **preds**: A sequence of predicted class labels. If provided, `probs` should not be provided.
+- **class_names**: Sequence of class names. If not provided, class names will be defined as "Class_1", "Class_2", etc.
+- **title**: Title of the confusion matrix chart.
+- **split_table**: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
-**Returns:**
-
- - `CustomChart`: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
+## Returns:
+- **CustomChart**: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
+- **Raises**:
+- **ValueError**: If both `probs` and `preds` are provided or if the number of predictions and true labels are not equal. If the number of unique predicted classes exceeds the number of class names or if the number of unique true labels exceeds the number of class names.
+- **wandb.Error**: If numpy is not installed.
-**Raises:**
-
- - `ValueError`: If both `probs` and `preds` are provided or if the number of predictions and true labels are not equal. If the number of unique predicted classes exceeds the number of class names or if the number of unique true labels exceeds the number of class names.
- - `wandb.Error`: If numpy is not installed.
+## Examples:
-**Examples:**
- Logging a confusion matrix with random probabilities for wildlife classification:
+Logging a confusion matrix with random probabilities for wildlife
+classification:
```python
import numpy as np
@@ -75,17 +70,19 @@ wildlife_probs = np.exp(wildlife_probs) / np.sum(
# Initialize W&B run and log confusion matrix
with wandb.init(project="wildlife_classification") as run:
confusion_matrix = wandb.plot.confusion_matrix(
- probs=wildlife_probs,
- y_true=wildlife_y_true,
- class_names=wildlife_class_names,
- title="Wildlife Classification Confusion Matrix",
+ probs=wildlife_probs,
+ y_true=wildlife_y_true,
+ class_names=wildlife_class_names,
+ title="Wildlife Classification Confusion Matrix",
)
run.log({"wildlife_confusion_matrix": confusion_matrix})
-```
+```
-In this example, random probabilities are used to generate a confusion matrix.
+In this example, random probabilities are used to generate a confusion
+matrix.
-Logging a confusion matrix with simulated model predictions and 85% accuracy:
+Logging a confusion matrix with simulated model predictions and 85%
+accuracy:
```python
import numpy as np
@@ -112,12 +109,14 @@ wildlife_preds = [
# Initialize W&B run and log confusion matrix
with wandb.init(project="wildlife_classification") as run:
confusion_matrix = wandb.plot.confusion_matrix(
- preds=wildlife_preds,
- y_true=wildlife_y_true,
- class_names=wildlife_class_names,
- title="Simulated Wildlife Classification Confusion Matrix",
+ preds=wildlife_preds,
+ y_true=wildlife_y_true,
+ class_names=wildlife_class_names,
+ title="Simulated Wildlife Classification Confusion Matrix",
)
run.log({"wildlife_confusion_matrix": confusion_matrix})
-```
+```
+
+In this example, predictions are simulated with 85% accuracy to generate a
+confusion matrix.
-In this example, predictions are simulated with 85% accuracy to generate a confusion matrix.
diff --git a/models/ref/python/custom-charts/histogram.mdx b/models/ref/python/custom-charts/histogram.mdx
index fca5a580f1..6b1200c09b 100644
--- a/models/ref/python/custom-charts/histogram.mdx
+++ b/models/ref/python/custom-charts/histogram.mdx
@@ -1,47 +1,43 @@
---
title: histogram
-namespace: python_sdk_custom_charts
-python_object_type: function
+kind: function
+namespace: wandb.plot.histogram
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-### function `histogram`
```python
-histogram(
- table: 'wandb.Table',
- value: 'str',
- title: 'str' = '',
- split_table: 'bool' = False
-) → CustomChart
+table: 'wandb.Table',
+value: 'str',
+title: 'str' = '',
+split_table: 'bool' = False
```
-Constructs a histogram chart from a W&B Table.
+## Description
+
+Constructs a histogram chart from a W&B Table.
+## Args:
+- **table**: The W&B Table containing the data for the histogram.
+- **value**: The label for the bin axis (x-axis).
+- **title**: The title of the histogram plot.
+- **split_table**: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
-**Args:**
-
- - `table`: The W&B Table containing the data for the histogram.
- - `value`: The label for the bin axis (x-axis).
- - `title`: The title of the histogram plot.
- - `split_table`: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
+## Returns:
+- **CustomChart**: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
-**Returns:**
-
- - `CustomChart`: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
-**Example:**
-
+## Examples:
```python
import math
@@ -67,4 +63,5 @@ histogram = wandb.plot.histogram(
# Log the histogram plot to W&B
with wandb.init(...) as run:
run.log({"histogram-plot1": histogram})
-```
+```
+
diff --git a/models/ref/python/custom-charts/line.mdx b/models/ref/python/custom-charts/line.mdx
index 1338fa49e3..67481e3abe 100644
--- a/models/ref/python/custom-charts/line.mdx
+++ b/models/ref/python/custom-charts/line.mdx
@@ -1,51 +1,47 @@
---
-title: line()
-namespace: python_sdk_custom_charts
-python_object_type: function
+title: line
+kind: function
+namespace: wandb.plot.line
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-### function `line`
```python
-line(
- table: 'wandb.Table',
- x: 'str',
- y: 'str',
- stroke: 'str | None' = None,
- title: 'str' = '',
- split_table: 'bool' = False
-) → CustomChart
+table: 'wandb.Table',
+x: 'str',
+y: 'str',
+stroke: 'str | None' = None,
+title: 'str' = '',
+split_table: 'bool' = False
```
-Constructs a customizable line chart.
+## Description
+
+Constructs a customizable line chart.
+## Args:
+- **table**: The table containing data for the chart.
+- **x**: Column name for the x-axis values.
+- **y**: Column name for the y-axis values.
+- **stroke**: Column name to differentiate line strokes (e.g., for grouping lines).
+- **title**: Title of the chart.
+- **split_table**: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
-**Args:**
-
- - `table`: The table containing data for the chart.
- - `x`: Column name for the x-axis values.
- - `y`: Column name for the y-axis values.
- - `stroke`: Column name to differentiate line strokes (e.g., for grouping lines).
- - `title`: Title of the chart.
- - `split_table`: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
+## Returns:
+- **CustomChart**: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
-**Returns:**
-
- - `CustomChart`: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
-**Example:**
-
+## Examples:
```python
import math
@@ -55,24 +51,25 @@ import wandb
# Create multiple series of data with different patterns
data = []
for i in range(100):
- # Series 1: Sinusoidal pattern with random noise
- data.append([i, math.sin(i / 10) + random.uniform(-0.1, 0.1), "series_1"])
- # Series 2: Cosine pattern with random noise
- data.append([i, math.cos(i / 10) + random.uniform(-0.1, 0.1), "series_2"])
- # Series 3: Linear increase with random noise
- data.append([i, i / 10 + random.uniform(-0.5, 0.5), "series_3"])
+ # Series 1: Sinusoidal pattern with random noise
+ data.append([i, math.sin(i / 10) + random.uniform(-0.1, 0.1), "series_1"])
+ # Series 2: Cosine pattern with random noise
+ data.append([i, math.cos(i / 10) + random.uniform(-0.1, 0.1), "series_2"])
+ # Series 3: Linear increase with random noise
+ data.append([i, i / 10 + random.uniform(-0.5, 0.5), "series_3"])
# Define the columns for the table
table = wandb.Table(data=data, columns=["step", "value", "series"])
# Initialize wandb run and log the line chart
with wandb.init(project="line_chart_example") as run:
- line_chart = wandb.plot.line(
- table=table,
- x="step",
- y="value",
- stroke="series", # Group by the "series" column
- title="Multi-Series Line Plot",
- )
- run.log({"line-chart": line_chart})
-```
+ line_chart = wandb.plot.line(
+ table=table,
+ x="step",
+ y="value",
+ stroke="series", # Group by the "series" column
+ title="Multi-Series Line Plot",
+ )
+ run.log({"line-chart": line_chart})
+```
+
diff --git a/models/ref/python/custom-charts/line_series.mdx b/models/ref/python/custom-charts/line_series.mdx
index 68220fd9e1..4e2027671c 100644
--- a/models/ref/python/custom-charts/line_series.mdx
+++ b/models/ref/python/custom-charts/line_series.mdx
@@ -1,51 +1,49 @@
---
-title: line_series()
-namespace: python_sdk_custom_charts
-python_object_type: function
+title: line_series
+kind: function
+namespace: wandb.plot.line_series
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-### function `line_series`
```python
-line_series(
- xs: 'Iterable[Iterable[Any]] | Iterable[Any]',
- ys: 'Iterable[Iterable[Any]]',
- keys: 'Iterable[str] | None' = None,
- title: 'str' = '',
- xname: 'str' = 'x',
- split_table: 'bool' = False
-) → CustomChart
+xs: 'Iterable[Iterable[Any]] | Iterable[Any]',
+ys: 'Iterable[Iterable[Any]]',
+keys: 'Iterable[str] | None' = None,
+title: 'str' = '',
+xname: 'str' = 'x',
+split_table: 'bool' = False
```
-Constructs a line series chart.
+## Description
+
+Constructs a line series chart.
+
+## Args:
+- **xs**: Sequence of x values. If a singular array is provided, all y values are plotted against that x array. If an array of arrays is provided, each y value is plotted against the corresponding x array.
+- **ys**: Sequence of y values, where each iterable represents a separate line series.
+- **keys**: Sequence of keys for labeling each line series. If not provided, keys will be automatically generated as "line_1", "line_2", etc.
+- **title**: Title of the chart.
+- **xname**: Label for the x-axis.
+- **split_table**: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
-**Args:**
-
- - `xs`: Sequence of x values. If a singular array is provided, all y values are plotted against that x array. If an array of arrays is provided, each y value is plotted against the corresponding x array.
- - `ys`: Sequence of y values, where each iterable represents a separate line series.
- - `keys`: Sequence of keys for labeling each line series. If not provided, keys will be automatically generated as "line_1", "line_2", etc.
- - `title`: Title of the chart.
- - `xname`: Label for the x-axis.
- - `split_table`: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
+## Returns:
+- **CustomChart**: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
-**Returns:**
-
- - `CustomChart`: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
+## Examples:
-**Examples:**
- Logging a single x array where all y series are plotted against the same x values:
+Logging a single x array where all y series are plotted against the same x values:
```python
import wandb
@@ -57,24 +55,26 @@ with wandb.init(project="line_series_example") as run:
# Multiple y series to plot
ys = [
- [i for i in range(10)], # y = x
- [i**2 for i in range(10)], # y = x^2
- [i**3 for i in range(10)], # y = x^3
+ [i for i in range(10)], # y = x
+ [i**2 for i in range(10)], # y = x^2
+ [i**3 for i in range(10)], # y = x^3
]
# Generate and log the line series chart
line_series_chart = wandb.plot.line_series(
- xs,
- ys,
- title="title",
- xname="step",
+ xs,
+ ys,
+ title="title",
+ xname="step",
)
run.log({"line-series-single-x": line_series_chart})
-```
+```
-In this example, a single `xs` series (shared x-values) is used for all `ys` series. This results in each y-series being plotted against the same x-values (0-9).
+In this example, a single `xs` series (shared x-values) is used for all
+`ys` series. This results in each y-series being plotted against the
+same x-values (0-9).
-Logging multiple x arrays where each y series is plotted against its corresponding x array:
+Logging multiple x arrays where each y series is plotted against its corresponding x array:
```python
import wandb
@@ -83,28 +83,30 @@ import wandb
with wandb.init(project="line_series_example") as run:
# Separate x values for each y series
xs = [
- [i for i in range(10)], # x for first series
- [2 * i for i in range(10)], # x for second series (stretched)
- [3 * i for i in range(10)], # x for third series (stretched more)
+ [i for i in range(10)], # x for first series
+ [2 * i for i in range(10)], # x for second series (stretched)
+ [3 * i for i in range(10)], # x for third series (stretched more)
]
# Corresponding y series
ys = [
- [i for i in range(10)], # y = x
- [i**2 for i in range(10)], # y = x^2
- [i**3 for i in range(10)], # y = x^3
+ [i for i in range(10)], # y = x
+ [i**2 for i in range(10)], # y = x^2
+ [i**3 for i in range(10)], # y = x^3
]
# Generate and log the line series chart
line_series_chart = wandb.plot.line_series(
- xs, ys, title="Multiple X Arrays Example", xname="Step"
+ xs, ys, title="Multiple X Arrays Example", xname="Step"
)
run.log({"line-series-multiple-x": line_series_chart})
-```
+```
-In this example, each y series is plotted against its own unique x series. This allows for more flexibility when the x values are not uniform across the data series.
+In this example, each y series is plotted against its own unique x series.
+This allows for more flexibility when the x values are not uniform across
+the data series.
-Customizing line labels using `keys`:
+Customizing line labels using `keys`:
```python
import wandb
@@ -113,9 +115,9 @@ import wandb
with wandb.init(project="line_series_example") as run:
xs = list(range(10)) # Single x array
ys = [
- [i for i in range(10)], # y = x
- [i**2 for i in range(10)], # y = x^2
- [i**3 for i in range(10)], # y = x^3
+ [i for i in range(10)], # y = x
+ [i**2 for i in range(10)], # y = x^2
+ [i**3 for i in range(10)], # y = x^3
]
# Custom labels for each line
@@ -123,13 +125,16 @@ with wandb.init(project="line_series_example") as run:
# Generate and log the line series chart
line_series_chart = wandb.plot.line_series(
- xs,
- ys,
- keys=keys, # Custom keys (line labels)
- title="Custom Line Labels Example",
- xname="Step",
+ xs,
+ ys,
+ keys=keys, # Custom keys (line labels)
+ title="Custom Line Labels Example",
+ xname="Step",
)
run.log({"line-series-custom-keys": line_series_chart})
-```
+```
+
+This example shows how to provide custom labels for the lines using
+the `keys` argument. The keys will appear in the legend as "Linear",
+"Quadratic", and "Cubic".
-This example shows how to provide custom labels for the lines using the `keys` argument. The keys will appear in the legend as "Linear", "Quadratic", and "Cubic".
diff --git a/models/ref/python/custom-charts/plot_table.mdx b/models/ref/python/custom-charts/plot_table.mdx
index 41dd583194..a527159e9e 100644
--- a/models/ref/python/custom-charts/plot_table.mdx
+++ b/models/ref/python/custom-charts/plot_table.mdx
@@ -1,57 +1,54 @@
---
-title: plot_table()
-namespace: python_sdk_custom_charts
-python_object_type: function
+title: plot_table
+kind: function
+namespace: wandb.plot.custom_chart
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-### function `plot_table`
```python
-plot_table(
- vega_spec_name: 'str',
- data_table: 'wandb.Table',
- fields: 'dict[str, Any]',
- string_fields: 'dict[str, Any] | None' = None,
- split_table: 'bool' = False
-) → CustomChart
+vega_spec_name: 'str',
+data_table: 'wandb.Table',
+fields: 'dict[str, Any]',
+string_fields: 'dict[str, Any] | None' = None,
+split_table: 'bool' = False
```
-Creates a custom charts using a Vega-Lite specification and a `wandb.Table`.
-
-This function creates a custom chart based on a Vega-Lite specification and a data table represented by a `wandb.Table` object. The specification needs to be predefined and stored in the W&B backend. The function returns a custom chart object that can be logged to W&B using `wandb.Run.log()`.
+## Description
+Creates a custom charts using a Vega-Lite specification and a `wandb.Table`.
+This function creates a custom chart based on a Vega-Lite specification and
+a data table represented by a `wandb.Table` object. The specification needs
+to be predefined and stored in the W&B backend. The function returns a custom
+chart object that can be logged to W&B using `wandb.Run.log()`.
-**Args:**
-
- - `vega_spec_name`: The name or identifier of the Vega-Lite spec that defines the visualization structure.
- - `data_table`: A `wandb.Table` object containing the data to be visualized.
- - `fields`: A mapping between the fields in the Vega-Lite spec and the corresponding columns in the data table to be visualized.
- - `string_fields`: A dictionary for providing values for any string constants required by the custom visualization.
- - `split_table`: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
+## Args:
+- **vega_spec_name**: The name or identifier of the Vega-Lite spec that defines the visualization structure.
+- **data_table**: A `wandb.Table` object containing the data to be visualized.
+- **fields**: A mapping between the fields in the Vega-Lite spec and the corresponding columns in the data table to be visualized.
+- **string_fields**: A dictionary for providing values for any string constants required by the custom visualization.
+- **split_table**: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
-**Returns:**
-
- - `CustomChart`: A custom chart object that can be logged to W&B. To log the chart, pass the chart object as argument to `wandb.Run.log()`.
+## Returns:
+- **CustomChart**: A custom chart object that can be logged to W&B. To log the chart, pass the chart object as argument to `wandb.Run.log()`.
+- **Raises**:
+- **wandb.Error**: If `data_table` is not a `wandb.Table` object.
-**Raises:**
-
- - `wandb.Error`: If `data_table` is not a `wandb.Table` object.
+## Examples:
-**Example:**
- ```python
+```python
# Create a custom chart using a Vega-Lite spec and the data table.
import wandb
@@ -64,11 +61,12 @@ with wandb.init() as run:
# Create a custom title with `string_fields`.
my_custom_chart = wandb.plot_table(
- vega_spec_name="wandb/line/v0",
- data_table=table,
- fields=fields,
- string_fields={"title": "Title"},
+ vega_spec_name="wandb/line/v0",
+ data_table=table,
+ fields=fields,
+ string_fields={"title": "Title"},
)
run.log({"custom_chart": my_custom_chart})
-```
+```
+
diff --git a/models/ref/python/custom-charts/pr_curve.mdx b/models/ref/python/custom-charts/pr_curve.mdx
index 1b1b209df8..d96fe7c694 100644
--- a/models/ref/python/custom-charts/pr_curve.mdx
+++ b/models/ref/python/custom-charts/pr_curve.mdx
@@ -1,63 +1,58 @@
---
-title: pr_curve()
-namespace: python_sdk_custom_charts
-python_object_type: function
+title: pr_curve
+kind: function
+namespace: wandb.plot.pr_curve
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-### function `pr_curve`
```python
-pr_curve(
- y_true: 'Iterable[T] | None' = None,
- y_probas: 'Iterable[numbers.Number] | None' = None,
- labels: 'list[str] | None' = None,
- classes_to_plot: 'list[T] | None' = None,
- interp_size: 'int' = 21,
- title: 'str' = 'Precision-Recall Curve',
- split_table: 'bool' = False
-) → CustomChart
+y_true: 'Iterable[T] | None' = None,
+y_probas: 'Iterable[numbers.Number] | None' = None,
+labels: 'list[str] | None' = None,
+classes_to_plot: 'list[T] | None' = None,
+interp_size: 'int' = 21,
+title: 'str' = 'Precision-Recall Curve',
+split_table: 'bool' = False
```
-Constructs a Precision-Recall (PR) curve.
-
-The Precision-Recall curve is particularly useful for evaluating classifiers on imbalanced datasets. A high area under the PR curve signifies both high precision (a low false positive rate) and high recall (a low false negative rate). The curve provides insights into the balance between false positives and false negatives at various threshold levels, aiding in the assessment of a model's performance.
-
+## Description
+Constructs a Precision-Recall (PR) curve.
-**Args:**
-
- - `y_true`: True binary labels. The shape should be (`num_samples`,).
- - `y_probas`: Predicted scores or probabilities for each class. These can be probability estimates, confidence scores, or non-thresholded decision values. The shape should be (`num_samples`, `num_classes`).
- - `labels`: Optional list of class names to replace numeric values in `y_true` for easier plot interpretation. For example, `labels = ['dog', 'cat', 'owl']` will replace 0 with 'dog', 1 with 'cat', and 2 with 'owl' in the plot. If not provided, numeric values from `y_true` will be used.
- - `classes_to_plot`: Optional list of unique class values from y_true to be included in the plot. If not specified, all unique classes in y_true will be plotted.
- - `interp_size`: Number of points to interpolate recall values. The recall values will be fixed to `interp_size` uniformly distributed points in the range [0, 1], and the precision will be interpolated accordingly.
- - `title`: Title of the plot. Defaults to "Precision-Recall Curve".
- - `split_table`: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
+The Precision-Recall curve is particularly useful for evaluating classifiers
+on imbalanced datasets. A high area under the PR curve signifies both high
+precision (a low false positive rate) and high recall (a low false negative
+rate). The curve provides insights into the balance between false positives
+and false negatives at various threshold levels, aiding in the assessment of
+a model's performance.
+## Args:
+- **y_true**: True binary labels. The shape should be (`num_samples`,).
+- **y_probas**: Predicted scores or probabilities for each class. These can be probability estimates, confidence scores, or non-thresholded decision values. The shape should be (`num_samples`, `num_classes`).
+- **labels**: Optional list of class names to replace numeric values in `y_true` for easier plot interpretation. For example, `labels = ['dog', 'cat', 'owl']` will replace 0 with 'dog', 1 with 'cat', and 2 with 'owl' in the plot. If not provided, numeric values from `y_true` will be used.
+- **classes_to_plot**: Optional list of unique class values from y_true to be included in the plot. If not specified, all unique classes in y_true will be plotted.
+- **interp_size**: Number of points to interpolate recall values. The recall values will be fixed to `interp_size` uniformly distributed points in the range [0, 1], and the precision will be interpolated accordingly.
+- **title**: Title of the plot. Defaults to "Precision-Recall Curve".
+- **split_table**: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
-**Returns:**
-
- - `CustomChart`: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
+## Returns:
+- **CustomChart**: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
+- **Raises**:
+- **wandb.Error**: If NumPy, pandas, or scikit-learn is not installed.
-**Raises:**
-
- - `wandb.Error`: If NumPy, pandas, or scikit-learn is not installed.
-
-
-**Example:**
-
+## Examples:
```python
import wandb
@@ -76,10 +71,11 @@ labels = ["not spam", "spam"] # Optional class names for readability
with wandb.init(project="spam-detection") as run:
pr_curve = wandb.plot.pr_curve(
- y_true=y_true,
- y_probas=y_probas,
- labels=labels,
- title="Precision-Recall Curve for Spam Detection",
+ y_true=y_true,
+ y_probas=y_probas,
+ labels=labels,
+ title="Precision-Recall Curve for Spam Detection",
)
run.log({"pr-curve": pr_curve})
-```
+```
+
diff --git a/models/ref/python/custom-charts/roc_curve.mdx b/models/ref/python/custom-charts/roc_curve.mdx
index 8f0d24c81c..b2d15dfdc7 100644
--- a/models/ref/python/custom-charts/roc_curve.mdx
+++ b/models/ref/python/custom-charts/roc_curve.mdx
@@ -1,57 +1,51 @@
---
-title: roc_curve()
-namespace: python_sdk_custom_charts
-python_object_type: function
+title: roc_curve
+kind: function
+namespace: wandb.plot.roc_curve
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-### function `roc_curve`
```python
-roc_curve(
- y_true: 'Sequence[numbers.Number]',
- y_probas: 'Sequence[Sequence[float]] | None' = None,
- labels: 'list[str] | None' = None,
- classes_to_plot: 'list[numbers.Number] | None' = None,
- title: 'str' = 'ROC Curve',
- split_table: 'bool' = False
-) → CustomChart
+y_true: 'Sequence[numbers.Number]',
+y_probas: 'Sequence[Sequence[float]] | None' = None,
+labels: 'list[str] | None' = None,
+classes_to_plot: 'list[numbers.Number] | None' = None,
+title: 'str' = 'ROC Curve',
+split_table: 'bool' = False
```
-Constructs Receiver Operating Characteristic (ROC) curve chart.
-
+## Description
+Constructs Receiver Operating Characteristic (ROC) curve chart.
-**Args:**
-
- - `y_true`: The true class labels (ground truth) for the target variable. Shape should be (num_samples,).
- - `y_probas`: The predicted probabilities or decision scores for each class. Shape should be (num_samples, num_classes).
- - `labels`: Human-readable labels corresponding to the class indices in `y_true`. For example, if `labels=['dog', 'cat']`, class 0 will be displayed as 'dog' and class 1 as 'cat' in the plot. If None, the raw class indices from `y_true` will be used. Default is None.
- - `classes_to_plot`: A subset of unique class labels to include in the ROC curve. If None, all classes in `y_true` will be plotted. Default is None.
- - `title`: Title of the ROC curve plot. Default is "ROC Curve".
- - `split_table`: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
+## Args:
+- **y_true**: The true class labels (ground truth) for the target variable. Shape should be (num_samples,).
+- **y_probas**: The predicted probabilities or decision scores for each class. Shape should be (num_samples, num_classes).
+- **labels**: Human-readable labels corresponding to the class indices in `y_true`. For example, if `labels=['dog', 'cat']`, class 0 will be displayed as 'dog' and class 1 as 'cat' in the plot. If None, the raw class indices from `y_true` will be used. Default is None.
+- **classes_to_plot**: A subset of unique class labels to include in the ROC curve. If None, all classes in `y_true` will be plotted. Default is None.
+- **title**: Title of the ROC curve plot. Default is "ROC Curve".
+- **split_table**: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
-**Returns:**
-
- - `CustomChart`: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
+## Returns:
+- **CustomChart**: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
+- **Raises**:
+- **wandb.Error**: If numpy, pandas, or scikit-learn are not found.
-**Raises:**
-
- - `wandb.Error`: If numpy, pandas, or scikit-learn are not found.
+## Examples:
-**Example:**
- ```python
+```python
import numpy as np
import wandb
@@ -75,11 +69,12 @@ classes_to_plot = [0, 1, 2]
# Initialize a W&B run and log a ROC curve plot for disease classification
with wandb.init(project="medical_diagnosis") as run:
roc_plot = wandb.plot.roc_curve(
- y_true=y_true,
- y_probas=y_probas,
- labels=disease_labels,
- classes_to_plot=classes_to_plot,
- title="ROC Curve for Disease Classification",
+ y_true=y_true,
+ y_probas=y_probas,
+ labels=disease_labels,
+ classes_to_plot=classes_to_plot,
+ title="ROC Curve for Disease Classification",
)
run.log({"roc-curve": roc_plot})
-```
+```
+
diff --git a/models/ref/python/custom-charts/scatter.mdx b/models/ref/python/custom-charts/scatter.mdx
index eebcbd41cb..5614b6df29 100644
--- a/models/ref/python/custom-charts/scatter.mdx
+++ b/models/ref/python/custom-charts/scatter.mdx
@@ -1,47 +1,47 @@
---
-title: scatter()
-namespace: python_sdk_custom_charts
-python_object_type: function
+title: scatter
+kind: function
+namespace: wandb.plot.scatter
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-### function `scatter`
```python
-scatter(
- table: 'wandb.Table',
- x: 'str',
- y: 'str',
- title: 'str' = '',
- split_table: 'bool' = False
-) → CustomChart
+table: 'wandb.Table',
+x: 'str',
+y: 'str',
+title: 'str' = '',
+split_table: 'bool' = False
```
-Constructs a scatter plot from a wandb.Table of data.
+## Description
+
+Constructs a scatter plot from a wandb.Table of data.
+
+## Args:
+
+- **table**: The W&B Table containing the data to visualize.
+- **x**: The name of the column used for the x-axis.
+- **y**: The name of the column used for the y-axis.
+- **title**: The title of the scatter chart.
+- **split_table**: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
+## Returns:
-**Args:**
-
- - `table`: The W&B Table containing the data to visualize.
- - `x`: The name of the column used for the x-axis.
- - `y`: The name of the column used for the y-axis.
- - `title`: The title of the scatter chart.
- - `split_table`: Whether the table should be split into a separate section in the W&B UI. If `True`, the table will be displayed in a section named "Custom Chart Tables". Default is `False`.
+- **CustomChart**: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
-**Returns:**
-
- - `CustomChart`: A custom chart object that can be logged to W&B. To log the chart, pass it to `wandb.log()`.
-**Example:**
- ```python
+## Examples:
+
+```python
import math
import random
import wandb
@@ -59,10 +59,11 @@ table = wandb.Table(data=data, columns=["altitude (m)", "temperature (°C)"])
with wandb.init(project="temperature-altitude-scatter") as run:
# Create and log the scatter plot
scatter_plot = wandb.plot.scatter(
- table=table,
- x="altitude (m)",
- y="temperature (°C)",
- title="Altitude vs Temperature",
+ table=table,
+ x="altitude (m)",
+ y="temperature (°C)",
+ title="Altitude vs Temperature",
)
run.log({"altitude-temperature-scatter": scatter_plot})
-```
+```
+
diff --git a/models/ref/python/data-types/audio.mdx b/models/ref/python/data-types/audio.mdx
index 018146a0ba..54688fce46 100644
--- a/models/ref/python/data-types/audio.mdx
+++ b/models/ref/python/data-types/audio.mdx
@@ -1,64 +1,81 @@
---
title: Audio
-namespace: python_sdk_data_type
-python_object_type: class
+kind: class
+namespace: wandb.sdk.data_types.audio
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-## class `Audio`
-W&B class for audio clips.
-### method `Audio.__init__`
```python
-__init__(
- data_or_path: 'str | pathlib.Path | list | np.ndarray',
- sample_rate: 'int | None' = None,
- caption: 'str | None' = None
-)
+(data_or_path: 'str | pathlib.Path | list | np.ndarray',
+sample_rate: 'int | None' = None,
+caption: 'str | None' = None)
```
-Accept a path to an audio file or a numpy array of audio data.
+## Description
+W&B class for audio clips.
-**Args:**
-
- - `data_or_path`: A path to an audio file or a NumPy array of audio data.
- - `sample_rate`: Sample rate, required when passing in raw NumPy array of audio data.
- - `caption`: Caption to display with audio.
+## Args:
+- **data_or_path**:
+- **sample_rate**:
+- **caption**:
----
+## Methods:
-### classmethod `Audio.durations`
+### durations
-```python
-durations(audio_list)
-```
+Calculate the duration of the audio files.
-Calculate the duration of the audio files.
+### file_is_set
----
+### init_from_json
-### classmethod `Audio.sample_rates`
+Initialize a `WBValue` from a JSON blob based on the class that created it.
-```python
-sample_rates(audio_list)
-```
+Looks through all subclasses and tries to match the json obj with the class
+which created it. It will then call that subclass' `from_json` method.
+Importantly, this function will set the return object's `source_artifact`
+attribute to the passed in source artifact. This is critical for artifact
+bookkeeping. If you choose to create a wandb.Value via it's `from_json` method,
+make sure to properly set this `artifact_source` to avoid data duplication.
+
+### is_bound
+
+
+
+### path_is_reference
+
+
+
+### sample_rates
+
+Get sample rates of the audio files.
+
+### to_data_array
+
+Convert the object to a list of primitives representing the underlying data.
+
+### type_mapping
+
+Return a map from `_log_type` to subclass. Used to lookup correct types for deserialization.
+
+### with_suffix
+
+Get the name with the appropriate suffix.
-Get sample rates of the audio files.
----
diff --git a/models/ref/python/data-types/box3d.mdx b/models/ref/python/data-types/box3d.mdx
index 731f65ee43..04e78d789d 100644
--- a/models/ref/python/data-types/box3d.mdx
+++ b/models/ref/python/data-types/box3d.mdx
@@ -1,104 +1,50 @@
---
-title: box3d()
-namespace: python_sdk_data_type
-python_object_type: function
+title: box3d
+kind: function
+namespace: wandb.sdk.data_types.object_3d
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-### function `box3d`
```python
-box3d(
- center: 'npt.ArrayLike',
- size: 'npt.ArrayLike',
- orientation: 'npt.ArrayLike',
- color: 'RGBColor',
- label: 'str | None' = None,
- score: 'numeric | None' = None
-) → Box3D
+*,
+center: 'npt.ArrayLike',
+size: 'npt.ArrayLike',
+orientation: 'npt.ArrayLike',
+color: 'RGBColor',
+label: 'str | None' = None,
+score: 'numeric | None' = None
```
-A 3D bounding box. The box is specified by its center, size and orientation.
+## Description
+A 3D bounding box. The box is specified by its center, size and orientation.
+## Args:
-**Args:**
-
- - `center`: The center point of the box as a length-3 ndarray.
- - `size`: The box's X, Y and Z dimensions as a length-3 ndarray.
- - `orientation`: The rotation transforming global XYZ coordinates into the box's local XYZ coordinates, given as a length-4 ndarray [r, x, y, z] corresponding to the non-zero quaternion r + xi + yj + zk.
- - `color`: The box's color as an (r, g, b) tuple with `0 <= r,g,b <= 1`.
- - `label`: An optional label for the box.
- - `score`: An optional score for the box. Typically used to indicate the confidence of a detection.
+- **center**: The center point of the box as a length-3 ndarray.
+- **size**: The box's X, Y and Z dimensions as a length-3 ndarray.
+- **orientation**: The rotation transforming global XYZ coordinates into the box's local XYZ coordinates, given as a length-4 ndarray [r, x, y, z] corresponding to the non-zero quaternion r + xi + yj + zk.
+- **color**: The box's color as an (r, g, b) tuple with `0 <= r,g,b <= 1`.
+- **label**: An optional label for the box.
+- **score**: An optional score for the box. Typically used to indicate the confidence of a detection.
+## Returns:
+
+- ****: A Box3D object.
+
+{/* - **Example**: The following example creates a point cloud with 60 boxes rotating around the X, Y and Z axes. ```python import wandb import math import numpy as np from scipy.spatial.transform import Rotation
+- **with wandb.init**: run.log( {
+- **"points"**: wandb.Object3D.from_point_cloud( points=np.random.uniform(-5, 5, size=(100, 3)), boxes=[ wandb.box3d( center=(0.3 * t - 3, 0, 0), size=(0.1, 0.1, 0.1), orientation=Rotation.from_euler( "xyz", [t * math.pi / 10, 0, 0] ).as_quat(), color=(0.5 + t / 40, 0.5, 0.5), label=f"box {t}", score=0.9, ) for t in range(20) ] + [ wandb.box3d( center=(0, 0.3 * t - 3, 0.3), size=(0.1, 0.1, 0.1), orientation=Rotation.from_euler( "xyz", [0, t * math.pi / 10, 0] ).as_quat(), color=(0.5, 0.5 + t / 40, 0.5), label=f"box {t}", score=0.9, ) for t in range(20) ] + [ wandb.box3d( center=(0.3, 0.3, 0.3 * t - 3), size=(0.1, 0.1, 0.1), orientation=Rotation.from_euler( "xyz", [0, 0, t * math.pi / 10] ).as_quat(), color=(0.5, 0.5, 0.5 + t / 40), label=f"box {t}", score=0.9, ) for t in range(20) ], ), } ) ``` */}
+
-**Returns:**
- A Box3D object.
-**Example:**
- The following example creates a point cloud with 60 boxes rotating around the X, Y and Z axes.
-```python
-import wandb
-
-import math
-import numpy as np
-from scipy.spatial.transform import Rotation
-
-
-with wandb.init() as run:
- run.log(
- {
- "points": wandb.Object3D.from_point_cloud(
- points=np.random.uniform(-5, 5, size=(100, 3)),
- boxes=[
- wandb.box3d(
- center=(0.3 * t - 3, 0, 0),
- size=(0.1, 0.1, 0.1),
- orientation=Rotation.from_euler(
- "xyz", [t * math.pi / 10, 0, 0]
- ).as_quat(),
- color=(0.5 + t / 40, 0.5, 0.5),
- label=f"box {t}",
- score=0.9,
- )
- for t in range(20)
- ]
- + [
- wandb.box3d(
- center=(0, 0.3 * t - 3, 0.3),
- size=(0.1, 0.1, 0.1),
- orientation=Rotation.from_euler(
- "xyz", [0, t * math.pi / 10, 0]
- ).as_quat(),
- color=(0.5, 0.5 + t / 40, 0.5),
- label=f"box {t}",
- score=0.9,
- )
- for t in range(20)
- ]
- + [
- wandb.box3d(
- center=(0.3, 0.3, 0.3 * t - 3),
- size=(0.1, 0.1, 0.1),
- orientation=Rotation.from_euler(
- "xyz", [0, 0, t * math.pi / 10]
- ).as_quat(),
- color=(0.5, 0.5, 0.5 + t / 40),
- label=f"box {t}",
- score=0.9,
- )
- for t in range(20)
- ],
- ),
- }
- )
-```
diff --git a/models/ref/python/data-types/histogram.mdx b/models/ref/python/data-types/histogram.mdx
index 329eba227e..ccf41d04c0 100644
--- a/models/ref/python/data-types/histogram.mdx
+++ b/models/ref/python/data-types/histogram.mdx
@@ -1,67 +1,75 @@
---
title: Histogram
-namespace: python_sdk_data_type
-python_object_type: class
+kind: class
+namespace: wandb.sdk.data_types.histogram
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
-## class `Histogram`
-W&B class for histograms.
+```python
+sequence: 'Sequence | None' = None,
+np_histogram: 'NumpyHistogram | None' = None,
+num_bins: 'int' = 64
+```
-This object works just like numpy's histogram function https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
+## Description
+W&B class for histograms.
+This object works just like numpy's histogram function
+https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
-**Attributes:**
-
- - `bins` ([float]): Edges of bins
- - `histogram` ([int]): Number of elements falling in each bin.
+Attributes:
+ bins ([float]): Edges of bins
+ histogram ([int]): Number of elements falling in each bin.
-### method `Histogram.__init__`
-```python
-__init__(
- sequence: 'Sequence | None' = None,
- np_histogram: 'NumpyHistogram | None' = None,
- num_bins: 'int' = 64
-) → None
-```
-Initialize a Histogram object.
+## Args:
+- **sequence**:
+- **np_histogram**:
+- **num_bins**:
-**Args:**
- sequence: Input data for histogram. np_histogram: Alternative input of a precomputed histogram. num_bins: Number of bins for the histogram. The default number of bins is 64. The maximum number of bins is 512.
+## Methods:
-**Examples:**
- Generate histogram from a sequence.
+### from_json
-```python
-import wandb
+Deserialize a `json_obj` into it's class representation.
-wandb.Histogram([1, 2, 3])
-```
+If additional resources were stored in the `run_or_artifact` artifact during the
+`to_json` call, then those resources should be in the `source_artifact`.
-Efficiently initialize from np.histogram.
+### init_from_json
-```python
-import numpy as np
-import wandb
+Initialize a `WBValue` from a JSON blob based on the class that created it.
-hist = np.histogram(data)
-wandb.Histogram(np_histogram=hist)
-```
+Looks through all subclasses and tries to match the json obj with the class
+which created it. It will then call that subclass' `from_json` method.
+Importantly, this function will set the return object's `source_artifact`
+attribute to the passed in source artifact. This is critical for artifact
+bookkeeping. If you choose to create a wandb.Value via it's `from_json` method,
+make sure to properly set this `artifact_source` to avoid data duplication.
+### to_data_array
+Convert the object to a list of primitives representing the underlying data.
+
+### type_mapping
+
+Return a map from `_log_type` to subclass. Used to lookup correct types for deserialization.
+
+### with_suffix
+
+Get the name with the appropriate suffix.
----
diff --git a/models/ref/python/data-types/html.mdx b/models/ref/python/data-types/html.mdx
index f28e8a10b5..c3a80914cd 100644
--- a/models/ref/python/data-types/html.mdx
+++ b/models/ref/python/data-types/html.mdx
@@ -1,58 +1,84 @@
---
title: Html
-namespace: python_sdk_data_type
-python_object_type: class
+kind: class
+namespace: wandb.sdk.data_types.html
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-## class `Html`
-W&B class for logging HTML content to W&B.
-### method `Html.__init__`
```python
-__init__(
- data: 'str | pathlib.Path | TextIO',
- inject: 'bool' = True,
- data_is_not_path: 'bool' = False
-) → None
+data: 'str | pathlib.Path | TextIO',
+inject: 'bool' = True,
+data_is_not_path: 'bool' = False
```
-Creates a W&B HTML object.
+## Description
+W&B class for logging HTML content to W&B.
-**Args:**
- data: A string that is a path to a file with the extension ".html", or a string or IO object containing literal HTML.
- - `inject`: Add a stylesheet to the HTML object. If set to False the HTML will pass through unchanged.
- - `data_is_not_path`: If set to False, the data will be treated as a path to a file.
+## Args:
+- **data**:
+- **inject**:
+- **data_is_not_path**:
-**Examples:**
- It can be initialized by providing a path to a file:
-```python
-with wandb.init() as run:
- run.log({"html": wandb.Html("./index.html")})
-```
-Alternatively, it can be initialized by providing literal HTML, in either a string or IO object:
-```python
-with wandb.init() as run:
- run.log({"html": wandb.Html("
Hello, world!
")})
-```
+## Methods:
+### bind_to_run
+Bind this object to a particular Run.
+Calling this function is necessary so that we have somewhere specific to put the
+file associated with this object, from which other Runs can refer to it.
----
+### captions
+
+
+
+### file_is_set
+
+
+
+### init_from_json
+
+Initialize a `WBValue` from a JSON blob based on the class that created it.
+
+Looks through all subclasses and tries to match the json obj with the class
+which created it. It will then call that subclass' `from_json` method.
+Importantly, this function will set the return object's `source_artifact`
+attribute to the passed in source artifact. This is critical for artifact
+bookkeeping. If you choose to create a wandb.Value via it's `from_json` method,
+make sure to properly set this `artifact_source` to avoid data duplication.
+
+### is_bound
+
+
+
+### path_is_reference
+
+
+
+### to_data_array
+
+Convert the object to a list of primitives representing the underlying data.
+
+### type_mapping
+
+Return a map from `_log_type` to subclass. Used to lookup correct types for deserialization.
+
+### with_suffix
+
+Get the name with the appropriate suffix.
diff --git a/models/ref/python/data-types/image.mdx b/models/ref/python/data-types/image.mdx
index 3729ff30b3..c7a1119767 100644
--- a/models/ref/python/data-types/image.mdx
+++ b/models/ref/python/data-types/image.mdx
@@ -1,129 +1,91 @@
---
title: Image
-namespace: python_sdk_data_type
-python_object_type: class
+kind: class
+namespace: wandb.sdk.data_types.image
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-## class `Image`
-A class for logging images to W&B.
-### method `Image.__init__`
```python
-__init__(
- data_or_path: 'ImageDataOrPathType',
- mode: 'str | None' = None,
- caption: 'str | None' = None,
- grouping: 'int | None' = None,
- classes: 'Classes | Sequence[dict] | None' = None,
- boxes: 'dict[str, BoundingBoxes2D] | dict[str, dict] | None' = None,
- masks: 'dict[str, ImageMask] | dict[str, dict] | None' = None,
- file_type: 'str | None' = None,
- normalize: 'bool' = True
-) → None
+data_or_path: 'ImageDataOrPathType',
+mode: 'str | None' = None,
+caption: 'str | None' = None,
+grouping: 'int | None' = None,
+classes: 'Classes | Sequence[dict] | None' = None,
+boxes: 'dict[str, BoundingBoxes2D] | dict[str, dict] | None' = None,
+masks: 'dict[str, ImageMask] | dict[str, dict] | None' = None,
+file_type: 'str | None' = None,
+normalize: 'bool' = True
```
-Initialize a `wandb.Image` object.
+## Description
-This class handles various image data formats and automatically normalizes pixel values to the range [0, 255] when needed, ensuring compatibility with the W&B backend.
+A class for logging images to W&B.
-* Data in range [0, 1] is multiplied by 255 and converted to uint8 * Data in range [-1, 1] is rescaled from [-1, 1] to [0, 255] by mapping
- -1 to 0 and 1 to 255, then converted to uint8 * Data outside [-1, 1] but not in [0, 255] is clipped to [0, 255] and converted to uint8 (with a warning if values fall outside [0, 255]) * Data already in [0, 255] is converted to uint8 without modification
+## Args:
-**Args:**
-
- - `data_or_path`: Accepts NumPy array/pytorch tensor of image data, a PIL image object, or a path to an image file. If a NumPy array or pytorch tensor is provided, the image data will be saved to the given file type. If the values are not in the range [0, 255] or all values are in the range [0, 1], the image pixel values will be normalized to the range [0, 255] unless `normalize` is set to `False`.
- - pytorch tensor should be in the format (channel, height, width)
- - NumPy array should be in the format (height, width, channel)
- - `mode`: The PIL mode for an image. Most common are "L", "RGB", "RGBA".
- - `Full Pillow docs for more information https`: //pillow.readthedocs.io/en/stable/handbook/concepts.html#modes
- - `caption`: Label for display of image.
- - `grouping`: The grouping number for the image.
- - `classes`: A list of class information for the image, used for labeling bounding boxes, and image masks.
- - `boxes`: A dictionary containing bounding box information for the image.
- - `see https`: //docs.wandb.ai/models/ref/python/data-types/boundingboxes2d
- - `masks`: A dictionary containing mask information for the image.
- - `see https`: //docs.wandb.ai/models/ref/python/data-types/imagemask
- - `file_type`: The file type to save the image as. This parameter has no effect if `data_or_path` is a path to an image file.
- - `normalize`: If `True`, normalize the image pixel values to fall within the range of [0, 255]. Normalize is only applied if `data_or_path` is a numpy array or pytorch tensor.
+- **data_or_path**:
+- **mode**:
+- **caption**:
+- **grouping**:
+- **classes**:
+- **boxes**:
+- **masks**:
+- **file_type**:
+- **normalize**:
+## Properties:
-**Examples:**
- Create a wandb.Image from a numpy array
+### image
-```python
-import numpy as np
-import wandb
-with wandb.init() as run:
- examples = []
- for i in range(3):
- pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
- image = wandb.Image(pixels, caption=f"random field {i}")
- examples.append(image)
- run.log({"examples": examples})
-```
-Create a wandb.Image from a PILImage
-```python
-import numpy as np
-from PIL import Image as PILImage
-import wandb
-
-with wandb.init() as run:
- examples = []
- for i in range(3):
- pixels = np.random.randint(
- low=0, high=256, size=(100, 100, 3), dtype=np.uint8
- )
- pil_image = PILImage.fromarray(pixels, mode="RGB")
- image = wandb.Image(pil_image, caption=f"random field {i}")
- examples.append(image)
- run.log({"examples": examples})
-```
-
-Log .jpg rather than .png (default)
-```python
-import numpy as np
-import wandb
+## Methods:
-with wandb.init() as run:
- examples = []
- for i in range(3):
- pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
- image = wandb.Image(
- pixels, caption=f"random field {i}", file_type="jpg"
- )
- examples.append(image)
- run.log({"examples": examples})
-```
+### captions
----
-### property Image.image
+### file_is_set
+### init_from_json
+Initialize a `WBValue` from a JSON blob based on the class that created it.
+Looks through all subclasses and tries to match the json obj with the class
+which created it. It will then call that subclass' `from_json` method.
+Importantly, this function will set the return object's `source_artifact`
+attribute to the passed in source artifact. This is critical for artifact
+bookkeeping. If you choose to create a wandb.Value via it's `from_json` method,
+make sure to properly set this `artifact_source` to avoid data duplication.
+### is_bound
----
+### path_is_reference
+
+
+
+### type_mapping
+
+Return a map from `_log_type` to subclass. Used to lookup correct types for deserialization.
+
+### with_suffix
+Get the name with the appropriate suffix.
diff --git a/models/ref/python/data-types/molecule.mdx b/models/ref/python/data-types/molecule.mdx
index 7de6135d08..14d98e5456 100644
--- a/models/ref/python/data-types/molecule.mdx
+++ b/models/ref/python/data-types/molecule.mdx
@@ -1,42 +1,95 @@
---
title: Molecule
-namespace: python_sdk_data_type
-python_object_type: class
+kind: class
+namespace: wandb.sdk.data_types.molecule
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-## class `Molecule`
-W&B class for 3D Molecular data.
-### method `Molecule.__init__`
```python
-__init__(
- data_or_path: 'str | pathlib.Path | TextIO',
- caption: 'str | None' = None,
- **kwargs: 'str'
-) → None
+data_or_path: 'str | pathlib.Path | TextIO',
+caption: 'str | None' = None, **kwargs: 'str'
```
-Initialize a Molecule object.
+## Description
+W&B class for 3D Molecular data.
-**Args:**
-
- - `data_or_path`: Molecule can be initialized from a file name or an io object.
- - `caption`: Caption associated with the molecule for display.
+## Args:
+- **data_or_path**:
+- **caption**:
+- **kwargs**:
----
+## Methods:
+
+### bind_to_run
+
+Bind this object to a particular Run.
+
+Calling this function is necessary so that we have somewhere specific to put the
+file associated with this object, from which other Runs can refer to it.
+
+### captions
+
+
+
+### file_is_set
+
+
+
+### from_json
+
+Likely will need to override for any more complicated media objects.
+
+### from_rdkit
+
+Convert RDKit-supported file/object types to wandb.Molecule.
+
+### from_smiles
+
+Convert SMILES string to wandb.Molecule.
+
+### init_from_json
+
+Initialize a `WBValue` from a JSON blob based on the class that created it.
+
+Looks through all subclasses and tries to match the json obj with the class
+which created it. It will then call that subclass' `from_json` method.
+Importantly, this function will set the return object's `source_artifact`
+attribute to the passed in source artifact. This is critical for artifact
+bookkeeping. If you choose to create a wandb.Value via it's `from_json` method,
+make sure to properly set this `artifact_source` to avoid data duplication.
+
+### is_bound
+
+
+
+### path_is_reference
+
+
+
+### to_data_array
+
+Convert the object to a list of primitives representing the underlying data.
+
+### type_mapping
+
+Return a map from `_log_type` to subclass. Used to lookup correct types for deserialization.
+
+### with_suffix
+
+Get the name with the appropriate suffix.
+
diff --git a/models/ref/python/data-types/object3d.mdx b/models/ref/python/data-types/object3d.mdx
index 5abbf63aff..1cb48c606d 100644
--- a/models/ref/python/data-types/object3d.mdx
+++ b/models/ref/python/data-types/object3d.mdx
@@ -1,54 +1,99 @@
---
title: Object3D
-namespace: python_sdk_data_type
-python_object_type: class
+kind: class
+namespace: wandb.sdk.data_types.object_3d
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-## class `Object3D`
-W&B class for 3D point clouds.
-### method `Object3D.__init__`
```python
-__init__(
- data_or_path: 'np.ndarray | str | pathlib.Path | TextIO | dict',
- caption: 'str | None' = None,
- **kwargs: 'str | FileFormat3D | None'
-) → None
+data_or_path: 'np.ndarray | str | pathlib.Path | TextIO | dict',
+caption: 'str | None' = None, **kwargs: 'str | FileFormat3D | None'
```
-Creates a W&B Object3D object.
+## Description
+W&B class for 3D point clouds.
-**Args:**
-
- - `data_or_path`: Object3D can be initialized from a file or a numpy array.
- - `caption`: Caption associated with the object for display.
+## Args:
+- **data_or_path**:
+- **caption**:
+- **kwargs**:
-**Examples:**
- The shape of the numpy array must be one of either
-```text
-[[x y z], ...] nx3
-[[x y z c], ...] nx4 where c is a category with supported range [1, 14]
-[[x y z r g b], ...] nx6 where is rgb is color
-```
+## Methods:
+### bind_to_run
----
+Bind this object to a particular Run.
+
+Calling this function is necessary so that we have somewhere specific to put the
+file associated with this object, from which other Runs can refer to it.
+
+### captions
+
+
+
+### file_is_set
+
+
+
+### from_file
+
+Initializes Object3D from a file or stream.
+
+### from_json
+
+Likely will need to override for any more complicated media objects.
+
+### from_numpy
+
+Initializes Object3D from a numpy array.
+
+### from_point_cloud
+
+Initializes Object3D from a python object.
+
+### init_from_json
+
+Initialize a `WBValue` from a JSON blob based on the class that created it.
+
+Looks through all subclasses and tries to match the json obj with the class
+which created it. It will then call that subclass' `from_json` method.
+Importantly, this function will set the return object's `source_artifact`
+attribute to the passed in source artifact. This is critical for artifact
+bookkeeping. If you choose to create a wandb.Value via it's `from_json` method,
+make sure to properly set this `artifact_source` to avoid data duplication.
+
+### is_bound
+
+
+
+### path_is_reference
+
+
+
+### to_data_array
+
+Convert the object to a list of primitives representing the underlying data.
+
+### type_mapping
+
+Return a map from `_log_type` to subclass. Used to lookup correct types for deserialization.
+### with_suffix
+Get the name with the appropriate suffix.
diff --git a/models/ref/python/data-types/plotly.mdx b/models/ref/python/data-types/plotly.mdx
index 21ce43040c..2bae76e84b 100644
--- a/models/ref/python/data-types/plotly.mdx
+++ b/models/ref/python/data-types/plotly.mdx
@@ -1,35 +1,84 @@
---
title: Plotly
-namespace: python_sdk_data_type
-python_object_type: class
+kind: class
+namespace: wandb.sdk.data_types.plotly
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-## class `Plotly`
-W&B class for Plotly plots.
-### method `Plotly.__init__`
```python
-__init__(val: 'plotly.Figure | matplotlib.artist.Artist')
+(val: 'plotly.Figure | matplotlib.artist.Artist')
```
-Initialize a Plotly object.
+## Description
+W&B class for Plotly plots.
-**Args:**
-
- - `val`: Matplotlib or Plotly figure.
+## Args:
+- **val**:
----
+
+
+## Methods:
+
+### bind_to_run
+
+Bind this object to a particular Run.
+
+Calling this function is necessary so that we have somewhere specific to put the
+file associated with this object, from which other Runs can refer to it.
+
+### captions
+
+
+
+### file_is_set
+
+
+
+### from_json
+
+Likely will need to override for any more complicated media objects.
+
+### init_from_json
+
+Initialize a `WBValue` from a JSON blob based on the class that created it.
+
+Looks through all subclasses and tries to match the json obj with the class
+which created it. It will then call that subclass' `from_json` method.
+Importantly, this function will set the return object's `source_artifact`
+attribute to the passed in source artifact. This is critical for artifact
+bookkeeping. If you choose to create a wandb.Value via it's `from_json` method,
+make sure to properly set this `artifact_source` to avoid data duplication.
+
+### is_bound
+
+
+
+### path_is_reference
+
+
+
+### to_data_array
+
+Convert the object to a list of primitives representing the underlying data.
+
+### type_mapping
+
+Return a map from `_log_type` to subclass. Used to lookup correct types for deserialization.
+
+### with_suffix
+
+Get the name with the appropriate suffix.
+
diff --git a/models/ref/python/data-types/table.mdx b/models/ref/python/data-types/table.mdx
index b3bcbfa624..78194b51d7 100644
--- a/models/ref/python/data-types/table.mdx
+++ b/models/ref/python/data-types/table.mdx
@@ -1,180 +1,130 @@
---
title: Table
-namespace: python_sdk_data_type
-python_object_type: class
+kind: class
+namespace: wandb.sdk.data_types.table
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
-
-
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-## class `Table`
-The Table class used to display and analyze tabular data.
-Unlike traditional spreadsheets, Tables support numerous types of data: scalar values, strings, numpy arrays, and most subclasses of `wandb.data_types.Media`. This means you can embed `Images`, `Video`, `Audio`, and other sorts of rich, annotated media directly in Tables, alongside other traditional scalar values.
+
-This class is the primary class used to generate W&B Tables https://docs.wandb.ai/models/tables
-### method `Table.__init__`
```python
-__init__(
- columns=None,
- data=None,
- rows=None,
- dataframe=None,
- dtype=None,
- optional=True,
- allow_mixed_types=False,
- log_mode: "Literal['IMMUTABLE', 'MUTABLE', 'INCREMENTAL'] | None" = 'IMMUTABLE'
-)
+(columns=None, data=None, rows=None, dataframe=None, dtype=None, optional=True, allow_mixed_types=False,
+log_mode: "Literal['IMMUTABLE', 'MUTABLE', 'INCREMENTAL'] | None" = 'IMMUTABLE')
```
-Initializes a Table object.
+## Description
-The rows is available for legacy reasons and should not be used. The Table class uses data to mimic the Pandas API.
+The Table class used to display and analyze tabular data.
+Unlike traditional spreadsheets, Tables support numerous types of data:
+scalar values, strings, numpy arrays, and most subclasses of `wandb.data_types.Media`.
+This means you can embed `Images`, `Video`, `Audio`, and other sorts of rich, annotated media
+directly in Tables, alongside other traditional scalar values.
+This class is the primary class used to generate W&B Tables
+https://docs.wandb.ai/models/tables
-**Args:**
-
- - `columns`: (List[str]) Names of the columns in the table. Defaults to ["Input", "Output", "Expected"].
- - `data`: (List[List[any]]) 2D row-oriented array of values.
- - `dataframe`: (pandas.DataFrame) DataFrame object used to create the table. When set, `data` and `columns` arguments are ignored.
- - `rows`: (List[List[any]]) 2D row-oriented array of values.
- - `optional`: (Union[bool,List[bool]]) Determines if `None` values are allowed. Default to True
- - If a singular bool value, then the optionality is enforced for all columns specified at construction time
- - If a list of bool values, then the optionality is applied to each column - should be the same length as `columns` applies to all columns. A list of bool values applies to each respective column.
- - `allow_mixed_types`: (bool) Determines if columns are allowed to have mixed types (disables type validation). Defaults to False
- - `log_mode`: Optional[str] Controls how the Table is logged when mutations occur. Options:
- - "IMMUTABLE" (default): Table can only be logged once; subsequent logging attempts after the table has been mutated will be no-ops.
- - "MUTABLE": Table can be re-logged after mutations, creating a new artifact version each time it's logged.
- - "INCREMENTAL": Table data is logged incrementally, with each log creating a new artifact entry containing the new data since the last log.
+## Args:
+- **columns**:
+- **data**:
+- **rows**:
+- **dataframe**:
+- **dtype**:
+- **optional**:
+- **allow_mixed_types**:
+- **log_mode**:
----
-### method `Table.add_column`
-```python
-add_column(name, data, optional=False)
-```
-Adds a column of data to the table.
+## Methods:
+### add_column
+Adds a column of data to the table.
-**Args:**
-
- - `name`: (str) - the unique name of the column
- - `data`: (list | np.array) - a column of homogeneous data
- - `optional`: (bool) - if null-like values are permitted
+### add_computed_columns
----
+Adds one or more computed columns based on existing data.
-### method `Table.add_computed_columns`
-
-```python
-add_computed_columns(fn)
-```
-
-Adds one or more computed columns based on existing data.
+### add_data
+Adds a new row of data to the table.
+The maximum amount ofrows in a table is determined by
+`wandb.Table.MAX_ARTIFACT_ROWS`.
-**Args:**
-
- - `fn`: A function which accepts one or two parameters, ndx (int) and row (dict), which is expected to return a dict representing new columns for that row, keyed by the new column names.
- - `ndx` is an integer representing the index of the row. Only included if `include_ndx` is set to `True`.
- - `row` is a dictionary keyed by existing columns
+The length of the data should match the length of the table column.
----
-
-### method `Table.add_data`
-
-```python
-add_data(*data)
-```
+### add_row
-Adds a new row of data to the table.
+Deprecated. Use `Table.add_data` method instead.
-The maximum amount ofrows in a table is determined by `wandb.Table.MAX_ARTIFACT_ROWS`.
+### captions
-The length of the data should match the length of the table column.
----
-### method `Table.add_row`
+### cast
-```python
-add_row(*row)
-```
+Casts a column to a specific data type.
-Deprecated. Use `Table.add_data` method instead.
+This can be one of the normal python classes, an internal W&B type,
+or an example object, like an instance of wandb.Image or
+wandb.Classes.
----
+### file_is_set
-### method `Table.cast`
-```python
-cast(col_name, dtype, optional=False)
-```
+### get_column
-Casts a column to a specific data type.
+Retrieves a column from the table and optionally converts it to a NumPy object.
-This can be one of the normal python classes, an internal W&B type, or an example object, like an instance of wandb.Image or wandb.Classes.
+### get_dataframe
+Returns a `pandas.DataFrame` of the table.
+### get_index
-**Args:**
-
- - `col_name` (str): The name of the column to cast.
- - `dtype` (class, wandb.wandb_sdk.interface._dtypes.Type, any): The target dtype.
- - `optional` (bool): If the column should allow Nones.
+Returns an array of row indexes for use in other tables to create links.
----
+### init_from_json
+Initialize a `WBValue` from a JSON blob based on the class that created it.
-### method `Table.get_column`
+Looks through all subclasses and tries to match the json obj with the class
+which created it. It will then call that subclass' `from_json` method.
+Importantly, this function will set the return object's `source_artifact`
+attribute to the passed in source artifact. This is critical for artifact
+bookkeeping. If you choose to create a wandb.Value via it's `from_json` method,
+make sure to properly set this `artifact_source` to avoid data duplication.
-```python
-get_column(name, convert_to=None)
-```
+### is_bound
-Retrieves a column from the table and optionally converts it to a NumPy object.
+### path_is_reference
-**Args:**
-
- - `name`: (str) - the name of the column
- - `convert_to`: (str, optional)
- - "numpy": will convert the underlying data to numpy object
----
-### method `Table.get_dataframe`
+### to_data_array
-```python
-get_dataframe()
-```
+Convert the object to a list of primitives representing the underlying data.
-Returns a `pandas.DataFrame` of the table.
+### type_mapping
----
+Return a map from `_log_type` to subclass. Used to lookup correct types for deserialization.
-### method `Table.get_index`
+### with_suffix
-```python
-get_index()
-```
+Get the name with the appropriate suffix.
-Returns an array of row indexes for use in other tables to create links.
----
diff --git a/models/ref/python/data-types/video.mdx b/models/ref/python/data-types/video.mdx
index 7e6ccf5c2f..9d1279b576 100644
--- a/models/ref/python/data-types/video.mdx
+++ b/models/ref/python/data-types/video.mdx
@@ -1,61 +1,90 @@
---
title: Video
-namespace: python_sdk_data_type
-python_object_type: class
+kind: class
+namespace: wandb.sdk.data_types.video
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-## class `Video`
-A class for logging videos to W&B.
-### method `Video.__init__`
```python
-__init__(
- data_or_path: 'str | pathlib.Path | np.ndarray | TextIO | BytesIO',
- caption: 'str | None' = None,
- fps: 'int | None' = None,
- format: "Literal['gif', 'mp4', 'webm', 'ogg'] | None" = None
-)
+(data_or_path: 'str | pathlib.Path | np.ndarray | TextIO | BytesIO',
+caption: 'str | None' = None,
+fps: 'int | None' = None,
+format: "Literal['gif', 'mp4', 'webm', 'ogg'] | None" = None)
```
-Initialize a W&B Video object.
+## Description
+A class for logging videos to W&B.
-**Args:**
-
- - `data_or_path`: Video can be initialized with a path to a file or an io object. Video can be initialized with a numpy tensor. The numpy tensor must be either 4 dimensional or 5 dimensional. The dimensions should be (number of frames, channel, height, width) or (batch, number of frames, channel, height, width) The format parameter must be specified with the format argument when initializing with a numpy array or io object.
- - `caption`: Caption associated with the video for display.
- - `fps`: The frame rate to use when encoding raw video frames. Default value is 4. This parameter has no effect when data_or_path is a string, or bytes.
- - `format`: Format of video, necessary if initializing with a numpy array or io object. This parameter will be used to determine the format to use when encoding the video data. Accepted values are "gif", "mp4", "webm", or "ogg". If no value is provided, the default format will be "gif".
+## Args:
+- **data_or_path**:
+- **caption**:
+- **fps**:
+- **format**:
-**Examples:**
- Log a numpy array as a video
-```python
-import numpy as np
-import wandb
-with wandb.init() as run:
- # axes are (number of frames, channel, height, width)
- frames = np.random.randint(
- low=0, high=256, size=(10, 3, 100, 100), dtype=np.uint8
- )
- run.log({"video": wandb.Video(frames, format="mp4", fps=4)})
-```
+## Methods:
+### bind_to_run
+Bind this object to a particular Run.
----
+Calling this function is necessary so that we have somewhere specific to put the
+file associated with this object, from which other Runs can refer to it.
+
+### captions
+
+
+
+### file_is_set
+
+
+
+### from_json
+
+Likely will need to override for any more complicated media objects.
+
+### init_from_json
+
+Initialize a `WBValue` from a JSON blob based on the class that created it.
+
+Looks through all subclasses and tries to match the json obj with the class
+which created it. It will then call that subclass' `from_json` method.
+Importantly, this function will set the return object's `source_artifact`
+attribute to the passed in source artifact. This is critical for artifact
+bookkeeping. If you choose to create a wandb.Value via it's `from_json` method,
+make sure to properly set this `artifact_source` to avoid data duplication.
+
+### is_bound
+
+
+
+### path_is_reference
+
+
+
+### to_data_array
+
+Convert the object to a list of primitives representing the underlying data.
+
+### type_mapping
+
+Return a map from `_log_type` to subclass. Used to lookup correct types for deserialization.
+
+### with_suffix
+
+Get the name with the appropriate suffix.
diff --git a/models/ref/python/experiments/artifact.mdx b/models/ref/python/experiments/artifact.mdx
index 45179e8c43..1d518ec760 100644
--- a/models/ref/python/experiments/artifact.mdx
+++ b/models/ref/python/experiments/artifact.mdx
@@ -1,1126 +1,411 @@
---
title: Artifact
-namespace: python_sdk_actions
-python_object_type: class
+kind: class
+namespace: wandb.sdk.artifacts.artifact
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
-
-
-
-
-
-## class `Artifact`
-Flexible and lightweight building block for dataset and model versioning.
-
-Construct an empty W&B Artifact. Populate an artifacts contents with methods that begin with `add`. Once the artifact has all the desired files, you can call `run.log_artifact()` to log it.
-
-### method `Artifact.__init__`
-
-```python
-__init__(
- name: 'str',
- type: 'str',
- description: 'str | None' = None,
- metadata: 'dict[str, Any] | None' = None,
- incremental: 'bool' = False,
- use_as: 'str | None' = None,
- storage_region: 'str | None' = None
-) → None
-```
-
-**Args:**
-
- - `name` (str): A human-readable name for the artifact. Use the name to identify a specific artifact in the W&B App UI or programmatically. You can interactively reference an artifact with the `use_artifact` Public API. A name can contain letters, numbers, underscores, hyphens, and dots. The name must be unique across a project.
- - `type` (str): The artifact's type. Use the type of an artifact to both organize and differentiate artifacts. You can use any string that contains letters, numbers, underscores, hyphens, and dots. Common types include `dataset` or `model`. Include `model` within your type string if you want to link the artifact to the W&B Model Registry. Note that some types reserved for internal use and cannot be set by users. Such types include `job` and types that start with `wandb-`.
- - `description (str | None) = None`: A description of the artifact. For Model or Dataset Artifacts, add documentation for your standardized team model or dataset card. View an artifact's description programmatically with the `Artifact.description` attribute or programmatically with the W&B App UI. W&B renders the description as markdown in the W&B App.
- - `metadata (dict[str, Any] | None) = None`: Additional information about an artifact. Specify metadata as a dictionary of key-value pairs. You can specify no more than 100 total keys.
- - `incremental`: Use `Artifact.new_draft()` method instead to modify an existing artifact.
- - `use_as`: Deprecated.
-
-
-
-**Returns:**
- An `Artifact` object.
-
-
-
-
-
-
-
----
-
-### property Artifact.aliases
-
-List of one or more semantically-friendly references or
-
-identifying "nicknames" assigned to an artifact version.
-
-Aliases are mutable references that you can programmatically reference. Change an artifact's alias with the W&B App UI or programmatically. See [Create new artifact versions](https://docs.wandb.ai/models/artifacts/create-a-new-artifact-version) for more information.
-
-
-
-**Returns:**
- - `list[str]`: The aliases property value.
----
-
-### property Artifact.collection
-
-The collection this artifact is retrieved from.
-
-A collection is an ordered group of artifact versions. If this artifact is retrieved from a collection that it is linked to, return that collection. Otherwise, return the collection that the artifact version originates from.
-
-The collection that an artifact originates from is known as the source sequence.
-
-
-
-**Returns:**
- - `ArtifactCollection`: The collection property value.
----
-
-### property Artifact.commit_hash
-
-The hash returned when this artifact was committed.
-
-
-
-**Returns:**
- - `str`: The commit_hash property value.
----
-
-### property Artifact.created_at
-
-Timestamp when the artifact was created.
-
-
-
-**Returns:**
- - `str`: The created_at property value.
----
-
-### property Artifact.description
-
-A description of the artifact.
-
-
-
-**Returns:**
- - `str | None`: The description property value.
----
-
-### property Artifact.digest
-
-The logical digest of the artifact.
-
-The digest is the checksum of the artifact's contents. If an artifact has the same digest as the current `latest` version, then `log_artifact` is a no-op.
-
-
-
-**Returns:**
- - `str`: The digest property value.
----
-
-
-### property Artifact.entity
-
-The name of the entity that the artifact collection belongs to.
-
-If the artifact is a link, the entity will be the entity of the linked artifact.
-
-
-
-**Returns:**
- - `str`: The entity property value.
----
-
-### property Artifact.file_count
-
-The number of files (including references).
-
-
-
-**Returns:**
- - `int`: The file_count property value.
----
-
-### property Artifact.history_step
-
-The nearest step which logged history metrics for this artifact's source run.
-
-
-
-**Examples:**
- ```python
-run = artifact.logged_by()
-if run and (artifact.history_step is not None):
- history = run.sample_history(
- min_step=artifact.history_step,
- max_step=artifact.history_step + 1,
- keys=["my_metric"],
- )
-```
-
-
-
-**Returns:**
- - `int | None`: The history_step property value.
----
-
-### property Artifact.id
-
-The artifact's ID.
-
-
-
-**Returns:**
- - `str | None`: The id property value.
----
-
-
-### property Artifact.is_link
-
-Boolean flag indicating if the artifact is a link artifact.
-
-True: The artifact is a link artifact to a source artifact. False: The artifact is a source artifact.
-
-
-
-**Returns:**
- - `bool`: The is_link property value.
----
-
-### property Artifact.linked_artifacts
-
-Returns a list of all the linked artifacts of a source artifact.
-
-If this artifact is a link artifact (`artifact.is_link == True`), it will return an empty list.
-
-Limited to 500 results.
-
-
-
-**Returns:**
- - `list[Artifact]`: The linked_artifacts property value.
----
-
-### property Artifact.manifest
-
-The artifact's manifest.
-
-The manifest lists all of its contents, and can't be changed once the artifact has been logged.
-
-
-
-**Returns:**
- - `ArtifactManifest`: The manifest property value.
----
-
-### property Artifact.metadata
-
-User-defined artifact metadata.
-
-Structured data associated with the artifact.
-
-
-
-**Returns:**
- - `dict`: The metadata property value.
----
-
-### property Artifact.name
-
-The artifact name and version of the artifact.
-
-A string with the format `{collection}:{alias}`. If fetched before an artifact is logged/saved, the name won't contain the alias. If the artifact is a link, the name will be the name of the linked artifact.
-
-
-
-**Returns:**
- - `str`: The name property value.
----
-
-### property Artifact.project
-
-The name of the project that the artifact collection belongs to.
-
-If the artifact is a link, the project will be the project of the linked artifact.
-
-
-
-**Returns:**
- - `str`: The project property value.
----
-
-### property Artifact.qualified_name
-
-The entity/project/name of the artifact.
-
-If the artifact is a link, the qualified name will be the qualified name of the linked artifact path.
-
-
-
-**Returns:**
- - `str`: The qualified_name property value.
----
-
-### property Artifact.size
-
-The total size of the artifact in bytes.
-
-Includes any references tracked by this artifact.
-
-
-
-**Returns:**
- - `int`: The size property value.
----
-
-### property Artifact.source_artifact
-
-Returns the source artifact, which is the original logged artifact.
-
-If this artifact is a source artifact (`artifact.is_link == False`), it will return itself.
-
-
-
-**Returns:**
- - `Artifact`: The source_artifact property value.
----
-
-### property Artifact.source_collection
-
-The artifact's source collection.
-
-The source collection is the collection that the artifact was logged from.
-
-
-
-**Returns:**
- - `ArtifactCollection`: The source_collection property value.
----
-
-### property Artifact.source_entity
-
-The name of the entity of the source artifact.
-
-
-
-**Returns:**
- - `str`: The source_entity property value.
----
-
-### property Artifact.source_name
-
-The artifact name and version of the source artifact.
-
-A string with the format `{source_collection}:{alias}`. Before the artifact is saved, contains only the name since the version is not yet known.
-
-
-
-**Returns:**
- - `str`: The source_name property value.
----
-
-### property Artifact.source_project
-
-The name of the project of the source artifact.
-
-
-
-**Returns:**
- - `str`: The source_project property value.
----
-
-### property Artifact.source_qualified_name
-
-The source_entity/source_project/source_name of the source artifact.
-
-
-
-**Returns:**
- - `str`: The source_qualified_name property value.
----
-
-### property Artifact.source_version
-
-The source artifact's version.
-
-A string with the format `v{number}`.
-
-
-
-**Returns:**
- - `str`: The source_version property value.
----
-
-### property Artifact.state
-
-The status of the artifact. One of: "PENDING", "COMMITTED", or "DELETED".
-
-
-
-**Returns:**
- - `str`: The state property value.
----
-
-### property Artifact.tags
-
-List of one or more tags assigned to this artifact version.
-
-
-
-**Returns:**
- - `list[str]`: The tags property value.
----
-
-### property Artifact.ttl
-
-The time-to-live (TTL) policy of an artifact.
-
-Artifacts are deleted shortly after a TTL policy's duration passes. If set to `None`, the artifact deactivates TTL policies and will be not scheduled for deletion, even if there is a team default TTL. An artifact inherits a TTL policy from the team default if the team administrator defines a default TTL and there is no custom policy set on an artifact.
-
-
-
-**Raises:**
-
- - `ArtifactNotLoggedError`: Unable to fetch inherited TTL if the artifact has not been logged or saved.
-
-
-
-**Returns:**
- - `timedelta | None`: The ttl property value.
----
-
-### property Artifact.type
-The artifact's type. Common types include `dataset` or `model`.
-
-
-
-**Returns:**
- - `str`: The type property value.
----
-
-### property Artifact.updated_at
-
-The time when the artifact was last updated.
-
-
-
-**Returns:**
- - `str`: The updated_at property value.
----
-
-### property Artifact.url
-
-Constructs the URL of the artifact.
-
-
-
-**Returns:**
-
- - `str`: The URL of the artifact.
-
-
-
-**Returns:**
- - `str`: The url property value.
----
-
-### property Artifact.use_as
-
-Deprecated.
-
-
-
-**Returns:**
- - `str | None`: The use_as property value.
----
-
-### property Artifact.version
-
-The artifact's version.
-
-A string with the format `v{number}`. If this is a link artifact, the version will be from the linked collection.
-
-
-
-
-
-**Returns:**
- - `str`: The version property value.
----
-
-### method `Artifact.add`
-
-```python
-add(
- obj: 'WBValue',
- name: 'StrPath',
- overwrite: 'bool' = False
-) → ArtifactManifestEntry
-```
-
-Add wandb.WBValue `obj` to the artifact.
-
-
-
-**Args:**
-
- - `obj`: The object to add. Currently support one of Bokeh, JoinedTable, PartitionedTable, Table, Classes, ImageMask, BoundingBoxes2D, Audio, Image, Video, Html, Object3D
- - `name`: The path within the artifact to add the object.
- - `overwrite`: If True, overwrite existing objects with the same file path if applicable.
-
-
-
-**Returns:**
- The added manifest entry
-
-
-
-**Raises:**
-
- - `ArtifactFinalizedError`: You cannot make changes to the current artifact version because it is finalized. Log a new artifact version instead.
-
----
-
-### method `Artifact.add_dir`
-
-```python
-add_dir(
- local_path: 'str',
- name: 'str | None' = None,
- skip_cache: 'bool | None' = False,
- policy: "Literal['mutable', 'immutable'] | None" = 'mutable',
- merge: 'bool' = False
-) → None
-```
-
-Add a local directory to the artifact.
-
-
-
-**Args:**
-
- - `local_path`: The path of the local directory.
- - `name`: The subdirectory name within an artifact. The name you specify appears in the W&B App UI nested by artifact's `type`. Defaults to the root of the artifact.
- - `skip_cache`: If set to `True`, W&B will not copy/move files to the cache while uploading
- - `policy`: By default, "mutable".
- - mutable: Create a temporary copy of the file to prevent corruption during upload.
- - immutable: Disable protection, rely on the user not to delete or change the file.
- - `merge`: If `False` (default), throws ValueError if a file was already added in a previous add_dir call and its content has changed. If `True`, overwrites existing files with changed content. Always adds new files and never removes files. To replace an entire directory, pass a name when adding the directory using `add_dir(local_path, name=my_prefix)` and call `remove(my_prefix)` to remove the directory, then add it again.
-
-
-
-**Raises:**
-
- - `ArtifactFinalizedError`: You cannot make changes to the current artifact version because it is finalized. Log a new artifact version instead.
- - `ValueError`: Policy must be "mutable" or "immutable"
-
----
-
-### method `Artifact.add_file`
-
-```python
-add_file(
- local_path: 'str',
- name: 'str | None' = None,
- is_tmp: 'bool | None' = False,
- skip_cache: 'bool | None' = False,
- policy: "Literal['mutable', 'immutable'] | None" = 'mutable',
- overwrite: 'bool' = False
-) → ArtifactManifestEntry
-```
-
-Add a local file to the artifact.
-
-
-
-**Args:**
-
- - `local_path`: The path to the file being added.
- - `name`: The path within the artifact to use for the file being added. Defaults to the basename of the file.
- - `is_tmp`: If true, then the file is renamed deterministically to avoid collisions.
- - `skip_cache`: If `True`, do not copy files to the cache after uploading.
- - `policy`: By default, set to "mutable". If set to "mutable", create a temporary copy of the file to prevent corruption during upload. If set to "immutable", disable protection and rely on the user not to delete or change the file.
- - `overwrite`: If `True`, overwrite the file if it already exists.
-
-
-
-**Returns:**
- The added manifest entry.
-
-
-
-**Raises:**
-
- - `ArtifactFinalizedError`: You cannot make changes to the current artifact version because it is finalized. Log a new artifact version instead.
- - `ValueError`: Policy must be "mutable" or "immutable"
-
----
-
-### method `Artifact.add_reference`
-
-```python
-add_reference(
- uri: 'ArtifactManifestEntry | str',
- name: 'StrPath | None' = None,
- checksum: 'bool' = True,
- max_objects: 'int | None' = None
-) → Sequence[ArtifactManifestEntry]
-```
-
-Add a reference denoted by a URI to the artifact.
-
-Unlike files or directories that you add to an artifact, references are not uploaded to W&B. For more information, see [Track external files](https://docs.wandb.ai/models/artifacts/track-external-files).
-
-By default, the following schemes are supported:
-
-
-- http(s): The size and digest of the file will be inferred by the `Content-Length` and the `ETag` response headers returned by the server.
-- s3: The checksum and size are pulled from the object metadata. If bucket versioning is enabled, then the version ID is also tracked.
-- gs: The checksum and size are pulled from the object metadata. If bucket versioning is enabled, then the version ID is also tracked.
-- https, domain matching `*.blob.core.windows.net`
-- Azure: The checksum and size are be pulled from the blob metadata. If storage account versioning is enabled, then the version ID is also tracked.
-- file: The checksum and size are pulled from the file system. This scheme is useful if you have an NFS share or other externally mounted volume containing files you wish to track but not necessarily upload.
-
-For any other scheme, the digest is just a hash of the URI and the size is left blank.
-
-
-
-**Args:**
-
- - `uri`: The URI path of the reference to add. The URI path can be an object returned from `Artifact.get_entry` to store a reference to another artifact's entry.
- - `name`: The path within the artifact to place the contents of this reference.
- - `checksum`: Whether or not to checksum the resource(s) located at the reference URI. Checksumming is strongly recommended as it enables automatic integrity validation. Disabling checksumming will speed up artifact creation but reference directories will not iterated through so the objects in the directory will not be saved to the artifact. We recommend setting `checksum=False` when adding reference objects, in which case a new version will only be created if the reference URI changes.
- - `max_objects`: The maximum number of objects to consider when adding a reference that points to directory or bucket store prefix. By default, the maximum number of objects allowed for Amazon S3, GCS, Azure, and local files is 10,000,000. Other URI schemas do not have a maximum.
-
-
-
-**Returns:**
- The added manifest entries.
-
-
-
-**Raises:**
-
- - `ArtifactFinalizedError`: You cannot make changes to the current artifact version because it is finalized. Log a new artifact version instead.
-
----
-
-### method `Artifact.checkout`
-
-```python
-checkout(root: 'str | None' = None) → str
-```
-
-Replace the specified root directory with the contents of the artifact.
-
-WARNING: This will delete all files in `root` that are not included in the artifact.
-
-
-
-**Args:**
-
- - `root`: The directory to replace with this artifact's files.
-
-
-
-**Returns:**
- The path of the checked out contents.
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
----
-
-### method `Artifact.delete`
```python
-delete(delete_aliases: 'bool' = False) → None
+name: 'str',
+type: 'str',
+description: 'str | None' = None,
+metadata: 'dict[str, Any] | None' = None,
+incremental: 'bool' = False,
+use_as: 'str | None' = None,
+storage_region: 'str | None' = None
```
-Delete an artifact and its files.
+## Description
-If called on a linked artifact, only the link is deleted, and the source artifact is unaffected.
+Flexible and lightweight building block for dataset and model versioning.
-Use `Artifact.unlink()` instead of `Artifact.delete()` to remove a link between a source artifact and a collection.
+Construct an empty W&B Artifact. Populate an artifacts contents with methods that
+begin with `add`. Once the artifact has all the desired files, you can call
+`run.log_artifact()` to log it.
-**Args:**
-
- - `delete_aliases`: If set to `True`, delete all aliases associated with the artifact. If `False`, raise an exception if the artifact has existing aliases. This parameter is ignored if the artifact is retrieved from a collection it is linked to.
+## Args:
+- **name**: A human-readable name for the artifact. Use the name to identify a specific artifact in the W&B App UI or programmatically. You can interactively reference an artifact with the `use_artifact` Public API. A name can contain letters, numbers, underscores, hyphens, and dots. The name must be unique across a project.
+- **type**: The artifact's type. Use the type of an artifact to both organize and differentiate artifacts. You can use any string that contains letters, numbers, underscores, hyphens, and dots. Common types include `dataset` or `model`. Include `model` within your type string if you want to link the artifact to the W&B Model Registry. Note that some types reserved for internal use and cannot be set by users. Such types include `job` and types that start with `wandb-`.
+- **description**: A description of the artifact. For Model or Dataset Artifacts, add documentation for your standardized team model or dataset card. View an artifact's description programmatically with the `Artifact.description` attribute or programmatically with the W&B App UI. W&B renders the description as markdown in the W&B App.
+- **metadata**: Additional information about an artifact. Specify metadata as a dictionary of key-value pairs. You can specify no more than 100 total keys.
+- **incremental**: Use `Artifact.new_draft()` method instead to modify an existing artifact.
+- **use_as**: Deprecated.
+- **storage_region**:
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
+## Properties:
----
+### id
-### method `Artifact.download`
+The artifact's ID.
-```python
-download(
- root: 'StrPath | None' = None,
- allow_missing_references: 'bool' = False,
- skip_cache: 'bool | None' = None,
- path_prefix: 'StrPath | None' = None,
- multipart: 'bool | None' = None
-) → FilePathStr
-```
+### entity
-Download the contents of the artifact to the specified root directory.
+The name of the entity that the artifact collection belongs to.
-Existing files located within `root` are not modified. Explicitly delete `root` before you call `download` if you want the contents of `root` to exactly match the artifact.
+If the artifact is a link, the entity will be the entity of the linked artifact.
+### project
+The name of the project that the artifact collection belongs to.
-**Args:**
-
- - `root`: The directory W&B stores the artifact's files.
- - `allow_missing_references`: If set to `True`, any invalid reference paths will be ignored while downloading referenced files.
- - `skip_cache`: If set to `True`, the artifact cache will be skipped when downloading and W&B will download each file into the default root or specified download directory.
- - `path_prefix`: If specified, only files with a path that starts with the given prefix will be downloaded. Uses unix format (forward slashes).
- - `multipart`: If set to `None` (default), the artifact will be downloaded in parallel using multipart download if individual file size is greater than 2GB. If set to `True` or `False`, the artifact will be downloaded in parallel or serially regardless of the file size.
+If the artifact is a link, the project will be the project of the linked artifact.
+### name
+The artifact name and version of the artifact.
-**Returns:**
- The path to the downloaded contents.
+A string with the format `{collection}:{alias}`. If fetched before an artifact is
+logged/saved, the name won't contain the alias.
+If the artifact is a link, the name will be the name of the linked artifact.
+### qualified_name
+The entity/project/name of the artifact.
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
+If the artifact is a link, the qualified name will be the qualified name of the
+linked artifact path.
----
+### version
-### method `Artifact.file`
+The artifact's version.
-```python
-file(root: 'str | None' = None) → StrPath
-```
+A string with the format `v{number}`.
+If this is a link artifact, the version will be from the linked collection.
-Download a single file artifact to the directory you specify with `root`.
+### collection
+The collection this artifact is retrieved from.
+A collection is an ordered group of artifact versions.
+If this artifact is retrieved from a collection that it is linked to,
+return that collection. Otherwise, return the collection
+that the artifact version originates from.
-**Args:**
-
- - `root`: The root directory to store the file. Defaults to `./artifacts/self.name/`.
+The collection that an artifact originates from is known as
+the source sequence.
+### source_entity
+The name of the entity of the source artifact.
-**Returns:**
- The full path of the downloaded file.
+### source_project
+The name of the project of the source artifact.
+### source_name
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
- - `ValueError`: If the artifact contains more than one file.
+The artifact name and version of the source artifact.
----
+A string with the format `{source_collection}:{alias}`. Before the artifact
+is saved, contains only the name since the version is not yet known.
-### method `Artifact.files`
+### source_qualified_name
-```python
-files(
- names: 'list[str] | None' = None,
- per_page: 'int' = 50,
- start: 'str | None' = None
-) → ArtifactFiles
-```
+The source_entity/source_project/source_name of the source artifact.
-Iterate over all files stored in this artifact.
+### source_version
+The source artifact's version.
+A string with the format `v{number}`.
-**Args:**
-
- - `names`: The filename paths relative to the root of the artifact you wish to list.
- - `per_page`: The number of files to return per request.
- - `start`: Pagination cursor for resuming a past query, captured from a previous paginator's `.cursor` attribute.
+### source_collection
+The artifact's source collection.
+The source collection is the collection that the artifact was logged from.
-**Returns:**
- An iterator containing `File` objects.
+### is_link
+Boolean flag indicating if the artifact is a link artifact.
+True: The artifact is a link artifact to a source artifact.
+False: The artifact is a source artifact.
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
+### linked_artifacts
----
+Returns a list of all the linked artifacts of a source artifact.
-### method `Artifact.finalize`
+If this artifact is a link artifact (`artifact.is_link == True`),
+it will return an empty list.
-```python
-finalize() → None
-```
+Limited to 500 results.
-Finalize the artifact version.
+### source_artifact
-You cannot modify an artifact version once it is finalized because the artifact is logged as a specific artifact version. Create a new artifact version to log more data to an artifact. An artifact is automatically finalized when you log the artifact with `log_artifact`.
+Returns the source artifact, which is the original logged artifact.
----
+If this artifact is a source artifact (`artifact.is_link == False`),
+it will return itself.
-### method `Artifact.get`
+### type
-```python
-get(name: 'str') → WBValue | None
-```
+The artifact's type. Common types include `dataset` or `model`.
-Get the WBValue object located at the artifact relative `name`.
+### url
+Constructs the URL of the artifact.
+### description
-**Args:**
-
- - `name`: The artifact relative name to retrieve.
+A description of the artifact.
+### metadata
+User-defined artifact metadata.
-**Returns:**
- W&B object that can be logged with `run.log()` and visualized in the W&B UI.
+Structured data associated with the artifact.
+### ttl
+The time-to-live (TTL) policy of an artifact.
-**Raises:**
-
- - `ArtifactNotLoggedError`: if the artifact isn't logged or the run is offline.
+Artifacts are deleted shortly after a TTL policy's duration passes.
+If set to `None`, the artifact deactivates TTL policies and will be not
+scheduled for deletion, even if there is a team default TTL.
+An artifact inherits a TTL policy from
+the team default if the team administrator defines a default
+TTL and there is no custom policy set on an artifact.
----
+Raises:
+ ArtifactNotLoggedError: Unable to fetch inherited TTL if the
+ artifact has not been logged or saved.
-### method `Artifact.get_added_local_path_name`
+### aliases
-```python
-get_added_local_path_name(local_path: 'str') → str | None
-```
+List of one or more semantically-friendly references or
-Get the artifact relative name of a file added by a local filesystem path.
+identifying "nicknames" assigned to an artifact version.
+Aliases are mutable references that you can programmatically reference.
+Change an artifact's alias with the W&B App UI or programmatically.
+See [Create new artifact versions](https://docs.wandb.ai/models/artifacts/create-a-new-artifact-version)
+for more information.
+### tags
-**Args:**
-
- - `local_path`: The local path to resolve into an artifact relative name.
+List of one or more tags assigned to this artifact version.
+### use_as
+Deprecated.
-**Returns:**
- The artifact relative name.
+### state
----
+The status of the artifact. One of: "PENDING", "COMMITTED", or "DELETED".
-### method `Artifact.get_entry`
+### manifest
-```python
-get_entry(name: 'StrPath') → ArtifactManifestEntry
-```
+The artifact's manifest.
-Get the entry with the given name.
+The manifest lists all of its contents, and can't be changed once the artifact
+has been logged.
+### digest
+The logical digest of the artifact.
-**Args:**
-
- - `name`: The artifact relative name to get
+The digest is the checksum of the artifact's contents. If an artifact has the
+same digest as the current `latest` version, then `log_artifact` is a no-op.
+### size
+The total size of the artifact in bytes.
-**Returns:**
- A `W&B` object.
+Includes any references tracked by this artifact.
+### commit_hash
+The hash returned when this artifact was committed.
-**Raises:**
-
- - `ArtifactNotLoggedError`: if the artifact isn't logged or the run is offline.
- - `KeyError`: if the artifact doesn't contain an entry with the given name.
+### file_count
----
+The number of files (including references).
-### method `Artifact.get_path`
+### created_at
-```python
-get_path(name: 'StrPath') → ArtifactManifestEntry
-```
+Timestamp when the artifact was created.
-Deprecated. Use `get_entry(name)`.
+### updated_at
----
+The time when the artifact was last updated.
-### method `Artifact.is_draft`
+### history_step
-```python
-is_draft() → bool
-```
+The nearest step which logged history metrics for this artifact's source run.
-Check if artifact is not saved.
+## Methods:
-**Returns:**
- Boolean. `False` if artifact is saved. `True` if artifact is not saved.
+### add
----
+Add wandb.WBValue `obj` to the artifact.
-### method `Artifact.json_encode`
+### add_dir
-```python
-json_encode() → dict[str, Any]
-```
+Add a local directory to the artifact.
-Returns the artifact encoded to the JSON format.
+### add_file
+Add a local file to the artifact.
+### add_reference
-**Returns:**
- A `dict` with `string` keys representing attributes of the artifact.
+Add a reference denoted by a URI to the artifact.
----
+Unlike files or directories that you add to an artifact, references are not
+uploaded to W&B. For more information,
+see [Track external files](https://docs.wandb.ai/models/artifacts/track-external-files).
-### method `Artifact.link`
+By default, the following schemes are supported:
-```python
-link(target_path: 'str', aliases: 'Iterable[str] | None' = None) → Artifact
-```
+- http(s): The size and digest of the file will be inferred by the
+ `Content-Length` and the `ETag` response headers returned by the server.
+- s3: The checksum and size are pulled from the object metadata.
+ If bucket versioning is enabled, then the version ID is also tracked.
+- gs: The checksum and size are pulled from the object metadata. If bucket
+ versioning is enabled, then the version ID is also tracked.
+- https, domain matching `*.blob.core.windows.net`
+- Azure: The checksum and size are be pulled from the blob metadata.
+ If storage account versioning is enabled, then the version ID is
+ also tracked.
+- file: The checksum and size are pulled from the file system. This scheme
+ is useful if you have an NFS share or other externally mounted volume
+ containing files you wish to track but not necessarily upload.
-Link this artifact to a collection.
+For any other scheme, the digest is just a hash of the URI and the size is left
+blank.
+### checkout
+Replace the specified root directory with the contents of the artifact.
-**Args:**
-
- - `target_path`: The path of the collection. Path consists of the prefix "wandb-registry-" along with the registry name and the collection name `wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}`.
- - `aliases`: Add one or more aliases to the linked artifact. The "latest" alias is automatically applied to the most recent artifact you link.
+WARNING: This will delete all files in `root` that are not included in the
+artifact.
+### delete
+Delete an artifact and its files.
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
+If called on a linked artifact, only the link is deleted, and the
+source artifact is unaffected.
+Use `Artifact.unlink()` instead of `Artifact.delete()` to remove a
+link between a source artifact and a collection.
+### download
-**Returns:**
- The linked artifact.
+Download the contents of the artifact to the specified root directory.
----
+Existing files located within `root` are not modified. Explicitly delete `root`
+before you call `download` if you want the contents of `root` to exactly match
+the artifact.
-### method `Artifact.logged_by`
+### file
-```python
-logged_by() → Run | None
-```
+Download a single file artifact to the directory you specify with `root`.
-Get the W&B run that originally logged the artifact.
+### files
+Iterate over all files stored in this artifact.
+### finalize
-**Returns:**
- The name of the W&B run that originally logged the artifact.
+Finalize the artifact version.
+You cannot modify an artifact version once it is finalized because the artifact
+is logged as a specific artifact version. Create a new artifact version
+to log more data to an artifact. An artifact is automatically finalized
+when you log the artifact with `log_artifact`.
+### get
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
+Get the WBValue object located at the artifact relative `name`.
----
+### get_added_local_path_name
-### method `Artifact.new_draft`
+Get the artifact relative name of a file added by a local filesystem path.
-```python
-new_draft() → Artifact
-```
+### get_entry
-Create a new draft artifact with the same content as this committed artifact.
+Get the entry with the given name.
-Modifying an existing artifact creates a new artifact version known as an "incremental artifact". The artifact returned can be extended or modified and logged as a new version.
+### get_path
+Deprecated. Use `get_entry(name)`.
+### is_draft
-**Returns:**
- An `Artifact` object.
+Check if artifact is not saved.
+### json_encode
+Returns the artifact encoded to the JSON format.
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
-
----
+### link
-### method `Artifact.new_file`
-
-```python
-new_file(
- name: 'str',
- mode: 'str' = 'x',
- encoding: 'str | None' = None
-) → Iterator[IO]
-```
+Link this artifact to a collection.
-Open a new temporary file and add it to the artifact.
+### logged_by
+Get the W&B run that originally logged the artifact.
+### new_draft
-**Args:**
-
- - `name`: The name of the new file to add to the artifact.
- - `mode`: The file access mode to use to open the new file.
- - `encoding`: The encoding used to open the new file.
+Create a new draft artifact with the same content as this committed artifact.
+Modifying an existing artifact creates a new artifact version known
+as an "incremental artifact". The artifact returned can be extended or
+modified and logged as a new version.
+### new_file
-**Returns:**
- A new file object that can be written to. Upon closing, the file is automatically added to the artifact.
+Open a new temporary file and add it to the artifact.
+### remove
+Remove an item from the artifact.
-**Raises:**
-
- - `ArtifactFinalizedError`: You cannot make changes to the current artifact version because it is finalized. Log a new artifact version instead.
-
----
-
-### method `Artifact.remove`
-
-```python
-remove(item: 'StrPath | ArtifactManifestEntry') → None
-```
+### save
-Remove an item from the artifact.
+Persist any changes made to the artifact.
+If currently in a run, that run will log this artifact. If not currently in a
+run, a run of type "auto" is created to track this artifact.
+### unlink
-**Args:**
-
- - `item`: The item to remove. Can be a specific manifest entry or the name of an artifact-relative path. If the item matches a directory all items in that directory will be removed.
+Unlink this artifact if it is a linked member of an artifact collection.
+Raises:
+ ArtifactNotLoggedError: If the artifact is not logged.
+ ValueError: If the artifact is not linked to any collection.
+### used_by
-**Raises:**
-
- - `ArtifactFinalizedError`: You cannot make changes to the current artifact version because it is finalized. Log a new artifact version instead.
- - `FileNotFoundError`: If the item isn't found in the artifact.
-
----
-
-### method `Artifact.save`
-
-```python
-save(
- project: 'str | None' = None,
- settings: 'wandb.Settings | None' = None
-) → None
-```
-
-Persist any changes made to the artifact.
-
-If currently in a run, that run will log this artifact. If not currently in a run, a run of type "auto" is created to track this artifact.
-
-
-
-**Args:**
-
- - `project`: A project to use for the artifact in the case that a run is not already in context.
- - `settings`: A settings object to use when initializing an automatic run. Most commonly used in testing harness.
-
----
-
-### method `Artifact.unlink`
-
-```python
-unlink() → None
-```
-
-Unlink this artifact if it is a linked member of an artifact collection.
-
-
-
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
- - `ValueError`: If the artifact is not linked to any collection.
-
----
-
-### method `Artifact.used_by`
-
-```python
-used_by() → list[Run]
-```
-
-Get a list of the runs that have used this artifact and its linked artifacts.
-
-
-
-**Returns:**
- A list of `Run` objects.
-
-
-
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
-
----
-
-### method `Artifact.verify`
-
-```python
-verify(root: 'str | None' = None) → None
-```
-
-Verify that the contents of an artifact match the manifest.
-
-All files in the directory are checksummed and the checksums are then cross-referenced against the artifact's manifest. References are not verified.
-
-
-
-**Args:**
-
- - `root`: The directory to verify. If None artifact will be downloaded to './artifacts/self.name/'.
-
-
-
-**Raises:**
-
- - `ArtifactNotLoggedError`: If the artifact is not logged.
- - `ValueError`: If the verification fails.
-
----
-
-### method `Artifact.wait`
-
-```python
-wait(timeout: 'int | None' = None) → Artifact
-```
+Get a list of the runs that have used this artifact and its linked artifacts.
-If needed, wait for this artifact to finish logging.
+### verify
+Verify that the contents of an artifact match the manifest.
+All files in the directory are checksummed and the checksums are then
+cross-referenced against the artifact's manifest. References are not verified.
-**Args:**
-
- - `timeout`: The time, in seconds, to wait.
+### wait
+If needed, wait for this artifact to finish logging.
-**Returns:**
- An `Artifact` object.
diff --git a/models/ref/python/experiments/run.mdx b/models/ref/python/experiments/run.mdx
index 48efc28070..eb8617375e 100644
--- a/models/ref/python/experiments/run.mdx
+++ b/models/ref/python/experiments/run.mdx
@@ -1,37 +1,56 @@
---
title: Run
-namespace: python_sdk_actions
-python_object_type: class
+kind: class
+namespace: wandb.sdk.wandb_run
---
-import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
+
-## class `Run`
-A unit of computation logged by W&B. Typically, this is an ML experiment.
-Call [`wandb.init()`](https://docs.wandb.ai/models/ref/python/functions/init) to create a new run. `wandb.init()` starts a new run and returns a `wandb.Run` object. Each run is associated with a unique ID (run ID). W&B recommends using a context (`with` statement) manager to automatically finish the run.
+```python
+settings: 'Settings',
+config: 'dict[str, Any] | None' = None,
+sweep_config: 'dict[str, Any] | None' = None,
+launch_config: 'dict[str, Any] | None' = None
+```
-For distributed training experiments, you can either track each process separately using one run per process or track all processes to a single run. See [Log distributed training experiments](https://docs.wandb.ai/models/track/log/distributed-training) for more information.
+## Description
-You can log data to a run with `wandb.Run.log()`. Anything you log using `wandb.Run.log()` is sent to that run. See [Create an experiment](https://docs.wandb.ai/models/track/create-an-experiment) or [`wandb.init`](https://docs.wandb.ai/models/ref/python/functions/init) API reference page or more information.
+A unit of computation logged by W&B. Typically, this is an ML experiment.
-There is a another `Run` object in the [`wandb.apis.public`](https://docs.wandb.ai/models/ref/python/public-api/api) namespace. Use this object is to interact with runs that have already been created.
+Call [`wandb.init()`](https://docs.wandb.ai/models/ref/python/functions/init) to create a
+new run. `wandb.init()` starts a new run and returns a `wandb.Run` object.
+Each run is associated with a unique ID (run ID). W&B recommends using
+a context (`with` statement) manager to automatically finish the run.
+For distributed training experiments, you can either track each process
+separately using one run per process or track all processes to a single run.
+See [Log distributed training experiments](https://docs.wandb.ai/models/track/log/distributed-training)
+for more information.
+You can log data to a run with `wandb.Run.log()`. Anything you log using
+`wandb.Run.log()` is sent to that run. See
+[Create an experiment](https://docs.wandb.ai/models/track/create-an-experiment) or
+[`wandb.init`](https://docs.wandb.ai/models/ref/python/functions/init) API reference page
+or more information.
-**Attributes:**
-
- - `summary`: (Summary) A summary of the run, which is a dictionary-like object. For more information, see
- - `[Log summary metrics](https`: //docs.wandb.ai/models/track/log/log-summary).
+There is a another `Run` object in the
+[`wandb.apis.public`](https://docs.wandb.ai/models/ref/python/public-api/api)
+namespace. Use this object is to interact with runs that have already been
+created.
+Attributes:
+ summary: (Summary) A summary of the run, which is a dictionary-like
+ object. For more information, see
+ [Log summary metrics](https://docs.wandb.ai/models/track/log/log-summary).
+## Examples:
-**Examples:**
- Create a run with `wandb.init()`:
+Create a run with `wandb.init()`:
```python
import wandb
@@ -40,1149 +59,380 @@ import wandb
# Use context manager (`with` statement) to automatically finish the run
with wandb.init(entity="entity", project="project") as run:
run.log({"accuracy": acc, "loss": loss})
-```
-
-
-### property Run.config
-
-Config object associated with this run.
-
-
-
-**Returns:**
- - `wandb_config.Config`: The config property value.
----
-
-### property Run.config_static
-
-Static config object associated with this run.
-
-
-
-**Returns:**
- - `wandb_config.ConfigStatic`: The config_static property value.
----
-
-### property Run.dir
-
-The directory where files associated with the run are saved.
-
-
-
-**Returns:**
- - `str`: The dir property value.
----
-
-### property Run.disabled
-
-True if the run is disabled, False otherwise.
-
-
-
-**Returns:**
- - `bool`: The disabled property value.
----
-
-### property Run.entity
-
-The name of the W&B entity associated with the run.
-
-Entity can be a username or the name of a team or organization.
-
-
-
-**Returns:**
- - `str`: The entity property value.
----
-
-### property Run.group
-
-Returns the name of the group associated with this run.
-
-Grouping runs together allows related experiments to be organized and visualized collectively in the W&B UI. This is especially useful for scenarios such as distributed training or cross-validation, where multiple runs should be viewed and managed as a unified experiment.
-
-In shared mode, where all processes share the same run object, setting a group is usually unnecessary, since there is only one run and no grouping is required.
-
-
-
-**Returns:**
- - `str`: The group property value.
----
-
-### property Run.id
-
-Identifier for this run.
-
-
-
-**Returns:**
- - `str`: The id property value.
----
-
-### property Run.job_type
-
-Name of the job type associated with the run.
-
-View a run's job type in the run's Overview page in the W&B App.
-
-You can use this to categorize runs by their job type, such as "training", "evaluation", or "inference". This is useful for organizing and filtering runs in the W&B UI, especially when you have multiple runs with different job types in the same project. For more information, see [Organize runs](https://docs.wandb.ai/models/runs#organize-runs).
-
-
-
-**Returns:**
- - `str`: The job_type property value.
----
-
-### property Run.name
-
-Display name of the run.
-
-Display names are not guaranteed to be unique and may be descriptive. By default, they are randomly generated.
-
-
-
-**Returns:**
- - `str | None`: The name property value.
----
-
-### property Run.notes
-
-Notes associated with the run, if there are any.
-
-Notes can be a multiline string and can also use markdown and latex equations inside `$$`, like `$x + 3$`.
-
-
-
-**Returns:**
- - `str | None`: The notes property value.
----
-
-### property Run.offline
-
-True if the run is offline, False otherwise.
-
-
-
-**Returns:**
- - `bool`: The offline property value.
----
-
-### property Run.path
-
-Path to the run.
-
-Run paths include entity, project, and run ID, in the format `entity/project/run_id`.
-
-
-
-**Returns:**
- - `str`: The path property value.
----
-
-### property Run.project
-
-Name of the W&B project associated with the run.
-
-
-
-**Returns:**
- - `str`: The project property value.
----
-
-### property Run.project_url
-
-URL of the W&B project associated with the run, if there is one.
-
-Offline runs do not have a project URL.
-
-
-
-**Returns:**
- - `str | None`: The project_url property value.
----
-
-### property Run.resumed
-
-True if the run was resumed, False otherwise.
-
-
-
-**Returns:**
- - `bool`: The resumed property value.
----
-
-### property Run.settings
-
-A frozen copy of run's Settings object.
-
-
-
-**Returns:**
- - `Settings`: The settings property value.
----
-
-### property Run.start_time
-
-Unix timestamp (in seconds) of when the run started.
-
-
-
-**Returns:**
- - `float`: The start_time property value.
----
-
-
-
-### property Run.sweep_id
-
-Identifier for the sweep associated with the run, if there is one.
-
-
-
-**Returns:**
- - `str | None`: The sweep_id property value.
----
-
-### property Run.sweep_url
-
-URL of the sweep associated with the run, if there is one.
-
-Offline runs do not have a sweep URL.
-
-
-
-**Returns:**
- - `str | None`: The sweep_url property value.
----
-
-### property Run.tags
-
-Tags associated with the run, if there are any.
-
-
-
-**Returns:**
- - `tuple | None`: The tags property value.
----
-
-### property Run.url
-
-The url for the W&B run, if there is one.
-
-Offline runs will not have a url.
-
-
-
-
-
-**Returns:**
- - `str | None`: The url property value.
----
-
-### method `Run.alert`
-
-```python
-alert(
- title: 'str',
- text: 'str',
- level: 'str | AlertLevel | None' = None,
- wait_duration: 'int | float | timedelta | None' = None
-) → None
```
-Create an alert with the given title and text.
+## Args:
+- **settings**:
+- **config**:
+- **sweep_config**:
+- **launch_config**:
-**Args:**
-
- - `title`: The title of the alert, must be less than 64 characters long.
- - `text`: The text body of the alert.
- - `level`: The alert level to use, either: `INFO`, `WARN`, or `ERROR`.
- - `wait_duration`: The time to wait (in seconds) before sending another alert with this title.
+## Properties:
----
+### settings
-### method `Run.define_metric`
+A frozen copy of run's Settings object.
-```python
-define_metric(
- name: 'str',
- step_metric: 'str | wandb_metric.Metric | None' = None,
- step_sync: 'bool | None' = None,
- hidden: 'bool | None' = None,
- summary: 'str | None' = None,
- goal: 'str | None' = None,
- overwrite: 'bool | None' = None
-) → wandb_metric.Metric
-```
+### dir
-Customize metrics logged with `wandb.Run.log()`.
+The directory where files associated with the run are saved.
+### config
+Config object associated with this run.
-**Args:**
-
- - `name`: The name of the metric to customize.
- - `step_metric`: The name of another metric to serve as the X-axis for this metric in automatically generated charts.
- - `step_sync`: Automatically insert the last value of step_metric into `wandb.Run.log()` if it is not provided explicitly. Defaults to True if step_metric is specified.
- - `hidden`: Hide this metric from automatic plots.
- - `summary`: Specify aggregate metrics added to summary. Supported aggregations include "min", "max", "mean", "last", "first", "best", "copy" and "none". "none" prevents a summary from being generated. "best" is used together with the goal parameter, "best" is deprecated and should not be used, use "min" or "max" instead. "copy" is deprecated and should not be used.
- - `goal`: Specify how to interpret the "best" summary type. Supported options are "minimize" and "maximize". "goal" is deprecated and should not be used, use "min" or "max" instead.
- - `overwrite`: If false, then this call is merged with previous `define_metric` calls for the same metric by using their values for any unspecified parameters. If true, then unspecified parameters overwrite values specified by previous calls.
+### config_static
+Static config object associated with this run.
+### name
-**Returns:**
- An object that represents this call but can otherwise be discarded.
+Display name of the run.
----
+Display names are not guaranteed to be unique and may be descriptive.
+By default, they are randomly generated.
-### method `Run.display`
+### notes
-```python
-display(height: 'int' = 420, hidden: 'bool' = False) → bool
-```
+Notes associated with the run, if there are any.
-Display this run in Jupyter.
+Notes can be a multiline string and can also use markdown and latex
+equations inside `$$`, like `$x + 3$`.
----
+### tags
-### method `Run.finish`
+Tags associated with the run, if there are any.
-```python
-finish(exit_code: 'int | None' = None, quiet: 'bool | None' = None) → None
-```
+### id
-Finish a run and upload any remaining data.
+Identifier for this run.
-Marks the completion of a W&B run and ensures all data is synced to the server. The run's final state is determined by its exit conditions and sync status.
+### sweep_id
-Run States:
-- Running: Active run that is logging data and/or sending heartbeats.
-- Crashed: Run that stopped sending heartbeats unexpectedly.
-- Finished: Run completed successfully (`exit_code=0`) with all data synced.
-- Failed: Run completed with errors (`exit_code!=0`).
-- Killed: Run was forcibly stopped before it could finish.
+Identifier for the sweep associated with the run, if there is one.
+### path
+Path to the run.
-**Args:**
-
- - `exit_code`: Integer indicating the run's exit status. Use 0 for success, any other value marks the run as failed.
- - `quiet`: Deprecated. Configure logging verbosity using `wandb.Settings(quiet=...)`.
+Run paths include entity, project, and run ID, in the format
+`entity/project/run_id`.
----
+### start_time
-### method `Run.finish_artifact`
+Unix timestamp (in seconds) of when the run started.
-```python
-finish_artifact(
- artifact_or_path: 'Artifact | str',
- name: 'str | None' = None,
- type: 'str | None' = None,
- aliases: 'list[str] | None' = None,
- distributed_id: 'str | None' = None
-) → Artifact
-```
+### resumed
-Finishes a non-finalized artifact as output of a run.
+True if the run was resumed, False otherwise.
-Subsequent "upserts" with the same distributed ID will result in a new version.
+### offline
+True if the run is offline, False otherwise.
+### disabled
-**Args:**
-
- - `artifact_or_path`: A path to the contents of this artifact, can be in the following forms:
- - `/local/directory`
- - `/local/directory/file.txt`
- - `s3://bucket/path` You can also pass an Artifact object created by calling `wandb.Artifact`.
- - `name`: An artifact name. May be prefixed with entity/project. Valid names can be in the following forms:
- - name:version
- - name:alias
- - digest This will default to the basename of the path prepended with the current run id if not specified.
- - `type`: The type of artifact to log, examples include `dataset`, `model`
- - `aliases`: Aliases to apply to this artifact, defaults to `["latest"]`
- - `distributed_id`: Unique string that all distributed jobs share. If None, defaults to the run's group name.
+True if the run is disabled, False otherwise.
+### group
+Returns the name of the group associated with this run.
-**Returns:**
- An `Artifact` object.
+Grouping runs together allows related experiments to be organized and
+visualized collectively in the W&B UI. This is especially useful for
+scenarios such as distributed training or cross-validation, where
+multiple runs should be viewed and managed as a unified experiment.
----
+In shared mode, where all processes share the same run object,
+setting a group is usually unnecessary, since there is only one
+run and no grouping is required.
+### job_type
+Name of the job type associated with the run.
+View a run's job type in the run's Overview page in the W&B App.
-### method `Run.link_artifact`
+You can use this to categorize runs by their job type, such as
+"training", "evaluation", or "inference". This is useful for organizing
+and filtering runs in the W&B UI, especially when you have multiple
+runs with different job types in the same project. For more
+information, see [Organize runs](https://docs.wandb.ai/models/runs#organize-runs).
-```python
-link_artifact(
- artifact: 'Artifact',
- target_path: 'str',
- aliases: 'list[str] | None' = None
-) → Artifact
-```
+### project
-Link the artifact to a collection.
+Name of the W&B project associated with the run.
-The term “link” refers to pointers that connect where W&B stores the artifact and where the artifact is accessible in the registry. W&B does not duplicate artifacts when you link an artifact to a collection.
+### project_url
-View linked artifacts in the Registry UI for the specified collection.
+URL of the W&B project associated with the run, if there is one.
+Offline runs do not have a project URL.
+### sweep_url
-**Args:**
-
- - `artifact`: The artifact object to link to the collection.
- - `target_path`: The path of the collection. Path consists of the prefix "wandb-registry-" along with the registry name and the collection name `wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}`.
- - `aliases`: Add one or more aliases to the linked artifact. The "latest" alias is automatically applied to the most recent artifact you link.
+URL of the sweep associated with the run, if there is one.
+Offline runs do not have a sweep URL.
+### url
-**Returns:**
- The linked artifact.
+The url for the W&B run, if there is one.
----
+Offline runs will not have a url.
-### method `Run.link_model`
+### entity
-```python
-link_model(
- path: 'StrPath',
- registered_model_name: 'str',
- name: 'str | None' = None,
- aliases: 'list[str] | None' = None
-) → Artifact | None
-```
+The name of the W&B entity associated with the run.
-Log a model artifact version and link it to a registered model in the model registry.
+Entity can be a username or the name of a team or organization.
-Linked model versions are visible in the UI for the specified registered model.
-This method will:
-- Check if 'name' model artifact has been logged. If so, use the artifact version that matches the files located at 'path' or log a new version. Otherwise log files under 'path' as a new model artifact, 'name' of type 'model'.
-- Check if registered model with name 'registered_model_name' exists in the 'model-registry' project. If not, create a new registered model with name 'registered_model_name'.
-- Link version of model artifact 'name' to registered model, 'registered_model_name'.
-- Attach aliases from 'aliases' list to the newly linked model artifact version.
+## Methods:
+### alert
-**Args:**
-
- - `path`: (str) A path to the contents of this model, can be in the following forms:
- - `/local/directory`
- - `/local/directory/file.txt`
- - `s3://bucket/path`
- - `registered_model_name`: The name of the registered model that the model is to be linked to. A registered model is a collection of model versions linked to the model registry, typically representing a team's specific ML Task. The entity that this registered model belongs to will be derived from the run.
- - `name`: The name of the model artifact that files in 'path' will be logged to. This will default to the basename of the path prepended with the current run id if not specified.
- - `aliases`: Aliases that will only be applied on this linked artifact inside the registered model. The alias "latest" will always be applied to the latest version of an artifact that is linked.
+Create an alert with the given title and text.
+### define_metric
+Customize metrics logged with `wandb.Run.log()`.
-**Raises:**
-
- - `AssertionError`: If registered_model_name is a path or if model artifact 'name' is of a type that does not contain the substring 'model'.
- - `ValueError`: If name has invalid special characters.
+### display
+Display this run in Jupyter.
+### finish
-**Returns:**
- The linked artifact if linking was successful, otherwise `None`.
+Finish a run and upload any remaining data.
----
+Marks the completion of a W&B run and ensures all data is synced to the server.
+The run's final state is determined by its exit conditions and sync status.
-### method `Run.log`
+Run States:
+- Running: Active run that is logging data and/or sending heartbeats.
+- Crashed: Run that stopped sending heartbeats unexpectedly.
+- Finished: Run completed successfully (`exit_code=0`) with all data synced.
+- Failed: Run completed with errors (`exit_code!=0`).
+- Killed: Run was forcibly stopped before it could finish.
-```python
-log(
- data: 'dict[str, Any]',
- step: 'int | None' = None,
- commit: 'bool | None' = None
-) → None
-```
+### finish_artifact
-Upload run data.
+Finishes a non-finalized artifact as output of a run.
-Use `log` to log data from runs, such as scalars, images, video, histograms, plots, and tables. See [Log objects and media](https://docs.wandb.ai/models/track/log) for code snippets, best practices, and more.
+Subsequent "upserts" with the same distributed ID will result in a new version.
-Basic usage:
+### link_artifact
-```python
-import wandb
+Link the artifact to a collection.
-with wandb.init() as run:
- run.log({"train-loss": 0.5, "accuracy": 0.9})
-```
+The term “link” refers to pointers that connect where W&B stores the
+artifact and where the artifact is accessible in the registry. W&B
+does not duplicate artifacts when you link an artifact to a collection.
-The previous code snippet saves the loss and accuracy to the run's history and updates the summary values for these metrics.
+View linked artifacts in the Registry UI for the specified collection.
-Visualize logged data in a workspace at [wandb.ai](https://wandb.ai), or locally on a [self-hosted instance](https://docs.wandb.ai/platform/hosting) of the W&B app, or export data to visualize and explore locally, such as in a Jupyter notebook, with the [Public API](https://docs.wandb.ai/models/track/public-api-guide).
+### link_model
-Logged values don't have to be scalars. You can log any [W&B supported Data Type](https://docs.wandb.ai/models/ref/python/data-types) such as images, audio, video, and more. For example, you can use `wandb.Table` to log structured data. See [Log tables, visualize and query data](https://docs.wandb.ai/models/tables/tables-walkthrough) tutorial for more details.
+Log a model artifact version and link it to a registered model in the model registry.
-W&B organizes metrics with a forward slash (`/`) in their name into sections named using the text before the final slash. For example, the following results in two sections named "train" and "validate":
+Linked model versions are visible in the UI for the specified registered model.
-```python
-with wandb.init() as run:
- # Log metrics in the "train" section.
- run.log(
- {
- "train/accuracy": 0.9,
- "train/loss": 30,
- "validate/accuracy": 0.8,
- "validate/loss": 20,
- }
- )
-```
-
-Only one level of nesting is supported; `run.log({"a/b/c": 1})` produces a section named "a".
-
-`run.log()` is not intended to be called more than a few times per second. For optimal performance, limit your logging to once every N iterations, or collect data over multiple iterations and log it in a single step.
-
-By default, each call to `log` creates a new "step". The step must always increase, and it is not possible to log to a previous step. You can use any metric as the X axis in charts. See [Custom log axes](https://docs.wandb.ai/models/track/log/customize-logging-axes) for more details.
-
-In many cases, it is better to treat the W&B step like you'd treat a timestamp rather than a training step.
-
-```python
-with wandb.init() as run:
- # Example: log an "epoch" metric for use as an X axis.
- run.log({"epoch": 40, "train-loss": 0.5})
-```
-
-It is possible to use multiple `wandb.Run.log()` invocations to log to the same step with the `step` and `commit` parameters. The following are all equivalent:
-
-```python
-with wandb.init() as run:
- # Normal usage:
- run.log({"train-loss": 0.5, "accuracy": 0.8})
- run.log({"train-loss": 0.4, "accuracy": 0.9})
+This method will:
+- Check if 'name' model artifact has been logged. If so, use the artifact version that matches the files
+located at 'path' or log a new version. Otherwise log files under 'path' as a new model artifact, 'name'
+of type 'model'.
+- Check if registered model with name 'registered_model_name' exists in the 'model-registry' project.
+If not, create a new registered model with name 'registered_model_name'.
+- Link version of model artifact 'name' to registered model, 'registered_model_name'.
+- Attach aliases from 'aliases' list to the newly linked model artifact version.
- # Implicit step without auto-incrementing:
- run.log({"train-loss": 0.5}, commit=False)
- run.log({"accuracy": 0.8})
- run.log({"train-loss": 0.4}, commit=False)
- run.log({"accuracy": 0.9})
+### log
- # Explicit step:
- run.log({"train-loss": 0.5}, step=current_step)
- run.log({"accuracy": 0.8}, step=current_step)
- current_step += 1
- run.log({"train-loss": 0.4}, step=current_step)
- run.log({"accuracy": 0.9}, step=current_step, commit=True)
-```
+Upload run data.
+Use `log` to log data from runs, such as scalars, images, video,
+histograms, plots, and tables. See [Log objects and media](https://docs.wandb.ai/models/track/log) for
+code snippets, best practices, and more.
-
-**Args:**
-
- - `data`: A `dict` with `str` keys and values that are serializable
- - `Python objects including`: `int`, `float` and `string`; any of the `wandb.data_types`; lists, tuples and NumPy arrays of serializable Python objects; other `dict`s of this structure.
- - `step`: The step number to log. If `None`, then an implicit auto-incrementing step is used. See the notes in the description.
- - `commit`: If true, finalize and upload the step. If false, then accumulate data for the step. See the notes in the description. If `step` is `None`, then the default is `commit=True`; otherwise, the default is `commit=False`.
-
-
-
-**Examples:**
- For more and more detailed examples, see [our guides to logging](https://docs.wandb.ai/models/track/log).
-
-Basic usage
-
-```python
-import wandb
-
-with wandb.init() as run:
- run.log({"train-loss": 0.5, "accuracy": 0.9
-```
-
-Incremental logging
+Basic usage:
```python
import wandb
with wandb.init() as run:
- run.log({"loss": 0.2}, commit=False)
- # Somewhere else when I'm ready to report this step:
- run.log({"accuracy": 0.8})
-```
-
-Histogram
-
-```python
-import numpy as np
-import wandb
-
-# sample gradients at random from normal distribution
-gradients = np.random.randn(100, 100)
-with wandb.init() as run:
- run.log({"gradients": wandb.Histogram(gradients)})
-```
-
-Image from NumPy
-
-```python
-import numpy as np
-import wandb
-
-with wandb.init() as run:
- examples = []
- for i in range(3):
- pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
- image = wandb.Image(pixels, caption=f"random field {i}")
- examples.append(image)
- run.log({"examples": examples})
-```
-
-Image from PIL
-
-```python
-import numpy as np
-from PIL import Image as PILImage
-import wandb
-
-with wandb.init() as run:
- examples = []
- for i in range(3):
- pixels = np.random.randint(
- low=0,
- high=256,
- size=(100, 100, 3),
- dtype=np.uint8,
- )
- pil_image = PILImage.fromarray(pixels, mode="RGB")
- image = wandb.Image(pil_image, caption=f"random field {i}")
- examples.append(image)
- run.log({"examples": examples})
-```
-
-Video from NumPy
-
-```python
-import numpy as np
-import wandb
-
-with wandb.init() as run:
- # axes are (time, channel, height, width)
- frames = np.random.randint(
- low=0,
- high=256,
- size=(10, 3, 100, 100),
- dtype=np.uint8,
- )
- run.log({"video": wandb.Video(frames, fps=4)})
-```
-
-Matplotlib plot
+ run.log({"train-loss": 0.5, "accuracy": 0.9})
+```
-```python
-from matplotlib import pyplot as plt
-import numpy as np
-import wandb
+The previous code snippet saves the loss and accuracy to the run's
+history and updates the summary values for these metrics.
-with wandb.init() as run:
- fig, ax = plt.subplots()
- x = np.linspace(0, 10)
- y = x * x
- ax.plot(x, y) # plot y = x^2
- run.log({"chart": fig})
-```
+Visualize logged data in a workspace at [wandb.ai](https://wandb.ai),
+or locally on a [self-hosted instance](https://docs.wandb.ai/platform/hosting)
+of the W&B app, or export data to visualize and explore locally, such as in a
+Jupyter notebook, with the [Public API](https://docs.wandb.ai/models/track/public-api-guide).
-PR Curve
+Logged values don't have to be scalars. You can log any
+[W&B supported Data Type](https://docs.wandb.ai/models/ref/python/data-types)
+such as images, audio, video, and more. For example, you can use
+`wandb.Table` to log structured data. See
+[Log tables, visualize and query data](https://docs.wandb.ai/models/tables/tables-walkthrough)
+tutorial for more details.
-```python
-import wandb
-
-with wandb.init() as run:
- run.log({"pr": wandb.plot.pr_curve(y_test, y_probas, labels)})
-```
-
-3D Object
+W&B organizes metrics with a forward slash (`/`) in their name
+into sections named using the text before the final slash. For example,
+the following results in two sections named "train" and "validate":
```python
-import wandb
-
with wandb.init() as run:
+ # Log metrics in the "train" section.
run.log(
- {
- "generated_samples": [
- wandb.Object3D(open("sample.obj")),
- wandb.Object3D(open("sample.gltf")),
- wandb.Object3D(open("sample.glb")),
- ]
- }
+ {
+ "train/accuracy": 0.9,
+ "train/loss": 30,
+ "validate/accuracy": 0.8,
+ "validate/loss": 20,
+ }
)
-```
-
-
-
-**Raises:**
-
- - `wandb.Error`: If called before `wandb.init()`.
- - `ValueError`: If invalid data is passed.
-
----
-
-### method `Run.log_artifact`
-
-```python
-log_artifact(
- artifact_or_path: 'Artifact | StrPath',
- name: 'str | None' = None,
- type: 'str | None' = None,
- aliases: 'list[str] | None' = None,
- tags: 'list[str] | None' = None
-) → Artifact
```
-Declare an artifact as an output of a run.
+Only one level of nesting is supported; `run.log({"a/b/c": 1})`
+produces a section named "a".
+`run.log()` is not intended to be called more than a few times per second.
+For optimal performance, limit your logging to once every N iterations,
+or collect data over multiple iterations and log it in a single step.
+By default, each call to `log` creates a new "step".
+The step must always increase, and it is not possible to log
+to a previous step. You can use any metric as the X axis in charts.
+See [Custom log axes](https://docs.wandb.ai/models/track/log/customize-logging-axes)
+for more details.
-**Args:**
-
- - `artifact_or_path`: (str or Artifact) A path to the contents of this artifact, can be in the following forms:
- - `/local/directory`
- - `/local/directory/file.txt`
- - `s3://bucket/path` You can also pass an Artifact object created by calling `wandb.Artifact`.
- - `name`: (str, optional) An artifact name. Valid names can be in the following forms:
- - name:version
- - name:alias
- - digest This will default to the basename of the path prepended with the current run id if not specified.
- - `type`: (str) The type of artifact to log, examples include `dataset`, `model`
- - `aliases`: (list, optional) Aliases to apply to this artifact, defaults to `["latest"]`
- - `tags`: (list, optional) Tags to apply to this artifact, if any.
-
-
-
-**Returns:**
- An `Artifact` object.
-
----
-
-### method `Run.log_code`
+In many cases, it is better to treat the W&B step like
+you'd treat a timestamp rather than a training step.
```python
-log_code(
- root: 'str | None' = '.',
- name: 'str | None' = None,
- include_fn: 'Callable[[str, str], bool] | Callable[[str], bool]' = ,
- exclude_fn: 'Callable[[str, str], bool] | Callable[[str], bool]' =
-) → Artifact | None
-```
-
-Save the current state of your code to a W&B Artifact.
-
-By default, it walks the current directory and logs all files that end with `.py`.
-
-
-
-**Args:**
-
- - `root`: The relative (to `os.getcwd()`) or absolute path to recursively find code from.
- - `name`: (str, optional) The name of our code artifact. By default, we'll name the artifact `source-$PROJECT_ID-$ENTRYPOINT_RELPATH`. There may be scenarios where you want many runs to share the same artifact. Specifying name allows you to achieve that.
- - `include_fn`: A callable that accepts a file path and (optionally) root path and returns True when it should be included and False otherwise. This
- - `defaults to `lambda path, root`: path.endswith(".py")`.
- - `exclude_fn`: A callable that accepts a file path and (optionally) root path and returns `True` when it should be excluded and `False` otherwise. This defaults to a function that excludes all files within `/.wandb/` and `/wandb/` directories.
-
-
-
-**Examples:**
- Basic usage
-
-```python
-import wandb
-
with wandb.init() as run:
- run.log_code()
-```
-
-Advanced usage
-
-```python
-import wandb
-
-with wandb.init() as run:
- run.log_code(
- root="../",
- include_fn=lambda path: path.endswith(".py") or path.endswith(".ipynb"),
- exclude_fn=lambda path, root: os.path.relpath(path, root).startswith(
- "cache/"
- ),
- )
-```
-
-
-
-**Returns:**
- An `Artifact` object if code was logged
-
----
-
-### method `Run.log_model`
-
-```python
-log_model(
- path: 'StrPath',
- name: 'str | None' = None,
- aliases: 'list[str] | None' = None
-) → None
-```
-
-Logs a model artifact containing the contents inside the 'path' to a run and marks it as an output to this run.
-
-The name of model artifact can only contain alphanumeric characters, underscores, and hyphens.
-
-
-
-**Args:**
-
- - `path`: (str) A path to the contents of this model, can be in the following forms:
- - `/local/directory`
- - `/local/directory/file.txt`
- - `s3://bucket/path`
- - `name`: A name to assign to the model artifact that the file contents will be added to. This will default to the basename of the path prepended with the current run id if not specified.
- - `aliases`: Aliases to apply to the created model artifact, defaults to `["latest"]`
-
-
-
-**Raises:**
-
- - `ValueError`: If name has invalid special characters.
-
-
-
-**Returns:**
- None
-
----
-
-### method `Run.mark_preempting`
-
-```python
-mark_preempting() → None
+ # Example: log an "epoch" metric for use as an X axis.
+ run.log({"epoch": 40, "train-loss": 0.5})
```
-Mark this run as preempting.
-
-Also tells the internal process to immediately report this to server.
-
----
-
-### method `Run.pin_config_keys`
+It is possible to use multiple `wandb.Run.log()` invocations to log to
+the same step with the `step` and `commit` parameters.
+The following are all equivalent:
```python
-pin_config_keys(keys: 'Sequence[str]' = ()) → None
-```
-
-Pin config keys to display in the References section on Run Overview.
-
-Pinned keys appear prominently above Notes on the Run Overview page. String values are rendered as markdown; non-strings are rendered as plain text. Calling this again replaces the previously pinned list.
-
-
-
-**Args:**
-
- - `keys`: Config key names to pin, matching keys set via ``run.config``. These are exact key strings (dots and slashes are treated literally, not as path separators). Order is preserved and determines display order.
-
----
-
-
-### method `Run.restore`
-
-```python
-restore(
- name: 'str',
- run_path: 'str | None' = None,
- replace: 'bool' = False,
- root: 'str | None' = None
-) → None | TextIO
-```
-
-Download the specified file from cloud storage.
-
-File is placed into the current directory or run directory. By default, will only download the file if it doesn't already exist.
-
-
-
-**Args:**
-
- - `name`: The name of the file.
- - `run_path`: Optional path to a run to pull files from, i.e. `username/project_name/run_id` if wandb.init has not been called, this is required.
- - `replace`: Whether to download the file even if it already exists locally
- - `root`: The directory to download the file to. Defaults to the current directory or the run directory if wandb.init was called.
-
-
-
-**Returns:**
- None if it can't find the file, otherwise a file object open for reading.
-
-
-
-**Raises:**
-
- - `CommError`: If W&B can't connect to the W&B backend.
- - `ValueError`: If the file is not found or can't find run_path.
-
----
-
-### method `Run.save`
-
-```python
-save(
- glob_str: 'str | os.PathLike',
- base_path: 'str | os.PathLike | None' = None,
- policy: 'PolicyName' = 'live'
-) → bool | list[str]
-```
-
-Sync one or more files to W&B.
-
-Relative paths are relative to the current working directory.
-
-A Unix glob, such as "myfiles/*", is expanded at the time `save` is called regardless of the `policy`. In particular, new files are not picked up automatically.
-
-A `base_path` may be provided to control the directory structure of uploaded files. It should be a prefix of `glob_str`, and the directory structure beneath it is preserved.
-
-When given an absolute path or glob and no `base_path`, one directory level is preserved as in the example above.
-
-Files are automatically deduplicated: calling `save()` multiple times on the same file without modifications will not re-upload it.
-
-
-
-**Args:**
-
- - `glob_str`: A relative or absolute path or Unix glob.
- - `base_path`: A path to use to infer a directory structure; see examples.
- - `policy`: One of `live`, `now`, or `end`.
- - live: upload the file as it changes, overwriting the previous version
- - now: upload the file once now
- - end: upload file when the run ends
-
-
-
-**Returns:**
- Paths to the symlinks created for the matched files.
-
-For historical reasons, this may return a boolean in legacy code.
-
-```python
-import wandb
-
-run = wandb.init()
-
-run.save("these/are/myfiles/*")
-# => Saves files in a "these/are/myfiles/" folder in the run.
-
-run.save("these/are/myfiles/*", base_path="these")
-# => Saves files in an "are/myfiles/" folder in the run.
-
-run.save("/Users/username/Documents/run123/*.txt")
-# => Saves files in a "run123/" folder in the run. See note below.
-
-run.save("/Users/username/Documents/run123/*.txt", base_path="/Users")
-# => Saves files in a "username/Documents/run123/" folder in the run.
-
-run.save("files/*/saveme.txt")
-# => Saves each "saveme.txt" file in an appropriate subdirectory
-# of "files/".
-
-# Explicitly finish the run since a context manager is not used.
-run.finish()
-```
-
----
-
-### method `Run.status`
-
-```python
-status() → RunStatus
-```
-
-Get sync info from the internal backend, about the current run's sync status.
-
----
-
-
-### method `Run.unwatch`
-
-```python
-unwatch(
- models: 'torch.nn.Module | Sequence[torch.nn.Module] | None' = None
-) → None
-```
-
-Remove pytorch model topology, gradient and parameter hooks.
-
-
-
-**Args:**
-
- - `models`: Optional list of pytorch models that have had watch called on them.
-
----
-
-### method `Run.upsert_artifact`
-
-```python
-upsert_artifact(
- artifact_or_path: 'Artifact | str',
- name: 'str | None' = None,
- type: 'str | None' = None,
- aliases: 'list[str] | None' = None,
- distributed_id: 'str | None' = None
-) → Artifact
-```
-
-Declare (or append to) a non-finalized artifact as output of a run.
-
-Note that you must call run.finish_artifact() to finalize the artifact. This is useful when distributed jobs need to all contribute to the same artifact.
-
-
-
-**Args:**
-
- - `artifact_or_path`: A path to the contents of this artifact, can be in the following forms:
- - `/local/directory`
- - `/local/directory/file.txt`
- - `s3://bucket/path`
- - `name`: An artifact name. May be prefixed with "entity/project". Defaults to the basename of the path prepended with the current run ID if not specified. Valid names can be in the following forms:
- - name:version
- - name:alias
- - digest
- - `type`: The type of artifact to log. Common examples include `dataset`, `model`.
- - `aliases`: Aliases to apply to this artifact, defaults to `["latest"]`.
- - `distributed_id`: Unique string that all distributed jobs share. If None, defaults to the run's group name.
-
-
-
-**Returns:**
- An `Artifact` object.
-
----
-
-### method `Run.use_artifact`
+with wandb.init() as run:
+ # Normal usage:
+ run.log({"train-loss": 0.5, "accuracy": 0.8})
+ run.log({"train-loss": 0.4, "accuracy": 0.9})
-```python
-use_artifact(
- artifact_or_name: 'str | Artifact',
- type: 'str | None' = None,
- aliases: 'list[str] | None' = None,
- use_as: 'str | None' = None
-) → Artifact
+ # Implicit step without auto-incrementing:
+ run.log({"train-loss": 0.5}, commit=False)
+ run.log({"accuracy": 0.8})
+ run.log({"train-loss": 0.4}, commit=False)
+ run.log({"accuracy": 0.9})
+
+ # Explicit step:
+ run.log({"train-loss": 0.5}, step=current_step)
+ run.log({"accuracy": 0.8}, step=current_step)
+ current_step += 1
+ run.log({"train-loss": 0.4}, step=current_step)
+ run.log({"accuracy": 0.9}, step=current_step, commit=True)
```
-Declare an artifact as an input to a run.
+### log_artifact
-Call `download` or `file` on the returned object to get the contents locally.
+Declare an artifact as an output of a run.
+### log_code
+Save the current state of your code to a W&B Artifact.
-**Args:**
-
- - `artifact_or_name`: The name of the artifact to use. May be prefixed with the name of the project the artifact was logged to ("entity" or "entity/project"). If no entity is specified in the name, the Run or API setting's entity is used. Valid names can be in the following forms
- - name:version
- - name:alias
- - `type`: The type of artifact to use.
- - `aliases`: Aliases to apply to this artifact
- - `use_as`: This argument is deprecated and does nothing.
+By default, it walks the current directory and logs all files that end with `.py`.
+### log_model
+Logs a model artifact containing the contents inside the 'path' to a run and marks it as an output to this run.
-**Returns:**
- An `Artifact` object.
+The name of model artifact can only contain alphanumeric characters,
+underscores, and hyphens.
+### mark_preempting
+Mark this run as preempting.
-**Examples:**
- ```python
-import wandb
+Also tells the internal process to immediately report this to server.
-run = wandb.init(project="")
+### pin_config_keys
-# Use an artifact by name and alias
-artifact_a = run.use_artifact(artifact_or_name=":")
+Pin config keys to display in the References section on Run Overview.
-# Use an artifact by name and version
-artifact_b = run.use_artifact(artifact_or_name=":v")
+Pinned keys appear prominently above Notes on the Run Overview page.
+String values are rendered as markdown; non-strings are rendered as
+plain text. Calling this again replaces the previously pinned list.
-# Use an artifact by entity/project/name:alias
-artifact_c = run.use_artifact(
- artifact_or_name="//:"
-)
+### restore
-# Use an artifact by entity/project/name:version
-artifact_d = run.use_artifact(
- artifact_or_name="//:v"
-)
+Download the specified file from cloud storage.
-# Explicitly finish the run since a context manager is not used.
-run.finish()
-```
+File is placed into the current directory or run directory.
+By default, will only download the file if it doesn't already exist.
----
+### save
-### method `Run.use_model`
+Sync one or more files to W&B.
-```python
-use_model(name: 'str') → FilePathStr
-```
+Relative paths are relative to the current working directory.
-Download the files logged in a model artifact 'name'.
+A Unix glob, such as "myfiles/*", is expanded at the time `save` is
+called regardless of the `policy`. In particular, new files are not
+picked up automatically.
+A `base_path` may be provided to control the directory structure of
+uploaded files. It should be a prefix of `glob_str`, and the directory
+structure beneath it is preserved.
+When given an absolute path or glob and no `base_path`, one
+directory level is preserved as in the example above.
-**Args:**
-
- - `name`: A model artifact name. 'name' must match the name of an existing logged model artifact. May be prefixed with `entity/project/`. Valid names can be in the following forms
- - model_artifact_name:version
- - model_artifact_name:alias
+Files are automatically deduplicated: calling `save()` multiple times
+on the same file without modifications will not re-upload it.
+### status
+Get sync info from the internal backend, about the current run's sync status.
-**Returns:**
-
- - `path` (str): Path to downloaded model artifact file(s).
+### unwatch
+Remove pytorch model topology, gradient and parameter hooks.
+### upsert_artifact
-**Raises:**
-
- - `AssertionError`: If model artifact 'name' is of a type that does not contain the substring 'model'.
+Declare (or append to) a non-finalized artifact as output of a run.
----
+Note that you must call run.finish_artifact() to finalize the artifact.
+This is useful when distributed jobs need to all contribute to the same artifact.
-### method `Run.watch`
+### use_artifact
-```python
-watch(
- models: 'torch.nn.Module | Sequence[torch.nn.Module]',
- criterion: 'torch.F | None' = None,
- log: "Literal['gradients', 'parameters', 'all'] | None" = 'gradients',
- log_freq: 'int' = 1000,
- idx: 'int | None' = None,
- log_graph: 'bool' = False
-) → None
-```
+Declare an artifact as an input to a run.
-Hook into given PyTorch model to monitor gradients and the model's computational graph.
+Call `download` or `file` on the returned object to get the contents locally.
-This function can track parameters, gradients, or both during training.
+### use_model
+Download the files logged in a model artifact 'name'.
+### watch
-**Args:**
-
- - `models`: A single model or a sequence of models to be monitored.
- - `criterion`: The loss function being optimized (optional).
- - `log`: Specifies whether to log "gradients", "parameters", or "all". Set to None to disable logging. (default="gradients").
- - `log_freq`: Frequency (in batches) to log gradients and parameters. (default=1000)
- - `idx`: Index used when tracking multiple models with `wandb.watch`. (default=None)
- - `log_graph`: Whether to log the model's computational graph. (default=False)
+Hook into given PyTorch model to monitor gradients and the model's computational graph.
+This function can track parameters, gradients, or both during training.
-**Raises:**
- ValueError: If `wandb.init()` has not been called or if any of the models are not instances of `torch.nn.Module`.
diff --git a/models/ref/python/experiments/settings.mdx b/models/ref/python/experiments/settings.mdx
index d0beb1636a..365c572a4c 100644
--- a/models/ref/python/experiments/settings.mdx
+++ b/models/ref/python/experiments/settings.mdx
@@ -1,15 +1,174 @@
---
title: Settings
-namespace: python_sdk_actions
-python_object_type: class
+kind: class
+namespace: wandb.sdk.wandb_settings
---
+
import { GitHubLink } from '/snippets/_includes/github-source-link.mdx';
-
+
+
+
+```python
+*,
+allow_media_symlink: bool = False,
+allow_offline_artifacts: bool = True,
+allow_val_change: bool = False,
+anonymous: object =