unilab.base.registry

Functions

contains(name)

Check if an environment configuration is registered.

ensure_registries([packages, ...])

Import env registry bootstrap modules.

env(name, sim_backend)

Decorator to register an environment class or function factory.

envcfg(name)

Decorator to register an environment configuration class or factory.

find_available_sim_backend(env_name)

Find the explicit default simulation backend for an environment.

list_registered_envs()

List all registered environments with their available backends.

make(name[, sim_backend, env_cfg_override, ...])

Create an environment instance by name.

materialize_env_config(name)

Construct one config instance from the registered cold-path factory.

register_env(name, env_factory, sim_backend)

Register and return an environment class or function factory.

register_env_config(name, env_cfg_factory)

Register a zero-argument environment configuration factory.

resolve_reward_override_field(env_name)

Resolve the Hydra root reward target declared by an env config owner.

Classes

EnvFactory

Construct an environment for one materialized config and backend.

EnvMeta

EnvMeta(env_cfg_factory: Callable[[], unilab.base.base.EnvCfg], env_factory_dict: Dict[str, unilab.base.registry.EnvFactory] = <factory>)

class unilab.base.registry.EnvFactory[source]

Bases: Protocol

Construct an environment for one materialized config and backend.

__init__(*args, **kwargs)
class unilab.base.registry.EnvMeta[source]

Bases: object

EnvMeta(env_cfg_factory: Callable[[], unilab.base.base.EnvCfg], env_factory_dict: Dict[str, unilab.base.registry.EnvFactory] = <factory>)

Parameters:
env_cfg_factory: Callable[[], EnvCfg]
env_factory_dict: Dict[str, EnvFactory]
available_sim_backend()[source]

Return the explicit default simulation backend for this environment.

Return type:

Optional[str]

support_sim_backend(sim_backend)[source]

Check if the environment supports a specific simulation backend.

Parameters:

sim_backend (str)

Return type:

bool

__init__(env_cfg_factory, env_factory_dict=<factory>)
Parameters:
unilab.base.registry.contains(name)[source]

Check if an environment configuration is registered.

Parameters:

name (str)

Return type:

bool

unilab.base.registry.register_env_config(name, env_cfg_factory)[source]

Register a zero-argument environment configuration factory.

Parameters:
Return type:

None

unilab.base.registry.envcfg(name)[source]

Decorator to register an environment configuration class or factory.

Usage:

@envcfg(“my-env”) @dataclass class MyEnvCfg(EnvCfg):

@envcfg(“my-manager-env”) def make_my_env_cfg() -> EnvCfg:

Parameters:

name (str)

Return type:

Callable[[TypeVar(TEnvCfgFactory, bound= Callable[[], EnvCfg])], TypeVar(TEnvCfgFactory, bound= Callable[[], EnvCfg])]

unilab.base.registry.materialize_env_config(name)[source]

Construct one config instance from the registered cold-path factory.

Parameters:

name (str)

Return type:

EnvCfg

unilab.base.registry.register_env(name, env_factory, sim_backend)[source]

Register and return an environment class or function factory.

Parameters:
Return type:

TypeVar(TEnvFactory, bound= EnvFactory)

unilab.base.registry.env(name, sim_backend)[source]

Decorator to register an environment class or function factory.

Usage:

@env(“my-env”, “mujoco”) class MyEnv(ABEnv):

@env(“my-manager-env”, “mujoco”) def make_my_env(cfg, num_envs=1, backend_type=”mujoco”):

Parameters:
  • name (str)

  • sim_backend (str)

Return type:

Callable[[TypeVar(TEnvFactory, bound= EnvFactory)], TypeVar(TEnvFactory, bound= EnvFactory)]

unilab.base.registry.find_available_sim_backend(env_name)[source]

Find the explicit default simulation backend for an environment.

Parameters:

env_name (str)

Return type:

str

unilab.base.registry.resolve_reward_override_field(env_name)[source]

Resolve the Hydra root reward target declared by an env config owner.

Legacy configs own a reward_config field. Manager-Based configs opt in through the explicit manager-term mapping metadata on rewards. The registry resolves this on the config class without constructing an env or backend so training adapters do not branch on task names.

Parameters:

env_name (str)

Return type:

Literal['reward_config', 'rewards']

unilab.base.registry.make(name, sim_backend=None, env_cfg_override=None, num_envs=1)[source]

Create an environment instance by name.

Parameters:
  • name (str) – Environment name

  • sim_backend (Optional[str]) – Simulation backend. If None, uses the explicit default backend order: “mujoco”, then “motrix”.

  • num_envs (int) – Number of environments to create

  • env_cfg_override (Optional[Dict[str, Any]])

Return type:

ABEnv

Returns:

Environment instance

unilab.base.registry.list_registered_envs()[source]

List all registered environments with their available backends.

Return type:

Dict[str, Dict[str, Any]]

unilab.base.registry.ensure_registries(packages=None, *, optional_packages=None, fail_on_error=True)[source]

Import env registry bootstrap modules.

Parameters:
Return type:

None