nemo_gym.sandbox.providers.daytona
nemo_gym.sandbox.providers.daytona
This page is for version 0.3.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
Daytona provider package.
Submodules
Package Contents
Classes
| Name | Description |
|---|---|
DaytonaBatchConfig | Client-side batch fanout settings. |
DaytonaConnectionConfig | Daytona API client connection settings. |
DaytonaCreateConfig | Daytona sandbox creation settings. |
DaytonaCreateError | Raised when Daytona cannot create a sandbox. |
DaytonaCreateTimeoutError | Raised when Daytona sandbox creation exceeds the client timeout. |
DaytonaOperationConfig | Retry and timeout settings for Daytona operations after create. |
DaytonaProbeConfig | Post-create probe settings. |
DaytonaProvider | Provider backed by the Daytona Python SDK. |
DaytonaProviderOptions | Recognized per-sandbox create options read from SandboxSpec.provider_options. |
API
class nemo_gym.sandbox.providers.daytona.DaytonaBatchConfig(concurrency: int = 4)
Dataclass
Bases: DaytonaConfigBase
Client-side batch fanout settings.
concurrency
int = 4
nemo_gym.sandbox.providers.daytona.DaytonaBatchConfig.__post_init__() -> None
class nemo_gym.sandbox.providers.daytona.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
Daytona API client connection settings.
api_key
str | None = None
api_url
str | None = None
connection_pool_maxsize
int | None = None
jwt_token
str | None = None
organization_id
str | None = None
otel_enabled
bool | None = None
server_url
str | None = None
target
str | None = None
nemo_gym.sandbox.providers.daytona.DaytonaConnectionConfig.__post_init__() -> None
class nemo_gym.sandbox.providers.daytona.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
Daytona sandbox creation settings.
auto_archive_interval
int | None = None
auto_delete_interval
int | None = None
auto_stop_interval
int | None = None
ephemeral
bool | None = None
language
str | None = None
network_allow_list
str | None = None
network_block_all
bool | None = None
os_user
str | None = None
public
bool | None = None
retries
int = 2
retry_delay_s
float = 1.0
retry_max_delay_s
float = 30.0
timeout_s
float = 60.0
nemo_gym.sandbox.providers.daytona.DaytonaCreateConfig.__post_init__() -> None
class nemo_gym.sandbox.providers.daytona.DaytonaCreateError()
Bases: SandboxCreateError
Raised when Daytona cannot create a sandbox.
class nemo_gym.sandbox.providers.daytona.DaytonaCreateTimeoutError()
Bases: DaytonaCreateError
Raised when Daytona sandbox creation exceeds the client timeout.
class nemo_gym.sandbox.providers.daytona.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
Retry and timeout settings for Daytona operations after create.
close_timeout_s
float | None = 60.0
command_retries
int = 0
command_timeout_margin_s
float = 60.0
file_timeout_s
int | None = 30 * 60
retries
int = 3
retry_delay_s
float = 1.0
retry_max_delay_s
float = 15.0
nemo_gym.sandbox.providers.daytona.DaytonaOperationConfig.__post_init__() -> None
class nemo_gym.sandbox.providers.daytona.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
Post-create probe settings.
command
str | None = 'printf nemo-rl-sandbox-ready'
deadline_s
float | None = None
expected_stdout
str | None = 'nemo-rl-sandbox-ready'
timeout_s
int = 30
nemo_gym.sandbox.providers.daytona.DaytonaProbeConfig.__post_init__() -> None
class nemo_gym.sandbox.providers.daytona.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.
_batch
= DaytonaBatchConfig.from_mapping(batch)
_connection
= DaytonaConnectionConfig.from_mapping(connection)
_connection_supplied_keys
_create
= DaytonaCreateConfig.from_mapping(create)
_daytona
Any | None = None
_operations
= DaytonaOperationConfig.from_mapping(operations)
_probe
= DaytonaProbeConfig.from_mapping(probe)
name
= 'daytona'
nemo_gym.sandbox.providers.daytona.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
nemo_gym.sandbox.providers.daytona.DaytonaProvider._base_create_kwargs() -> dict[str, typing.Any]
nemo_gym.sandbox.providers.daytona.DaytonaProvider._client() -> typing.Any
nemo_gym.sandbox.providers.daytona.DaytonaProvider._command_retry_count() -> int
nemo_gym.sandbox.providers.daytona.DaytonaProvider._create_once(
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider._create_with_retries(
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider._effective_command(command: str,user: str | int | None) -> str
staticmethod
nemo_gym.sandbox.providers.daytona.DaytonaProvider._exec(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
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider._to_create_params() -> typing.Any | None
nemo_gym.sandbox.providers.daytona.DaytonaProvider._verify_created_handle() -> None
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider._with_generated_sandbox_id(
nemo_gym.sandbox.providers.daytona.DaytonaProvider.aclose() -> None
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider.close(delete: bool = True) -> None
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider.connect(sandbox_id: str
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider.create(
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider.create_batch(count: int,allow_partial: bool = False
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider.download_file(source_path: str,target_path: pathlib.Path) -> None
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider.exec(command: str,cwd: str | None = None,env: dict[str, str] | None = None,timeout_s: int | None = None,user: str | int | None = None
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider.read_file(source_path: str) -> bytes
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider.status(
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider.upload_file(source_path: pathlib.Path,target_path: str) -> None
async
nemo_gym.sandbox.providers.daytona.DaytonaProvider.write_file(target_path: str,data: str | bytes) -> None
async
class nemo_gym.sandbox.providers.daytona.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.
extensions
Mapping[str, str] = field(default_factory=dict)
snapshot_id
str | None = None
volumes
tuple[Mapping[str, Any], ...] = ()
nemo_gym.sandbox.providers.daytona.DaytonaProviderOptions.from_mapping(options: collections.abc.Mapping[str, typing.Any] | None
classmethod