nemo_gym.resources_server_registry

View as Markdown

Registry of resources servers under resources_servers/<name>/.

A resources server (verifier + per-task state) is one component of an environment, selected by name with --resources-server. This module maps each config flavor to its (domain, description) — read the same way gym list environments/benchmarks read theirs (via :func:~nemo_gym.discovery.read_config_metadata) — so they can be enumerated by name.

Module Contents

Classes

NameDescription
ResourcesServerEntryA discovered resources server: its name, where it lives, and lightweight metadata.

Functions

NameDescription
_config_defines_resources_serverTrue if a config declares a resources_servers block (vs a helper like a judge model). Never raises.
_discover_resources_servers_in_dirMap resources-server name -> :class:ResourcesServerEntry for every flavor under one dir.
discover_resources_serversMap resources-server name -> :class:ResourcesServerEntry for every discoverable server.
read_resources_server_valueThe value field declared on a resources server config (for the inspect view). Never raises.

Data

RESOURCES_SERVERS_DIR

RESOURCES_SERVERS_SUBDIR

RESOURCES_SERVER_CONFIGS_SUBDIR

API

class nemo_gym.resources_server_registry.ResourcesServerEntry(
name: str,
config_path: pathlib.Path,
path: pathlib.Path,
description: typing.Optional[str] = None,
domain: typing.Optional[str] = None
)
Dataclass

A discovered resources server: its name, where it lives, and lightweight metadata.

config_path
Path
description
Optional[str] = None
domain
Optional[str] = None
name
str
path
Path
nemo_gym.resources_server_registry._config_defines_resources_server(
config_path: pathlib.Path
) -> bool

True if a config declares a resources_servers block (vs a helper like a judge model). Never raises.

nemo_gym.resources_server_registry._discover_resources_servers_in_dir(
resources_servers_dir: pathlib.Path
) -> typing.Dict[str, nemo_gym.resources_server_registry.ResourcesServerEntry]

Map resources-server name -> :class:ResourcesServerEntry for every flavor under one dir.

One entry per config flavor that declares a resources_servers block: <dir> for the default config (<dir>.yaml) and <dir>/<flavor> for the rest (<flavor>.yaml). Helper configs (no resources_servers block) are skipped. Empty dict if the dir is missing.

nemo_gym.resources_server_registry.discover_resources_servers() -> typing.Dict[str, nemo_gym.resources_server_registry.ResourcesServerEntry]

Map resources-server name -> :class:ResourcesServerEntry for every discoverable server.

Scans the resources_servers/ subdir of every :func:~nemo_gym.discovery.component_search_roots root (NEMO_GYM_EXTRA_ROOTS + cwd + built-ins), merged so user servers shadow same-named built-ins.

nemo_gym.resources_server_registry.read_resources_server_value(
config_path: pathlib.Path
) -> typing.Optional[str]

The value field declared on a resources server config (for the inspect view). Never raises.

nemo_gym.resources_server_registry.RESOURCES_SERVERS_DIR = PARENT_DIR / RESOURCES_SERVERS_SUBDIR
nemo_gym.resources_server_registry.RESOURCES_SERVERS_SUBDIR = 'resources_servers'
nemo_gym.resources_server_registry.RESOURCES_SERVER_CONFIGS_SUBDIR = 'configs'