## Update or restore a dataset

`datasets.update(strdataset_id, DatasetUpdateParams**kwargs)  -> Dataset`

**patch** `/v5/datasets/{dataset_id}`

Update a dataset's fields, or restore a previously archived dataset.

The request body is a union discriminated by its contents: a body of `{"restore": true}`
triggers a restore, and any other body is treated as a partial update of the dataset's `name`,
`description`, and `tags`. Restore clears `archived_at` on the dataset and cascades the
un-archival to its items and versions; restoring a dataset that is not archived returns it
unchanged. A partial update on an archived dataset fails, since archived datasets cannot be
modified.

### Parameters

- `dataset_id: str`

- `dataset: Dataset`

  - `class DatasetPartialDatasetRequestBase: …`

    - `description: Optional[str]`

    - `name: Optional[str]`

    - `tags: Optional[Sequence[str]]`

      The tags associated with the entity

  - `class RestoreRequest: …`

    - `restore: Literal[true]`

      Set to true to restore the entity from the database.

      - `true`

### Returns

- `class Dataset: …`

  - `id: str`

    The unique identifier of the entity.

  - `created_at: datetime`

    The date and time when the entity was created in ISO format.

  - `created_by: Identity`

    The identity that created the entity.

    - `id: str`

    - `type: Literal["user", "service_account"]`

      - `"user"`

      - `"service_account"`

    - `object: Optional[Literal["identity"]]`

      - `"identity"`

  - `current_version_num: int`

  - `name: str`

  - `tags: Optional[List[str]]`

    The tags associated with the entity

  - `archived_at: Optional[datetime]`

    The date and time when the entity was archived in ISO format.

  - `description: Optional[str]`

  - `object: Optional[Literal["dataset"]]`

    - `"dataset"`

### Example

```python
import os
from scale_gp_beta import SGPClient

client = SGPClient(
    api_key=os.environ.get("SGP_API_KEY"),  # This is the default and can be omitted
)
dataset = client.datasets.update(
    dataset_id="dataset_id",
    dataset={},
)
print(dataset.id)
```

#### Response

```json
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "current_version_num": 0,
  "name": "name",
  "tags": [
    "string"
  ],
  "archived_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "object": "dataset"
}
```
