Loader
provide.foundation.config.loader
¶
TODO: Add module docstring.
Classes¶
ChainedLoader
¶
Bases: ConfigLoader
Try multiple loaders until one succeeds.
Initialize chained configuration loader.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*loaders
|
ConfigLoader
|
Configuration loaders to try in order |
()
|
Source code in provide/foundation/config/loader.py
ConfigLoader
¶
Bases: ABC
Abstract base class for configuration loaders.
Built-in implementations: - FileConfigLoader: YAML, JSON, TOML, .env files - RuntimeConfigLoader: Environment variables - DictConfigLoader: In-memory dictionaries
For cloud secret managers (Vault, AWS Secrets, Azure Key Vault), implement custom loaders following this protocol.
Examples: docs/guide/advanced/integration-patterns.md#custom-configuration-sources
DictConfigLoader
¶
Bases: ConfigLoader
Load configuration from a dictionary.
Initialize dictionary configuration loader.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
ConfigDict
|
Configuration data |
required |
source
|
ConfigSource
|
Source of the configuration |
RUNTIME
|
Source code in provide/foundation/config/loader.py
FileConfigLoader
¶
Bases: ConfigLoader
Load configuration from files.
Initialize file configuration loader.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str | Path
|
Path to configuration file |
required |
format
|
ConfigFormat | None
|
File format (auto-detected if None) |
None
|
encoding
|
str
|
File encoding |
'utf-8'
|
Source code in provide/foundation/config/loader.py
Functions¶
exists
¶
load
¶
Load configuration from file.
Source code in provide/foundation/config/loader.py
MultiSourceLoader
¶
Bases: ConfigLoader
Load configuration from multiple sources with precedence.
Initialize multi-source configuration loader.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*loaders
|
ConfigLoader
|
Configuration loaders in order of precedence (later overrides earlier) |
()
|
Source code in provide/foundation/config/loader.py
Functions¶
exists
¶
load
¶
Load and merge configuration from multiple sources.
Source code in provide/foundation/config/loader.py
RuntimeConfigLoader
¶
Bases: ConfigLoader
Load configuration from environment variables.
Initialize environment configuration loader.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
prefix
|
str
|
Prefix for environment variables |
''
|
delimiter
|
str
|
Delimiter between prefix and field name |
'_'
|
case_sensitive
|
bool
|
Whether variable names are case-sensitive |
False
|
Source code in provide/foundation/config/loader.py
Functions¶
exists
¶
Check if any relevant environment variables exist.
Source code in provide/foundation/config/loader.py
load
¶
Load configuration from environment variables.