Configuration Module¶
Configuration package - uses varlord for config management.
IMPORTANT: All configuration models are defined in models.py. No module should define its own config model. All modules access the same AtloopConfig model for type safety.
- class atloop.config.ConfigLoader[source]¶
Bases:
objectConfiguration loader - uses varlord for lib/api.
- static get() AtloopConfig[source]¶
Get configuration - access from anywhere in lib/api.
- class atloop.config.AtloopConfig(ai: ~atloop.config.models.AIConfig, sandbox: ~atloop.config.models.SandboxConfig = <factory>, memory: ~atloop.config.models.MemoryConfig = <factory>, limits: ~atloop.config.models.LimitsConfig = <factory>, runtime: ~atloop.config.models.RuntimeConfig = <factory>, debug: ~atloop.config.models.DebugConfig = <factory>, output: ~atloop.config.models.OutputConfig = <factory>)[source]¶
Bases:
objectMain atloop configuration.
- __init__(ai: ~atloop.config.models.AIConfig, sandbox: ~atloop.config.models.SandboxConfig = <factory>, memory: ~atloop.config.models.MemoryConfig = <factory>, limits: ~atloop.config.models.LimitsConfig = <factory>, runtime: ~atloop.config.models.RuntimeConfig = <factory>, debug: ~atloop.config.models.DebugConfig = <factory>, output: ~atloop.config.models.OutputConfig = <factory>) None¶
- ai: AIConfig¶
- sandbox: SandboxConfig¶
- memory: MemoryConfig¶
- limits: LimitsConfig¶
- runtime: RuntimeConfig¶
- debug: DebugConfig¶
- output: OutputConfig¶
ConfigLoader¶
- class atloop.config.loader.ConfigLoader[source]¶
Bases:
objectConfiguration loader - uses varlord for lib/api.
- static setup(atloop_dir: str | None = None) Config[source]¶
Setup configuration - call once at application startup.
- Parameters:
atloop_dir – Custom atloop directory (for testing)
- Returns:
Config instance (also registered globally)
- static get() AtloopConfig[source]¶
Get configuration - access from anywhere in lib/api.
Configuration Models¶
- class atloop.config.models.AtloopConfig(ai: ~atloop.config.models.AIConfig, sandbox: ~atloop.config.models.SandboxConfig = <factory>, memory: ~atloop.config.models.MemoryConfig = <factory>, limits: ~atloop.config.models.LimitsConfig = <factory>, runtime: ~atloop.config.models.RuntimeConfig = <factory>, debug: ~atloop.config.models.DebugConfig = <factory>, output: ~atloop.config.models.OutputConfig = <factory>)[source]¶
Bases:
objectMain atloop configuration.
- ai: AIConfig¶
- sandbox: SandboxConfig¶
- memory: MemoryConfig¶
- limits: LimitsConfig¶
- runtime: RuntimeConfig¶
- debug: DebugConfig¶
- output: OutputConfig¶
- __init__(ai: ~atloop.config.models.AIConfig, sandbox: ~atloop.config.models.SandboxConfig = <factory>, memory: ~atloop.config.models.MemoryConfig = <factory>, limits: ~atloop.config.models.LimitsConfig = <factory>, runtime: ~atloop.config.models.RuntimeConfig = <factory>, debug: ~atloop.config.models.DebugConfig = <factory>, output: ~atloop.config.models.OutputConfig = <factory>) None¶
- class atloop.config.models.TaskSpec(task_id: str, goal: str, workspace_root: str, budget: ~atloop.config.models.Budget = <factory>)[source]¶
Bases:
objectTask specification.
- class atloop.config.models.Budget(max_llm_calls: int = 80, max_tool_calls: int = 300, max_wall_time_sec: int = 1800)[source]¶
Bases:
objectBudget constraints for task execution.
- class atloop.config.models.SandboxConfig(base_url: str | None = None, local_test: bool = False, timeout: int = 30, session_ttl_seconds: int = 900, image: str | None = None, cpu_limit: str | None = None, memory_limit: str | None = None, ephemeral_storage_limit: str | None = None, default_session_id: str | None = None)[source]¶
Bases:
objectSandbox execution configuration.