batter.config.run.RunSection#

pydantic model batter.config.run.RunSection[source]#

Run-related settings, including where outputs land.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Config:
  • extra: str = forbid

Fields:
Validators:
field allow_run_id_mismatch: bool = False#

When True, allow reusing an explicit run_id even if the configuration hash differs from the existing execution.

field batch_gpus: int | None = None#

GPUs available to the manager process for batch_mode; auto-detected from SLURM env when omitted.

Constraints:
  • ge = 0

field batch_gpus_per_task: int = 1#

GPUs to assign per task when batch_mode is enabled.

Constraints:
  • ge = 1

field batch_mode: bool = False#

When true, run SLURM jobs inline via srun inside the manager allocation instead of submitting with sbatch.

field batch_srun_extra: List[str] [Optional]#

Extra srun flags appended when launching tasks in batch_mode.

field clean_failures: bool = False#

Clear FAILED markers, job_attempt.txt retry counters, and progress caches before rerunning.

field dry_run: bool = False#

Force dry-run mode regardless of YAML setting.

field email_on_completion: str | None = None#

Email address that should receive a notification once the run finishes or aborts with an uncaught failure.

field email_sender: str = 'nobody@stanford.edu'#

Sender address used for BATTER run-status email notifications.

field max_active_jobs: int | None = 1000#

Max concurrent SLURM jobs for FE submissions (0 disables throttling).

Constraints:
  • ge = 0

field max_workers: int | None = None#

Parallel workers for local backend (None = auto, 0 = serial).

field on_failure: Literal['raise', 'prune', 'retry'] = 'raise'#

Behavior on ligand failure: ‘raise’, ‘prune’, or ‘retry’ (clear FAILED sentinels and rerun once).

field only_fe_preparation: bool = False#

When true, stop the workflow after FE preparation.

field output_folder: Path [Required]#

Directory where system artifacts and executions are stored.

Validated by:
  • _coerce_output_folder

field remd: Literal['yes', 'no'] = 'no'#

Enable REMD execution.

Validated by:
  • _coerce_remd

field run_id: str = 'auto'#

Run identifier to use (auto picks latest).

field slurm: SlurmConfig [Optional]#
field slurm_header_dir: Path | None = None#

Optional directory containing user Slurm headers (defaults to ~/.batter).

field system_type: Literal['MABFE', 'MASFE'] | None = None#

Optional override for the system builder. When omitted, the orchestrator chooses the builder based on the protocol.

Validated by:
  • _normalize_system_type