> 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.sandbox.providers.daytona.provider

Daytona provider implementation.

## Module Contents

### Classes

| Name                                                                                                            | Description                                                                     |
| --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| [`DaytonaBatchConfig`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaBatchConfig)                         | Client-side batch fanout settings.                                              |
| [`DaytonaConfigBase`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaConfigBase)                           | Shared dataclass construction for Daytona provider config blocks.               |
| [`DaytonaConnectionConfig`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaConnectionConfig)               | Daytona API client connection settings.                                         |
| [`DaytonaCreateConfig`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaCreateConfig)                       | Daytona sandbox creation settings.                                              |
| [`DaytonaCreateError`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaCreateError)                         | Raised when Daytona cannot create a sandbox.                                    |
| [`DaytonaCreateTimeoutError`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaCreateTimeoutError)           | Raised when Daytona sandbox creation exceeds the client timeout.                |
| [`DaytonaCreateVerificationError`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaCreateVerificationError) | Raised when a newly-created Daytona sandbox cannot execute a probe command.     |
| [`DaytonaOperationConfig`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaOperationConfig)                 | Retry and timeout settings for Daytona operations after create.                 |
| [`DaytonaProbeConfig`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaProbeConfig)                         | Post-create probe settings.                                                     |
| [`DaytonaProvider`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaProvider)                               | Provider backed by the Daytona Python SDK.                                      |
| [`DaytonaProviderOptions`](#nemo_gym-sandbox-providers-daytona-provider-DaytonaProviderOptions)                 | Recognized per-sandbox create options read from `SandboxSpec.provider_options`. |

### Functions

| Name                                                                                                                        | Description |
| --------------------------------------------------------------------------------------------------------------------------- | ----------- |
| [`_coerce_bool`](#nemo_gym-sandbox-providers-daytona-provider-_coerce_bool)                                                 | -           |
| [`_coerce_int`](#nemo_gym-sandbox-providers-daytona-provider-_coerce_int)                                                   | -           |
| [`_configured_or_extension`](#nemo_gym-sandbox-providers-daytona-provider-_configured_or_extension)                         | -           |
| [`_daytona_error_types`](#nemo_gym-sandbox-providers-daytona-provider-_daytona_error_types)                                 | -           |
| [`_daytona_exec_error_message`](#nemo_gym-sandbox-providers-daytona-provider-_daytona_exec_error_message)                   | -           |
| [`_daytona_exec_error_result`](#nemo_gym-sandbox-providers-daytona-provider-_daytona_exec_error_result)                     | -           |
| [`_exception_status_code`](#nemo_gym-sandbox-providers-daytona-provider-_exception_status_code)                             | -           |
| [`_extension_value`](#nemo_gym-sandbox-providers-daytona-provider-_extension_value)                                         | -           |
| [`_has_retryable_error_marker`](#nemo_gym-sandbox-providers-daytona-provider-_has_retryable_error_marker)                   | -           |
| [`_is_daytona_command_exec_error`](#nemo_gym-sandbox-providers-daytona-provider-_is_daytona_command_exec_error)             | -           |
| [`_is_empty_daytona_command_exec_error`](#nemo_gym-sandbox-providers-daytona-provider-_is_empty_daytona_command_exec_error) | -           |
| [`_is_missing_sandbox_delete_error`](#nemo_gym-sandbox-providers-daytona-provider-_is_missing_sandbox_delete_error)         | -           |
| [`_is_retryable_create_error`](#nemo_gym-sandbox-providers-daytona-provider-_is_retryable_create_error)                     | -           |
| [`_is_retryable_operation_error`](#nemo_gym-sandbox-providers-daytona-provider-_is_retryable_operation_error)               | -           |
| [`_log_create_retry`](#nemo_gym-sandbox-providers-daytona-provider-_log_create_retry)                                       | -           |
| [`_log_operation_retry`](#nemo_gym-sandbox-providers-daytona-provider-_log_operation_retry)                                 | -           |
| [`_mib_to_gib`](#nemo_gym-sandbox-providers-daytona-provider-_mib_to_gib)                                                   | -           |
| [`_normalize_spec`](#nemo_gym-sandbox-providers-daytona-provider-_normalize_spec)                                           | -           |
| [`_provider_options`](#nemo_gym-sandbox-providers-daytona-provider-_provider_options)                                       | -           |
| [`_quantity_to_int`](#nemo_gym-sandbox-providers-daytona-provider-_quantity_to_int)                                         | -           |
| [`_require_daytona_sdk`](#nemo_gym-sandbox-providers-daytona-provider-_require_daytona_sdk)                                 | -           |
| [`_require_tenacity`](#nemo_gym-sandbox-providers-daytona-provider-_require_tenacity)                                       | -           |
| [`_resources_requested`](#nemo_gym-sandbox-providers-daytona-provider-_resources_requested)                                 | -           |
| [`_spec_extensions`](#nemo_gym-sandbox-providers-daytona-provider-_spec_extensions)                                         | -           |
| [`_spec_snapshot_id`](#nemo_gym-sandbox-providers-daytona-provider-_spec_snapshot_id)                                       | -           |
| [`_spec_volumes`](#nemo_gym-sandbox-providers-daytona-provider-_spec_volumes)                                               | -           |
| [`_string_map`](#nemo_gym-sandbox-providers-daytona-provider-_string_map)                                                   | -           |
| [`_supplied_config_keys`](#nemo_gym-sandbox-providers-daytona-provider-_supplied_config_keys)                               | -           |
| [`_to_resources`](#nemo_gym-sandbox-providers-daytona-provider-_to_resources)                                               | -           |
| [`_to_sandbox_status`](#nemo_gym-sandbox-providers-daytona-provider-_to_sandbox_status)                                     | -           |
| [`_to_volume_mounts`](#nemo_gym-sandbox-providers-daytona-provider-_to_volume_mounts)                                       | -           |

### Data

[`DAYTONA_COMMAND_ERROR_PREFIX`](#nemo_gym-sandbox-providers-daytona-provider-DAYTONA_COMMAND_ERROR_PREFIX)

[`DAYTONA_EXTENSION_PREFIX`](#nemo_gym-sandbox-providers-daytona-provider-DAYTONA_EXTENSION_PREFIX)

[`LOGGER`](#nemo_gym-sandbox-providers-daytona-provider-LOGGER)

[`PROVIDER_OPTION_EXTENSIONS`](#nemo_gym-sandbox-providers-daytona-provider-PROVIDER_OPTION_EXTENSIONS)

[`PROVIDER_OPTION_SNAPSHOT_ID`](#nemo_gym-sandbox-providers-daytona-provider-PROVIDER_OPTION_SNAPSHOT_ID)

[`PROVIDER_OPTION_VOLUMES`](#nemo_gym-sandbox-providers-daytona-provider-PROVIDER_OPTION_VOLUMES)

[`RETRYABLE_ERROR_MARKERS`](#nemo_gym-sandbox-providers-daytona-provider-RETRYABLE_ERROR_MARKERS)

[`RETRYABLE_HTTP_STATUS_CODES`](#nemo_gym-sandbox-providers-daytona-provider-RETRYABLE_HTTP_STATUS_CODES)

[`SANDBOX_ID_LABEL`](#nemo_gym-sandbox-providers-daytona-provider-SANDBOX_ID_LABEL)

[`STATUS_CODE_RE`](#nemo_gym-sandbox-providers-daytona-provider-STATUS_CODE_RE)

### API

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaBatchConfig(
    concurrency: int = 4
)
```

Dataclass

**Bases:** [DaytonaConfigBase](#nemo_gym-sandbox-providers-daytona-provider-DaytonaConfigBase)

Client-side batch fanout settings.

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaBatchConfig.__post_init__() -> None
```

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaConfigBase()
```

Shared dataclass construction for Daytona provider config blocks.

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaConfigBase.from_mapping(
    value: typing.Any
) -> typing.Any
```

classmethod

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaConnectionConfig(
    api_key: str | None = None,
    jwt_token: str | None = None,
    organization_id: str | None = None,
    api_url: str | None = None,
    server_url: str | None = None,
    target: str | None = None,
    connection_pool_maxsize: int | None = None,
    otel_enabled: bool | None = None
)
```

Dataclass

**Bases:** [DaytonaConfigBase](#nemo_gym-sandbox-providers-daytona-provider-DaytonaConfigBase)

Daytona API client connection settings.

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaConnectionConfig.__post_init__() -> None
```

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaCreateConfig(
    timeout_s: float = 60.0,
    retries: int = 2,
    retry_delay_s: float = 1.0,
    retry_max_delay_s: float = 30.0,
    language: str | None = None,
    os_user: str | None = None,
    public: bool | None = None,
    auto_stop_interval: int | None = None,
    auto_archive_interval: int | None = None,
    auto_delete_interval: int | None = None,
    ephemeral: bool | None = None,
    network_block_all: bool | None = None,
    network_allow_list: str | None = None
)
```

Dataclass

**Bases:** [DaytonaConfigBase](#nemo_gym-sandbox-providers-daytona-provider-DaytonaConfigBase)

Daytona sandbox creation settings.

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaCreateConfig.__post_init__() -> None
```

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaCreateError()
```

**Bases:** [SandboxCreateError](/nemo-gym/nemo_gym/sandbox/providers/base#nemo_gym-sandbox-providers-base-SandboxCreateError)

Raised when Daytona cannot create a sandbox.

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaCreateTimeoutError()
```

**Bases:** [DaytonaCreateError](#nemo_gym-sandbox-providers-daytona-provider-DaytonaCreateError)

Raised when Daytona sandbox creation exceeds the client timeout.

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaCreateVerificationError()
```

**Bases:** [SandboxCreateVerificationError](/nemo-gym/nemo_gym/sandbox/providers/base#nemo_gym-sandbox-providers-base-SandboxCreateVerificationError)

Raised when a newly-created Daytona sandbox cannot execute a probe command.

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaOperationConfig(
    retries: int = 3,
    retry_delay_s: float = 1.0,
    retry_max_delay_s: float = 15.0,
    command_retries: int = 0,
    command_timeout_margin_s: float = 60.0,
    file_timeout_s: int | None = 30 * 60,
    close_timeout_s: float | None = 60.0
)
```

Dataclass

**Bases:** [DaytonaConfigBase](#nemo_gym-sandbox-providers-daytona-provider-DaytonaConfigBase)

Retry and timeout settings for Daytona operations after create.

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaOperationConfig.__post_init__() -> None
```

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaProbeConfig(
    command: str | None = 'printf nemo-rl-sandbox-ready',
    expected_stdout: str | None = 'nemo-rl-sandbox-ready',
    timeout_s: int = 30,
    deadline_s: float | None = None
)
```

Dataclass

**Bases:** [DaytonaConfigBase](#nemo_gym-sandbox-providers-daytona-provider-DaytonaConfigBase)

Post-create probe settings.

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProbeConfig.__post_init__() -> None
```

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider(
    connection: nemo_gym.sandbox.providers.daytona.provider.DaytonaConnectionConfig | collections.abc.Mapping[str, typing.Any] | None = None,
    create: nemo_gym.sandbox.providers.daytona.provider.DaytonaCreateConfig | collections.abc.Mapping[str, typing.Any] | None = None,
    probe: nemo_gym.sandbox.providers.daytona.provider.DaytonaProbeConfig | collections.abc.Mapping[str, typing.Any] | None = None,
    operations: nemo_gym.sandbox.providers.daytona.provider.DaytonaOperationConfig | collections.abc.Mapping[str, typing.Any] | None = None,
    batch: nemo_gym.sandbox.providers.daytona.provider.DaytonaBatchConfig | collections.abc.Mapping[str, typing.Any] | None = None
)
```

Provider backed by the Daytona Python SDK.

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._await_operation(
    operation_factory: typing.Callable[[], typing.Awaitable[typing.Any]],
    operation: str,
    sandbox_id: str,
    timeout_s: float | None,
    retries: int | None = None
) -> typing.Any
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._base_create_kwargs(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> dict[str, typing.Any]
```

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._client() -> typing.Any
```

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._command_retry_count() -> int
```

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._create_once(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> nemo_gym.sandbox.providers.base.SandboxHandle
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._create_with_retries(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> nemo_gym.sandbox.providers.base.SandboxHandle
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._effective_command(
    command: str,
    user: str | int | None
) -> str
```

staticmethod

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._exec(
    handle: nemo_gym.sandbox.providers.base.SandboxHandle,
    command: str,
    cwd: str | None = None,
    env: dict[str, str] | None = None,
    timeout_s: int | None = None,
    user: str | int | None = None,
    retries: int | None = None
) -> nemo_gym.sandbox.providers.base.SandboxExecResult
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._to_create_params(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> typing.Any | None
```

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._verify_created_handle(
    handle: nemo_gym.sandbox.providers.base.SandboxHandle
) -> None
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider._with_generated_sandbox_id(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> nemo_gym.sandbox.providers.base.SandboxSpec
```

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.aclose() -> None
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.close(
    handle: nemo_gym.sandbox.providers.base.SandboxHandle,
    delete: bool = True
) -> None
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.connect(
    sandbox_id: str
) -> nemo_gym.sandbox.providers.base.SandboxHandle
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.create(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> nemo_gym.sandbox.providers.base.SandboxHandle
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.create_batch(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec,
    count: int,
    allow_partial: bool = False
) -> list[nemo_gym.sandbox.providers.base.SandboxHandle]
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.download_file(
    handle: nemo_gym.sandbox.providers.base.SandboxHandle,
    source_path: str,
    target_path: pathlib.Path
) -> None
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.exec(
    handle: nemo_gym.sandbox.providers.base.SandboxHandle,
    command: str,
    cwd: str | None = None,
    env: dict[str, str] | None = None,
    timeout_s: int | None = None,
    user: str | int | None = None
) -> nemo_gym.sandbox.providers.base.SandboxExecResult
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.read_file(
    handle: nemo_gym.sandbox.providers.base.SandboxHandle,
    source_path: str
) -> bytes
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.status(
    handle: nemo_gym.sandbox.providers.base.SandboxHandle
) -> nemo_gym.sandbox.providers.base.SandboxStatus
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.upload_file(
    handle: nemo_gym.sandbox.providers.base.SandboxHandle,
    source_path: pathlib.Path,
    target_path: str
) -> None
```

async

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProvider.write_file(
    handle: nemo_gym.sandbox.providers.base.SandboxHandle,
    target_path: str,
    data: str | bytes
) -> None
```

async

```python
class nemo_gym.sandbox.providers.daytona.provider.DaytonaProviderOptions(
    extensions: collections.abc.Mapping[str, str] = dict(),
    snapshot_id: str | None = None,
    volumes: tuple[collections.abc.Mapping[str, typing.Any], ...] = ()
)
```

Dataclass

Recognized per-sandbox create options read from `SandboxSpec.provider_options`.

```python
nemo_gym.sandbox.providers.daytona.provider.DaytonaProviderOptions.from_mapping(
    options: collections.abc.Mapping[str, typing.Any] | None
) -> nemo_gym.sandbox.providers.daytona.provider.DaytonaProviderOptions
```

classmethod

```python
nemo_gym.sandbox.providers.daytona.provider._coerce_bool(
    name: str,
    value: typing.Any
) -> bool
```

```python
nemo_gym.sandbox.providers.daytona.provider._coerce_int(
    name: str,
    value: typing.Any
) -> int
```

```python
nemo_gym.sandbox.providers.daytona.provider._configured_or_extension(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec,
    key: str,
    configured: typing.Any
) -> typing.Any
```

```python
nemo_gym.sandbox.providers.daytona.provider._daytona_error_types() -> dict[str, type[BaseException]]
```

```python
nemo_gym.sandbox.providers.daytona.provider._daytona_exec_error_message(
    exception: BaseException
) -> str
```

```python
nemo_gym.sandbox.providers.daytona.provider._daytona_exec_error_result(
    exception: BaseException
) -> nemo_gym.sandbox.providers.base.SandboxExecResult
```

```python
nemo_gym.sandbox.providers.daytona.provider._exception_status_code(
    exception: BaseException
) -> int | None
```

```python
nemo_gym.sandbox.providers.daytona.provider._extension_value(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec,
    key: str
) -> str | None
```

```python
nemo_gym.sandbox.providers.daytona.provider._has_retryable_error_marker(
    exception: BaseException
) -> bool
```

```python
nemo_gym.sandbox.providers.daytona.provider._is_daytona_command_exec_error(
    exception: BaseException
) -> bool
```

```python
nemo_gym.sandbox.providers.daytona.provider._is_empty_daytona_command_exec_error(
    exception: BaseException
) -> bool
```

```python
nemo_gym.sandbox.providers.daytona.provider._is_missing_sandbox_delete_error(
    exception: BaseException
) -> bool
```

```python
nemo_gym.sandbox.providers.daytona.provider._is_retryable_create_error(
    exception: BaseException
) -> bool
```

```python
nemo_gym.sandbox.providers.daytona.provider._is_retryable_operation_error(
    exception: BaseException
) -> bool
```

```python
nemo_gym.sandbox.providers.daytona.provider._log_create_retry(
    retry_state: typing.Any
) -> None
```

```python
nemo_gym.sandbox.providers.daytona.provider._log_operation_retry(
    retry_state: typing.Any
) -> None
```

```python
nemo_gym.sandbox.providers.daytona.provider._mib_to_gib(
    name: str,
    value: typing.Any
) -> int
```

```python
nemo_gym.sandbox.providers.daytona.provider._normalize_spec(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> nemo_gym.sandbox.providers.base.SandboxSpec
```

```python
nemo_gym.sandbox.providers.daytona.provider._provider_options(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> nemo_gym.sandbox.providers.daytona.provider.DaytonaProviderOptions
```

```python
nemo_gym.sandbox.providers.daytona.provider._quantity_to_int(
    name: str,
    value: typing.Any
) -> int
```

```python
nemo_gym.sandbox.providers.daytona.provider._require_daytona_sdk() -> tuple[typing.Any, typing.Any, typing.Any, typing.Any, typing.Any, typing.Any]
```

```python
nemo_gym.sandbox.providers.daytona.provider._require_tenacity() -> tuple[typing.Any, typing.Any, typing.Any, typing.Any]
```

```python
nemo_gym.sandbox.providers.daytona.provider._resources_requested(
    resources: nemo_gym.sandbox.providers.base.SandboxResources | collections.abc.Mapping[str, typing.Any]
) -> bool
```

```python
nemo_gym.sandbox.providers.daytona.provider._spec_extensions(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> dict[str, str]
```

```python
nemo_gym.sandbox.providers.daytona.provider._spec_snapshot_id(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> str | None
```

```python
nemo_gym.sandbox.providers.daytona.provider._spec_volumes(
    spec: nemo_gym.sandbox.providers.base.SandboxSpec
) -> list[dict[str, typing.Any]] | None
```

```python
nemo_gym.sandbox.providers.daytona.provider._string_map(
    values: dict[str, typing.Any]
) -> dict[str, str]
```

```python
nemo_gym.sandbox.providers.daytona.provider._supplied_config_keys(
    value: typing.Any,
    config_cls: type[typing.Any]
) -> set[str]
```

```python
nemo_gym.sandbox.providers.daytona.provider._to_resources(
    resources: nemo_gym.sandbox.providers.base.SandboxResources | collections.abc.Mapping[str, typing.Any]
) -> typing.Any | None
```

```python
nemo_gym.sandbox.providers.daytona.provider._to_sandbox_status(
    value: typing.Any
) -> nemo_gym.sandbox.providers.base.SandboxStatus
```

```python
nemo_gym.sandbox.providers.daytona.provider._to_volume_mounts(
    volumes: list[dict[str, typing.Any]]
) -> list[typing.Any]
```

```python
nemo_gym.sandbox.providers.daytona.provider.DAYTONA_COMMAND_ERROR_PREFIX = 'Failed to execute command:'
```

```python
nemo_gym.sandbox.providers.daytona.provider.DAYTONA_EXTENSION_PREFIX = 'daytona.'
```

```python
nemo_gym.sandbox.providers.daytona.provider.LOGGER = logging.getLogger(__name__)
```

```python
nemo_gym.sandbox.providers.daytona.provider.PROVIDER_OPTION_EXTENSIONS = 'extensions'
```

```python
nemo_gym.sandbox.providers.daytona.provider.PROVIDER_OPTION_SNAPSHOT_ID = 'snapshot_id'
```

```python
nemo_gym.sandbox.providers.daytona.provider.PROVIDER_OPTION_VOLUMES = 'volumes'
```

```python
nemo_gym.sandbox.providers.daytona.provider.RETRYABLE_ERROR_MARKERS = ('connection refused', 'connection reset', 'gateway timeout', 'http 408', 'http ...
```

```python
nemo_gym.sandbox.providers.daytona.provider.RETRYABLE_HTTP_STATUS_CODES = {408, 409, 425, 429, 500, 502, 503, 504}
```

```python
nemo_gym.sandbox.providers.daytona.provider.SANDBOX_ID_LABEL = 'sandbox_id'
```

```python
nemo_gym.sandbox.providers.daytona.provider.STATUS_CODE_RE = re.compile('(?:status code|http)\\D+(\\d{3})', re.IGNORECASE)
```