> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/dsx-air/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/dsx-air/_mcp/server.

# air_sdk.endpoints.marketplace_demos

Stub file for marketplace demos endpoint type hints.

## Classes

| Name                                                                                         | Description                                             |
| -------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| [`MarketplaceDemo`](#air_sdkendpointsmarketplace_demosmarketplacedemo)                       | Marketplace demo model representing a marketplace demo. |
| [`MarketplaceDemoEndpointAPI`](#air_sdkendpointsmarketplace_demosmarketplacedemoendpointapi) | API client for marketplace demo endpoints.              |

## Module Contents

```python
class air_sdk.endpoints.marketplace_demos.MarketplaceDemo
```

**Bases**: `air_sdk.air_model.AirModel`

Marketplace demo model representing a marketplace demo.

```python
id: str
```

Unique identifier for the marketplace demo

```python
name: str
```

Human-readable name of the marketplace demo

```python
demo: Simulation
```

Demo simulation to be used as a base for cloned simulations.

```python
created: datetime.datetime
```

Timestamp when the marketplace demo was created

```python
modified: datetime.datetime
```

Timestamp when the marketplace demo was last modified

```python
creator: str
```

The creator of the marketplace demo

```python
documentation: str | None
```

The documentation of the marketplace demo

```python
tags: list[str]
```

The tags of the marketplace demo

```python
like_count: int
```

How many unique users have liked the marketplace demo

```python
liked_by_client: bool
```

Whether the current user has liked the marketplace demo

```python
published: bool
```

Whether the marketplace demo is published

```python
description: str | None
```

The description of the demo

```python
repo: str | None
```

The repository of the marketplace demo

```python
icon: str | None
```

The icon of the marketplace demo

```python
get_model_api() -> type[MarketplaceDemoEndpointAPI]
```

```python
model_api: MarketplaceDemoEndpointAPI
```

```python
update(
    *,
    name: str | dataclasses._MISSING_TYPE = ...,
    description: str | None | dataclasses._MISSING_TYPE = ...,
    documentation: str | None | dataclasses._MISSING_TYPE = ...,
    repo: str | None | dataclasses._MISSING_TYPE = ...,
    tags: list[str] | dataclasses._MISSING_TYPE = ...,
    icon: str | None | dataclasses._MISSING_TYPE = ...
) -> MarketplaceDemo
```

Update the marketplace demo's properties.

**Parameters:**

* `name` – New name for the marketplace demo
* `description` – Description of the marketplace demo
* `documentation` – Documentation of the marketplace demo
* `repo` – Repository of the marketplace demo
* `tags` – Tags of the marketplace demo
* `icon` – Icon of the marketplace demo

**Returns:**

The updated MarketplaceDemo instance

**Example:**

```python
>>> marketplace_demo.update(name='New Name', description='New Desc')
>>> print(marketplace_demo.name)
```

```python
publish(**kwargs: Any) -> None
```

Publish the marketplace demo.

**Example:**

```python
>>> marketplace_demo.publish()
```

```python
unpublish(**kwargs: Any) -> None
```

Unpublish the marketplace demo.

**Example:**

```python
>>> marketplace_demo.unpublish()
```

```python
provision(**kwargs: Any) -> Simulation
```

Provision a simulation from this marketplace demo.

**Returns:**

The newly created simulation instance.

**Example:**

```python
>>> simulation = marketplace_demo.provision()
>>> print(simulation.name)
```

```python
class air_sdk.endpoints.marketplace_demos.MarketplaceDemoEndpointAPI
```

**Bases**: `air_sdk.air_model.BaseEndpointAPI[air_sdk.endpoints.marketplace_demos.MarketplaceDemo]`

API client for marketplace demo endpoints.

```python
API_PATH: str
```

```python
model: type[MarketplaceDemo]
```

```python
create(
    *,
    name: str,
    simulation: str,
    description: str | None | dataclasses._MISSING_TYPE = ...,
    documentation: str | None | dataclasses._MISSING_TYPE = ...,
    repo: str | None | dataclasses._MISSING_TYPE = ...,
    tags: list[str] | dataclasses._MISSING_TYPE = ...,
    icon: str | None | dataclasses._MISSING_TYPE = ...,
    checkpoint: str | None | dataclasses._MISSING_TYPE = ...
) -> MarketplaceDemo
```

Create a new marketplace demo.

**Parameters:**

* `name` – Name for the new marketplace demo
* `simulation` – Simulation to be used to provision the marketplace demo
* `description` – Description of the marketplace demo
* `documentation` – Documentation of the marketplace demo
* `repo` – Repository of the marketplace demo
* `tags` – Tags of the marketplace demo
* `icon` – Icon of the marketplace demo
* `checkpoint` – A COMPLETE checkpoint to clone from. Provided checkpoint must belong to the simulation. If not specified, latest COMPLETE checkpoint will be used.

**Returns:**

The created MarketplaceDemo instance

**Example:**

```python
>>> marketplace_demo = api.marketplace_demos.create(
...     name='My Marketplace Demo',
...     simulation='sim-id',
...     description='My Demo Description',
...     documentation='My Demo Documentation',
...     repo='My Demo Repo',
...     tags=['networking', 'sonic'],
... )
```

```python
delete(pk: PrimaryKey) -> None
```

Delete a marketplace demo.

**Parameters:**

* `pk` – The marketplace demo ID (string or UUID)

**Example:**

```python
>>> api.marketplace_demos.delete('marketplace-demo-id')
```

```python
list(
    *,
    creator: str | dataclasses._MISSING_TYPE = ...,
    published: bool | dataclasses._MISSING_TYPE = ...,
    tags: list[str] | dataclasses._MISSING_TYPE = ...,
    search: str | dataclasses._MISSING_TYPE = ...,
    ordering: str | dataclasses._MISSING_TYPE = ...,
    liked_by_client: bool | dataclasses._MISSING_TYPE = ...,
    limit: int | dataclasses._MISSING_TYPE = ...,
    offset: int | dataclasses._MISSING_TYPE = ...
) -> Iterator[MarketplaceDemo]
```

List all marketplace demos.

Optional parameters:
creator: Filter by creator email
published: Filter by published status
tags: Filter by tags
search: Search term to filter demos
ordering: Order the response by the specified field
liked\_by\_client: Filter by liked by client status
limit: Number of results to return per page
offset: The initial index from which to return the results

**Returns:**

Iterator of MarketplaceDemo instances

**Example:**

```python
>>> # List all demos
>>> for demo in api.marketplace_demos.list():
...     print(demo.name)
>>> # List with filters
>>> results = list(
...     api.marketplace_demos.list(
...         creator='test@example.com',
...         published=True,
...         tags=['networking'],
...     )
... )
```

```python
get(pk: PrimaryKey) -> MarketplaceDemo
```

Get a specific marketplace demo by ID.

**Parameters:**

* `pk` – The marketplace demo ID (string or UUID)

**Returns:**

The MarketplaceDemo instance

**Example:**

```python
>>> marketplace_demo = api.marketplace_demos.get('marketplace-demo-id')
>>> print(marketplace_demo.name)
```

```python
publish(
    *,
    marketplace_demo: MarketplaceDemo | PrimaryKey,
    **kwargs: Any
) -> None
```

Publish a marketplace demo.

**Parameters:**

* `marketplace_demo` – The marketplace demo to publish (object or ID)

**Returns:**

None

**Example:**

```python
>>> # Using demo object
>>> api.marketplace_demos.publish(marketplace_demo=marketplace_demo)
>>> # Or using ID
>>> api.marketplace_demos.publish(marketplace_demo='marketplace-demo-id')
```

```python
unpublish(
    *,
    marketplace_demo: MarketplaceDemo | PrimaryKey,
    **kwargs: Any
) -> None
```

Unpublish a marketplace demo.

**Parameters:**

* `marketplace_demo` – The marketplace demo to unpublish (object or ID)

**Returns:**

None

**Example:**

```python
>>> api.marketplace_demos.unpublish(marketplace_demo=marketplace_demo)
```

```python
provision(
    *,
    marketplace_demo: MarketplaceDemo | PrimaryKey,
    **kwargs: Any
) -> Simulation
```

Provision a simulation from a marketplace demo.

Creates a new simulation by cloning the demo simulation.

**Parameters:**

* `marketplace_demo` – The marketplace demo to provision (object or ID)

**Returns:**

The newly created simulation instance.

**Example:**

```python
>>> # Using demo object
>>> marketplace_demo = api.marketplace_demos.get('marketplace-demo-id')
>>> simulation = marketplace_demo.provision()
>>> print(simulation.id)
>>> # Or using API directly with ID
>>> demo_id = 'marketplace-demo-id'
>>> simulation = api.marketplace_demos.provision(marketplace_demo=demo_id)
>>> print(simulation.name)
```