> This page is for version 0.7.0.
> For other versions, use one of these documentation indexes:
> - Main (default): https://docs.nvidia.com/nemo/gym/main/llms.txt
> - 0.7.0: https://docs.nvidia.com/nemo/gym/v0.7.0/llms.txt
> - 0.6.0: https://docs.nvidia.com/nemo/gym/v0.6.0/llms.txt
> - 0.5.1: https://docs.nvidia.com/nemo/gym/v0.5.1/llms.txt
> - 0.5.0: https://docs.nvidia.com/nemo/gym/v0.5.0/llms.txt
> - 0.4.0: https://docs.nvidia.com/nemo/gym/v0.4.0/llms.txt
> - 0.3.0: https://docs.nvidia.com/nemo/gym/v0.3.0/llms.txt
> - 0.2.1: https://docs.nvidia.com/nemo/gym/v0.2.1/llms.txt

> 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.

# nemo_gym.web.resource_config

Backend-neutral configuration for stateful web resource servers.

## Module Contents

### Classes

| Name                                                                                 | Description                                               |
| ------------------------------------------------------------------------------------ | --------------------------------------------------------- |
| [`WebResourcesServerConfig`](#nemo_gym-web-resource_config-WebResourcesServerConfig) | Configuration shared by stateful visual-browser backends. |

### API

```python
class nemo_gym.web.resource_config.WebResourcesServerConfig()
```

**Bases:** [BaseResourcesServerConfig](/nemo/gym/nemo-gym/nemo_gym/server_runtime/base_resources_server#nemo_gym-server_runtime-base_resources_server-BaseResourcesServerConfig)

Configuration shared by stateful visual-browser backends.

**`allowed_benchmarks`** `list[WebBenchmark]`

---

**`artifact_dir`** `str = 'cache/web/artifacts'`

---

**`auth_token_env`** `str = 'VISUAL_BROWSER_RESOURCES_TOKEN'`

---

**`browser_acquire_timeout_seconds`** `float = Field(default=300.0, gt=0.0)`

---

**`browser_heartbeat_failure_limit`** `int = Field(default=3, ge=1, le=20)`

---

**`browser_heartbeat_interval_seconds`** `float = Field(default=60.0, ge=5.0)`

---

**`browser_heartbeat_timeout_seconds`** `float = Field(default=30.0, gt=0.0)`

---

**`browser_lease_ttl_seconds`** `int = Field(default=900, ge=60)`

---

**`browser_release_timeout_seconds`** `float = Field(default=60.0, gt=0.0)`

---

**`browser_session_options`** `dict[str, Any] = Field(default_factory=dict)`

---

**`browser_session_provider`** `dict[str, dict[str, Any]]`

---

**`inline_screenshots`** `bool = True`

---

**`max_evidence_screenshots`** `int = Field(default=3, ge=1, le=20)`

---

**`max_sessions`** `int = Field(default=1, ge=1)`

---

**`max_sessions_per_site`** `int = Field(default=4, ge=1)`

---

**`reaper_interval_seconds`** `int = Field(default=60, ge=5)`

---

**`require_auth`** `bool = False`

---

**`session_ttl_seconds`** `int = Field(default=3600, ge=60)`

---

**`site_pool_mode`** `Literal['unmanaged', 'local_locks', 'site_limits'] = 'unmanaged'`

---

```python
nemo_gym.web.resource_config.WebResourcesServerConfig.auth_token() -> str
```

```python
nemo_gym.web.resource_config.WebResourcesServerConfig.resolved_artifact_dir() -> str
```

```python
nemo_gym.web.resource_config.WebResourcesServerConfig.validate_stateful_server() -> 'WebResourcesServerConfig'
```