nemo_gym.environment.scaffold

View as Markdown

Generate manifest-backed environment and benchmark skeletons.

Module Contents

Classes

NameDescription
ScaffoldConflictErrorGenerated files would replace different content.
ScaffoldErrorA scaffold request cannot be completed safely.
ScaffoldResultFiles handled by a scaffold operation.
_Composition-
_ReusedVerifier-

Functions

Data

_NAME_PATTERN

_TODO

__all__

API

class nemo_gym.environment.scaffold.ScaffoldConflictError(
paths: tuple[pathlib.Path, ...]
)

Bases: ScaffoldError

Generated files would replace different content.

class nemo_gym.environment.scaffold.ScaffoldError()

Bases: ConfigError

A scaffold request cannot be completed safely.

class nemo_gym.environment.scaffold.ScaffoldResult(
asset_dir: pathlib.Path,
created: tuple[pathlib.Path, ...],
existing: tuple[pathlib.Path, ...]
)
Dataclass

Files handled by a scaffold operation.

asset_dir
Path
created
tuple[Path, ...]
existing
tuple[Path, ...]
class nemo_gym.environment.scaffold._Composition(
kind: nemo_gym.environment.manifest.EnvironmentKind,
name: str,
profile: nemo_gym.environment.manifest.IntegrationProfile,
module_name: str,
asset_dir: pathlib.Path,
resource_implementation: str,
resource_instance: str,
agent_implementation: str,
agent_instance: str,
dataset: nemo_gym.environment.manifest.ManifestDataset,
reward: nemo_gym.environment.manifest.Reward,
config_reference: str,
prompt_path: str | None,
rollout_driver: str | None,
reused_verifier: nemo_gym.environment.scaffold._ReusedVerifier | None
)
Dataclass
agent_implementation
str
agent_instance
str
asset_dir
Path
config_reference
str
dataset
ManifestDataset
kind
EnvironmentKind
module_name
str
name
str
profile
IntegrationProfile
prompt_path
str | None
resource_implementation
str
resource_instance
str
reused_verifier
_ReusedVerifier | None
reward
Reward
rollout_driver
str | None
class nemo_gym.environment.scaffold._ReusedVerifier(
selector: str,
config_reference: str,
resource_instance: str,
agent_instance: str | None
)
Dataclass
agent_instance
str | None
config_reference
str
resource_instance
str
selector
str
nemo_gym.environment.scaffold._agent_app(
module_name: str,
profile: nemo_gym.environment.manifest.IntegrationProfile
) -> str
nemo_gym.environment.scaffold._agent_files(
root: pathlib.Path,
directory: pathlib.Path,
composition: nemo_gym.environment.scaffold._Composition
) -> dict[pathlib.Path, str]
nemo_gym.environment.scaffold._asset_config(
composition: nemo_gym.environment.scaffold._Composition
) -> str
nemo_gym.environment.scaffold._asset_readme(
composition: nemo_gym.environment.scaffold._Composition
) -> str
nemo_gym.environment.scaffold._benchmark_prepare(
name: str
) -> str
nemo_gym.environment.scaffold._benchmark_prompt() -> str
nemo_gym.environment.scaffold._class_name(
module_name: str
) -> str
nemo_gym.environment.scaffold._environment_example(
agent_instance: str
) -> str
nemo_gym.environment.scaffold._gym_checkout_root(
root: pathlib.Path
) -> pathlib.Path | None
nemo_gym.environment.scaffold._license_header() -> str
nemo_gym.environment.scaffold._manifest_resources_server_config(
composition: nemo_gym.environment.scaffold._Composition
) -> str
nemo_gym.environment.scaffold._parse_kind(
value: nemo_gym.environment.manifest.EnvironmentKind | str
) -> nemo_gym.environment.manifest.EnvironmentKind
nemo_gym.environment.scaffold._parse_profile(
value: nemo_gym.environment.manifest.IntegrationProfile | str
) -> nemo_gym.environment.manifest.IntegrationProfile
nemo_gym.environment.scaffold._render_manifest_composition(
root: pathlib.Path,
composition: nemo_gym.environment.scaffold._Composition
) -> dict[pathlib.Path, str]
nemo_gym.environment.scaffold._require_fixture_export(
app_path: pathlib.Path,
selector: str
) -> None
nemo_gym.environment.scaffold._requirements(
directory: pathlib.Path,
checkout_root: pathlib.Path | None
) -> str
nemo_gym.environment.scaffold._resolve_reused_verifier(
root: pathlib.Path,
selector: str
) -> nemo_gym.environment.scaffold._ReusedVerifier
nemo_gym.environment.scaffold._resolve_root(
root: str | pathlib.Path | None
) -> pathlib.Path
nemo_gym.environment.scaffold._resource_component_files(
directory: pathlib.Path,
module_name: str,
config: str,
readme: str,
requirements: str
) -> dict[pathlib.Path, str]
nemo_gym.environment.scaffold._resources_server_app(
module_name: str
) -> str
nemo_gym.environment.scaffold._resources_server_test() -> str
nemo_gym.environment.scaffold._rollout_driver() -> str
nemo_gym.environment.scaffold._server_entries(
raw: typing.Mapping[str, typing.Any],
server_type: str
) -> list[tuple[str, str, typing.Mapping[str, typing.Any]]]
nemo_gym.environment.scaffold._standalone_data_gitignore() -> str
nemo_gym.environment.scaffold._standalone_resources_server_config(
module_name: str
) -> str
nemo_gym.environment.scaffold._standalone_resources_server_files(
directory: pathlib.Path,
module_name: str,
checkout_root: pathlib.Path | None
) -> dict[pathlib.Path, str]
nemo_gym.environment.scaffold._standalone_resources_server_readme() -> str
nemo_gym.environment.scaffold._validate_name(
name: str,
requires_python_module: bool
) -> None
nemo_gym.environment.scaffold._validate_target(
root: pathlib.Path,
path: pathlib.Path
) -> None
nemo_gym.environment.scaffold._verifier_cases() -> str
nemo_gym.environment.scaffold._write_files(
root: pathlib.Path,
asset_dir: pathlib.Path,
files: typing.Mapping[pathlib.Path, str]
) -> nemo_gym.environment.scaffold.ScaffoldResult
nemo_gym.environment.scaffold.scaffold_environment(
kind: nemo_gym.environment.manifest.EnvironmentKind | str,
name: str,
profile: nemo_gym.environment.manifest.IntegrationProfile | str = IntegrationProfile.CUSTOM_G...,
reuse_verifier: str | None = None,
reward_range: tuple[float, float] | None = None,
higher_is_better: bool | None = None,
root: str | pathlib.Path | None = None
) -> nemo_gym.environment.scaffold.ScaffoldResult

Create a profile-aware skeleton without replacing user content.

Profiles select authoring extension points only. The generated config.yaml remains the sole source of runtime wiring. Custom-loop templates delegate to default behavior until their generated extension point is replaced.

nemo_gym.environment.scaffold.scaffold_resources_server(
directory: str | pathlib.Path,
checkout_root: str | pathlib.Path | None = None
) -> nemo_gym.environment.scaffold.ScaffoldResult

Create a standalone resources-server scaffold.

nemo_gym.environment.scaffold._NAME_PATTERN = re.compile('^[a-z0-9][a-z0-9._-]*$')
nemo_gym.environment.scaffold._TODO = 'TODO'
nemo_gym.environment.scaffold.__all__ = ['ScaffoldConflictError', 'ScaffoldError', 'ScaffoldResult', 'scaffold_environme...