rlmesh.jax.SandboxVectorEnv
Experimental JAX-backed owned sandbox session for vectorized environments.
SandboxVectorEnv(
source: str,
/,
num_envs: int,
*,
vectorization_mode: str | None = None,
build: SandboxBuild | None = None,
runtime: SandboxRuntime | None = None,
connect_timeout_seconds: float = SANDBOX_REMOTE_CONNECT_TIMEOUT_SECONDS,
**params: object,
) -> NoneThe sandbox starts multiple isolated environment instances and exposes them through the same vector client interface as a separately served endpoint.
Parameters
| Name | Type | Description |
|---|---|---|
source | str | A gym id / gym:// / hf:// source built from source, or a prebuilt rlmesh-serving image (docker://img / bare img:tag). |
num_envs | int | Number of environment instances to create. |
vectorization_mode | str | None | Vectorization mode requested inside the sandbox. |
build | SandboxBuild | None | Optional SandboxBuild -- build-from-source infrastructure; ignored for a prebuilt image. |
runtime | SandboxRuntime | None | Optional SandboxRuntime -- docker run settings (gpus / devices / volumes); prebuilt-image source only. |
**params | object | Environment construction params -- the binding forwarded to the factory's make (validated in the container before construction). |
Examples
>>> from rlmesh.jax import SandboxVectorEnv
>>> envs = SandboxVectorEnv("CartPole-v1", num_envs=2)
>>> observations, infos = envs.reset(seed=42)
>>> envs.close()Attributes
- sandbox
- sourceOriginal sandbox source string requested by the caller.
- num_envsNumber of environment instances served by the endpoint.
- single_observation_spaceObservation space for one environment in the vector.
- single_action_spaceAction space for one environment in the vector.
- observation_spaceAlias for
single_observation_space. - action_spaceAlias for
single_action_space. - addressEndpoint address this client is connected to.
- env_idThis connection's container id (UUIDv7).
- selected_workflow_editionThe workflow edition this connection negotiated with the env.
- env_contractEnvironment contract returned by the endpoint handshake.
- render_modeConfigured render mode reported by the endpoint.
- metadataEndpoint metadata reported by the environment contract.
- observation_space_specNative observation space spec reported by the endpoint.
- action_space_specNative action space spec reported by the endpoint.
Methods
- close()Detach the remote client and stop the owned sandbox container.
- reset()Reset all remote environments and decode the observations.
- step()Step all remote environments with a batch of actions.
- render()Render a frame from the remote environment.
- shutdown()Request owner-level shutdown of the remote environment endpoint.
sandbox
attribute[source]sandboxsource
property[source]property source: strOriginal sandbox source string requested by the caller.
close
function[source]close() -> NoneDetach the remote client and stop the owned sandbox container.
num_envs
property[source]property num_envs: intNumber of environment instances served by the endpoint.
single_observation_space
property[source]property single_observation_space: Space[ValueT]Observation space for one environment in the vector.
single_action_space
property[source]property single_action_space: Space[ActionT]Action space for one environment in the vector.
observation_space
property[source]property observation_space: Space[ValueT]Alias for single_observation_space.
action_space
property[source]property action_space: Space[ActionT]Alias for single_action_space.
reset
function[source]reset(
*,
seed: int | list[int] | None = None,
options: dict[str, object] | None = None,
) -> tuple[ValueT, ResetInfo]Reset all remote environments and decode the observations.
Parameters
| Name | Type | Description |
|---|---|---|
seed | int | list[int] | None | Optional seed or per-environment seed list. |
options | dict[str, object] | None | Optional reset options forwarded to the vector environment. |
Returns
| Type | Description |
|---|---|
tuple[ValueT, ResetInfo] | Batched decoded observations and reset info dictionary. |
step
function[source]step(
actions: ActionT,
) -> tuple[ValueT, ValueT, ValueT, ValueT, StepInfo]Step all remote environments with a batch of actions.
Parameters
| Name | Type | Description |
|---|---|---|
actions | ActionT | Batched actions accepted by the vector endpoint. |
Returns
| Type | Description |
|---|---|
tuple[ValueT, ValueT, ValueT, ValueT, StepInfo] | Batched observations, rewards, terminations, truncations, and info. |
address
property[source]property address: strEndpoint address this client is connected to.
env_id
property[source]property env_id: strThis connection’s container id (UUIDv7).
A stable correlation identity, distinct from the human env name
(env_contract.id).
selected_workflow_edition
property[source]property selected_workflow_edition: strThe workflow edition this connection negotiated with the env.
The highest edition both sides can drive, at or below whatever either
declared, in the exact spelling they agreed on – so a prerelease build
reports its cohort, not the bare sealed base. Named apart from the
workflow_edition declaration surfaces on purpose: this is what was
agreed, not what this side asked for.
env_contract
property[source]property env_contract: EnvContractEnvironment contract returned by the endpoint handshake.
render_mode
property[source]property render_mode: str | NoneConfigured render mode reported by the endpoint.
metadata
property[source]property metadata: MetadataEndpoint metadata reported by the environment contract.
observation_space_spec
property[source]property observation_space_spec: SpaceSpecNative observation space spec reported by the endpoint.
action_space_spec
property[source]property action_space_spec: SpaceSpecNative action space spec reported by the endpoint.
render
function[source]render(*, env_index: int = 0) -> ValueT | NoneRender a frame from the remote environment.
Parameters
| Name | Type | Description |
|---|---|---|
env_index | int | Environment index to render. Single environments use 0. |
Returns
| Type | Description |
|---|---|
ValueT | None | A decoded render frame, or None when the environment has no frame. |
shutdown
function[source]shutdown(reason: str = 'owner shutdown') -> boolRequest owner-level shutdown of the remote environment endpoint.