MCPcopy Create free account
hub / github.com/agentforce314/clawcodex / load_settings

Function load_settings

src/settings/settings.py:25–55  ·  view source on GitHub ↗

Load settings from config hierarchy + defaults. Merge order: DEFAULT_SETTINGS < global config "settings" < project < local < extra_overrides.

(
    *,
    config_manager: ConfigManager | None = None,
    cwd: str | Path | None = None,
    extra_overrides: dict[str, Any] | None = None,
)

Source from the content-addressed store, hash-verified

23
24
25def load_settings(
26 *,
27 config_manager: ConfigManager | None = None,
28 cwd: str | Path | None = None,
29 extra_overrides: dict[str, Any] | None = None,
30) -> SettingsSchema:
31 """Load settings from config hierarchy + defaults.
32
33 Merge order: DEFAULT_SETTINGS < global config "settings" < project < local < extra_overrides.
34 """
35 if config_manager is None:
36 config_manager = ConfigManager(cwd=cwd)
37
38 base = dataclasses.asdict(DEFAULT_SETTINGS)
39
40 # Pull "settings" sub-key from each config level
41 global_settings = config_manager.load_global().get("settings", {})
42 project_settings = config_manager.load_project().get("settings", {})
43 local_settings = config_manager.load_local().get("settings", {})
44
45 merged = base
46 if global_settings:
47 merged = _deep_merge(merged, global_settings)
48 if project_settings:
49 merged = _deep_merge(merged, project_settings)
50 if local_settings:
51 merged = _deep_merge(merged, local_settings)
52 if extra_overrides:
53 merged = _deep_merge(merged, extra_overrides)
54
55 return SettingsSchema.from_dict(merged)
56
57
58def get_settings(

Callers 5

test_extra_overridesMethod · 0.90
get_settingsFunction · 0.85

Calls 7

load_globalMethod · 0.95
load_projectMethod · 0.95
load_localMethod · 0.95
ConfigManagerClass · 0.85
_deep_mergeFunction · 0.85
getMethod · 0.45
from_dictMethod · 0.45