Skip to content

dizzy.config

dizzy.config

Dizzy configuration — layered YAML config merged system → user → project.

load_config()

Merge configs from system → user → project, then apply env var overrides.

Source code in dizzy/src/dizzy/config.py
63
64
65
66
67
68
69
70
71
72
73
74
75
76
def load_config() -> DizzyConfig:
    """Merge configs from system → user → project, then apply env var overrides."""
    merged: dict[str, Any] = {}
    for path in _CONFIG_PATHS:
        if path.exists():
            raw = yaml.safe_load(path.read_text()) or {}
            merged = _deep_merge(merged, raw)

    config = DizzyConfig.model_validate(merged)

    if log_dir := os.environ.get("DIZZY_LOG_DIR"):
        config.logging.log_dir = Path(log_dir)

    return config