pystamps.config

Data classes

NameFieldsDefaults
RuntimeConfigio_workers:int, cpu_workers:int, backend:str, stage7_chunk_ps:int, stage8_chunk_edges:int, enable_mat_stage_cache:bool, stage2_checkpoint_mode:str, stage2_checkpoint_interval:int, stage2_debug:bool, stage4_debug:bool8, 0, "auto", 100000, 200000, True, "final", 1, False, False
ToleranceConfigrtol:float, atol:float, wrap_equivalence:bool, wrap_period:float, wrap_keys:tuple[str,...]1e-5,1e-7,True,2π, ("ph_uw","ph","dph_noise","dph_space_uw")
ExternalToolsConfigtriangle:str, snaphu:str"triangle", "snaphu"
CompatibilityConfigreference_root:str|None, strict_reference:boolNone, False
RunConfigruntime:RuntimeConfig, tolerance:ToleranceConfig, tools:ExternalToolsConfig, compat:CompatibilityConfiginstances with defaults

Exceptions

  • ConfigError(ValueError): malformed config payload or IO/parsing issues.

load_config(path=None)

def load_config(path: str|Path|None=None) -> RunConfig

ParameterTypeRequiredDefaultDescription
pathstr|Path|NoneNoNoneOptional YAML/JSON config file.

Return: RunConfig.

Exceptions: ConfigError for missing file, invalid top-level object, bad section types, unsupported extension.

Side effects: reads file from disk.

Inferred: Unknown keys in nested sections raise constructor errors; callers should treat extra config fields as invalid input.

Example

from pathlib import Path
from pystamps.config import load_config
cfg = load_config(Path("config.yaml"))
print(cfg.runtime.backend)