nvflare.app_opt.job_launcher.study_runtime module

Site-owned per-study runtime configuration (v2): local/study_runtime.yaml.

Filename selects the format: this strict v2 parser never reads the frozen v1 local/study_data.yaml (see study_data.py). Both files present is a launcher error, enforced by the launchers, not here.

class SecretEnvRef(name: 'str', source: 'str', key: 'str')[source]

Bases: object

key: str
name: str
source: str
class SecretMount(study: 'str', name: 'str', source: 'str', mount_path: 'str', items: 'Optional[tuple]' = None)[source]

Bases: object

items: tuple | None = None
mount_path: str
name: str
source: str
study: str
class StudyRuntime(study: 'str', datasets: 'list' = <factory>, env: 'dict' = <factory>, secret_env: 'list' = <factory>, secret_mounts: 'list' = <factory>, container_image: 'Optional[str]' = None, pod_template: 'Optional[dict]' = None, docker_kwargs: 'dict' = <factory>)[source]

Bases: object

container_image: str | None = None
datasets: list
docker_kwargs: dict
env: dict
pod_template: dict | None = None
secret_env: list
secret_mounts: list
study: str
load_study_runtime_file(file_path: str, allow_pod_template: bool = True, allow_secret_mount_items: bool = True, allow_docker_kwargs: bool = True, logger: Logger | None = None) dict[source]

Parse local/study_runtime.yaml (strict v2). Returns {study: StudyRuntime}.

resolve_study_runtime(runtime_map: dict, study: str | None, file_path: str, logger: Logger | None = None) StudyRuntime[source]

Return the study’s runtime config, or an empty config when the study has no entry.

study_runtime_file_path(workspace_root: str) str[source]