Configuration¶
Functions for managing configuration settings and database connections.
Configuration management for Ethopy analysis.
This module handles loading and managing configuration from various sources including JSON files, environment variables, and default settings.
apply_env_overrides(config)
¶
Apply environment variable overrides to configuration.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
config
|
Dict[str, Any]
|
Base configuration dictionary |
required |
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Configuration with environment overrides applied |
Source code in src/ethopy_analysis/config/settings.py
find_config_file()
¶
Find configuration file in common locations.
Returns:
Type | Description |
---|---|
Optional[Path]
|
Path to config file if found, None otherwise |
Source code in src/ethopy_analysis/config/settings.py
get_config_summary()
¶
Get a summary of the current configuration.
Returns:
Type | Description |
---|---|
str
|
String summary of configuration |
Source code in src/ethopy_analysis/config/settings.py
get_database_config(config=None)
¶
Get database configuration.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
config
|
Optional[Dict[str, Any]]
|
Full configuration dictionary (optional, will load if None) |
None
|
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Database configuration dictionary |
Source code in src/ethopy_analysis/config/settings.py
load_config(config_path=None, display_path=None)
¶
Load configuration from file or use defaults.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
config_path
|
Optional[Union[str, Path]]
|
Path to configuration file (optional) |
None
|
display_path
|
Optional[bool]
|
Whether to display the config path (optional) |
None
|
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Configuration dictionary |
Source code in src/ethopy_analysis/config/settings.py
load_config_with_source(config_path=None)
¶
Load configuration and return both config and source file path.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
config_path
|
Optional[Union[str, Path]]
|
Path to configuration file (optional) |
None
|
Returns:
Type | Description |
---|---|
tuple[Dict[str, Any], Optional[Path]]
|
Tuple of (configuration dictionary, source file path or None) |
Source code in src/ethopy_analysis/config/settings.py
merge_configs(base_config, override_config)
¶
Recursively merge two configuration dictionaries.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
base_config
|
Dict[str, Any]
|
Base configuration dictionary |
required |
override_config
|
Dict[str, Any]
|
Configuration to merge in |
required |
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Merged configuration dictionary |
Source code in src/ethopy_analysis/config/settings.py
save_config(config, config_path)
¶
Save configuration to a JSON file.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
config
|
Dict[str, Any]
|
Configuration dictionary to save |
required |
config_path
|
Union[str, Path]
|
Path where to save the configuration |
required |
Source code in src/ethopy_analysis/config/settings.py
set_default_config(new_defaults)
¶
Update default configuration values.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
new_defaults
|
Dict[str, Any]
|
Dictionary with new default values |
required |
Source code in src/ethopy_analysis/config/settings.py
validate_config(config)
¶
Validate configuration structure and values.
Checks for: - Required sections and keys - Invalid value types - Security issues
Parameters:
Name | Type | Description | Default |
---|---|---|---|
config
|
Dict[str, Any]
|
Configuration dictionary to validate |
required |
Returns:
Type | Description |
---|---|
bool
|
True if valid, False otherwise |