API ReferenceFull Library ReferenceNemo GymNemo GymSandbox
nemo_gym.sandbox.api
nemo_gym.sandbox.api
Provider-neutral public sandbox API.
Module Contents
Classes
| Name | Description |
|---|---|
AsyncSandbox | Async sandbox object backed by a runtime provider. |
Sandbox | Synchronous wrapper around AsyncSandbox. |
_AsyncLoopRunner | Run async sandbox operations for sync callers. |
Data
API
class nemo_gym.sandbox.api.AsyncSandbox( provider: collections.abc.Mapping[str, typing.Any] | nemo_gym.sandbox.providers.SandboxProvider, spec: nemo_gym.sandbox.providers.SandboxSpec | None = None )
Async sandbox object backed by a runtime provider.
_handle
SandboxHandle | None = None
_provider
nemo_gym.sandbox.api.AsyncSandbox.__aenter__() -> nemo_gym.sandbox.api.AsyncSandbox
async
nemo_gym.sandbox.api.AsyncSandbox.__aexit__( exc_type: typing.Any, exc_val: typing.Any, exc_tb: typing.Any ) -> None
async
nemo_gym.sandbox.api.AsyncSandbox._require_handle() -> nemo_gym.sandbox.providers.SandboxHandle
nemo_gym.sandbox.api.AsyncSandbox.download( remote_path: str, local_path: pathlib.Path | str ) -> None
async
nemo_gym.sandbox.api.AsyncSandbox.exec( command: str, cwd: str | None = None, env: dict[str, str] | None = None, timeout_s: int | float | None = 180, user: str | int | None = None ) -> nemo_gym.sandbox.providers.SandboxExecResult
async
nemo_gym.sandbox.api.AsyncSandbox.start( spec: nemo_gym.sandbox.providers.SandboxSpec | None = None ) -> nemo_gym.sandbox.api.AsyncSandbox
async
nemo_gym.sandbox.api.AsyncSandbox.status() -> nemo_gym.sandbox.providers.SandboxStatus
async
nemo_gym.sandbox.api.AsyncSandbox.stop() -> None
async
nemo_gym.sandbox.api.AsyncSandbox.upload( local_path: pathlib.Path | str, remote_path: str ) -> None
async
class nemo_gym.sandbox.api.Sandbox( provider: collections.abc.Mapping[str, typing.Any] | nemo_gym.sandbox.providers.SandboxProvider, spec: nemo_gym.sandbox.providers.SandboxSpec | None = None )
Synchronous wrapper around AsyncSandbox.
_async_sandbox
_runner
= _AsyncLoopRunner()
nemo_gym.sandbox.api.Sandbox.__del__() -> None
nemo_gym.sandbox.api.Sandbox.__enter__() -> nemo_gym.sandbox.api.Sandbox
nemo_gym.sandbox.api.Sandbox.__exit__( exc_type: typing.Any, exc_val: typing.Any, exc_tb: typing.Any ) -> None
nemo_gym.sandbox.api.Sandbox.download( remote_path: str, local_path: pathlib.Path | str ) -> None
nemo_gym.sandbox.api.Sandbox.exec( command: str, cwd: str | None = None, env: dict[str, str] | None = None, timeout_s: int | float | None = 180, user: str | int | None = None ) -> nemo_gym.sandbox.providers.SandboxExecResult
nemo_gym.sandbox.api.Sandbox.start( spec: nemo_gym.sandbox.providers.SandboxSpec | None = None ) -> nemo_gym.sandbox.api.Sandbox
nemo_gym.sandbox.api.Sandbox.status() -> nemo_gym.sandbox.providers.SandboxStatus
nemo_gym.sandbox.api.Sandbox.stop() -> None
nemo_gym.sandbox.api.Sandbox.upload( local_path: pathlib.Path | str, remote_path: str ) -> None
class nemo_gym.sandbox.api._AsyncLoopRunner( wait_timeout_s: float = SYNC_OPERATION_TIMEOUT_S, close_timeout_s: float = SYNC_LOOP_CLOSE_TIMEOUT_S )
Run async sandbox operations for sync callers.
_loop
= asyncio.new_event_loop()
_ready
= threading.Event()
_thread
nemo_gym.sandbox.api._AsyncLoopRunner._ensure_can_block( operation: str ) -> None
nemo_gym.sandbox.api._AsyncLoopRunner._run_loop() -> None
nemo_gym.sandbox.api._AsyncLoopRunner._wait_for_result( operation: str, future: concurrent.futures.Future[nemo_gym.sandbox.api.T] ) -> nemo_gym.sandbox.api.T
nemo_gym.sandbox.api._AsyncLoopRunner.call( operation: str, func: collections.abc.Callable[[], nemo_gym.sandbox.api.T] ) -> nemo_gym.sandbox.api.T
nemo_gym.sandbox.api._AsyncLoopRunner.close() -> None
nemo_gym.sandbox.api._AsyncLoopRunner.run( operation: str, awaitable_factory: collections.abc.Callable[[], collections.abc.Awaitable[nemo_gym.sandbox.api.T]] ) -> nemo_gym.sandbox.api.T
nemo_gym.sandbox.api.SYNC_LOOP_CLOSE_TIMEOUT_S = 5.0
nemo_gym.sandbox.api.SYNC_OPERATION_TIMEOUT_S = 3600.0
nemo_gym.sandbox.api.T = TypeVar('T')