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

# nemo_gym.orchestration.api

## Module Contents

### Classes

| Name                                                                           | Description                                                                |
| ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |
| [`BaseComputeConfig`](#nemo_gym-orchestration-api-BaseComputeConfig)           | -                                                                          |
| [`BaseModelServiceConfig`](#nemo_gym-orchestration-api-BaseModelServiceConfig) | Base for services that serve a model and can be wired as the policy model. |
| [`BaseServiceConfig`](#nemo_gym-orchestration-api-BaseServiceConfig)           | -                                                                          |
| [`BenchmarkRunConfig`](#nemo_gym-orchestration-api-BenchmarkRunConfig)         | -                                                                          |
| [`DriverConfig`](#nemo_gym-orchestration-api-DriverConfig)                     | -                                                                          |
| [`GymInstallConfig`](#nemo_gym-orchestration-api-GymInstallConfig)             | -                                                                          |
| [`HealthCheckConfig`](#nemo_gym-orchestration-api-HealthCheckConfig)           | -                                                                          |
| [`JobConfig`](#nemo_gym-orchestration-api-JobConfig)                           | -                                                                          |
| [`NodePool`](#nemo_gym-orchestration-api-NodePool)                             | -                                                                          |
| [`RayServiceConfig`](#nemo_gym-orchestration-api-RayServiceConfig)             | -                                                                          |
| [`SlurmComputeConfig`](#nemo_gym-orchestration-api-SlurmComputeConfig)         | -                                                                          |
| [`SubmitConfig`](#nemo_gym-orchestration-api-SubmitConfig)                     | -                                                                          |
| [`VllmServiceConfig`](#nemo_gym-orchestration-api-VllmServiceConfig)           | -                                                                          |
| [`_StrictModel`](#nemo_gym-orchestration-api-_StrictModel)                     | -                                                                          |

### Data

[`ComputeConfig`](#nemo_gym-orchestration-api-ComputeConfig)

[`ServiceConfig`](#nemo_gym-orchestration-api-ServiceConfig)

### API

```python
class nemo_gym.orchestration.api.BaseComputeConfig()
```

**Bases:** [\_StrictModel](#nemo_gym-orchestration-api-_StrictModel)

```python
class nemo_gym.orchestration.api.BaseModelServiceConfig()
```

**Bases:** [BaseServiceConfig](#nemo_gym-orchestration-api-BaseServiceConfig)

Base for services that serve a model and can be wired as the policy model.

**`model`** `str`

---

**`port`** `int = 8000`

---

```python
class nemo_gym.orchestration.api.BaseServiceConfig()
```

**Bases:** [\_StrictModel](#nemo_gym-orchestration-api-_StrictModel)

**`container`** `str`

---

**`env`** `dict[str, str] = {}`

---

**`health_check`** `HealthCheckConfig | None = None`

---

**`mounts`** `list[str] = []`

---

**`placement`** `str | None = None`

---

```python
class nemo_gym.orchestration.api.BenchmarkRunConfig()
```

**Bases:** [\_StrictModel](#nemo_gym-orchestration-api-_StrictModel)

**`prepare`** `dict[str, Any] = {}`

---

**`run`** `dict[str, Any] = {}`

---

```python
class nemo_gym.orchestration.api.DriverConfig()
```

**Bases:** [\_StrictModel](#nemo_gym-orchestration-api-_StrictModel)

**`benchmarks`** `dict[str, BenchmarkRunConfig]`

---

**`container`** `str = 'python:3.12'`

---

**`env`** `dict[str, str] = {}`

---

**`gym_install`** `GymInstallConfig | None = None`

---

**`mounts`** `list[str] = []`

---

**`policy_model`** `str | None = None`

---

```python
class nemo_gym.orchestration.api.GymInstallConfig()
```

**Bases:** [\_StrictModel](#nemo_gym-orchestration-api-_StrictModel)

**`ref`** `str`

---

**`repo`** `str = 'https://github.com/NVIDIA-NeMo/gym'`

---

```python
class nemo_gym.orchestration.api.HealthCheckConfig()
```

**Bases:** [\_StrictModel](#nemo_gym-orchestration-api-_StrictModel)

**`path`** `str = '/health'`

---

**`port`** `int | None = None`

---

**`timeout_seconds`** `int = 60`

---

```python
class nemo_gym.orchestration.api.JobConfig()
```

**Bases:** [\_StrictModel](#nemo_gym-orchestration-api-_StrictModel)

**`output_path`** `str`

---

```python
class nemo_gym.orchestration.api.NodePool()
```

**Bases:** [\_StrictModel](#nemo_gym-orchestration-api-_StrictModel)

**`extra_args`** `dict[str, str] = {}`

---

**`gpus_per_node`** `int | None = None`

---

**`nodes`** `int = 1`

---

**`ntasks_per_node`** `int = 1`

---

**`partition`** `str`

---

```python
class nemo_gym.orchestration.api.RayServiceConfig()
```

**Bases:** [BaseServiceConfig](#nemo_gym-orchestration-api-BaseServiceConfig)

**`type`** `Literal['ray']`

---

```python
class nemo_gym.orchestration.api.SlurmComputeConfig()
```

**Bases:** [BaseComputeConfig](#nemo_gym-orchestration-api-BaseComputeConfig)

**`account`** `str`

---

**`extra_args`** `dict[str, str] = {}`

---

**`hostname`** `str | None = None`

---

**`node_pools`** `dict[str, NodePool] = {}`

---

**`type`** `Literal['slurm']`

---

**`walltime`** `str | None = None`

---

```python
class nemo_gym.orchestration.api.SubmitConfig()
```

**Bases:** [\_StrictModel](#nemo_gym-orchestration-api-_StrictModel)

**`compute`** `dict[str, ComputeConfig]`

---

**`driver`** `DriverConfig`

---

**`job`** `JobConfig`

---

**`services`** `dict[str, ServiceConfig]`

---

```python
nemo_gym.orchestration.api.SubmitConfig._resolve_and_validate_placements() -> nemo_gym.orchestration.api.SubmitConfig
```

```python
class nemo_gym.orchestration.api.VllmServiceConfig()
```

**Bases:** [BaseModelServiceConfig](#nemo_gym-orchestration-api-BaseModelServiceConfig)

**`pipeline_parallel_size`** `int = 1`

---

**`tensor_parallel_size`** `int = 1`

---

**`trust_remote_code`** `bool = False`

---

**`type`** `Literal['vllm']`

---

```python
nemo_gym.orchestration.api.VllmServiceConfig._default_health_check() -> nemo_gym.orchestration.api.VllmServiceConfig
```

```python
class nemo_gym.orchestration.api._StrictModel()
```

**Bases:** `BaseModel`

**`model_config`** `= ConfigDict(extra='forbid')`

---

```python
nemo_gym.orchestration.api.ComputeConfig = Annotated[Annotated[SlurmComputeConfig, Tag('slurm')], Discriminator('type')]
```

```python
nemo_gym.orchestration.api.ServiceConfig = Annotated[Annotated[VllmServiceConfig, Tag('vllm')] | Annotated[RayServiceConfig...
```