debt_optimizer.core.config module

Configuration management for Financial Debt Optimizer.

Supports loading configuration from YAML files with CLI overrides.

class debt_optimizer.core.config.Config(config_path=None)[source]

Bases: object

Configuration manager for debt optimizer.

Parameters:

config_path (Path | None)

DEFAULT_CONFIG_PATHS = [PosixPath('/home/docs/.debt_optimizer'), PosixPath('debt_optimizer.yaml'), PosixPath('debt_optimizer.yml')]
DEFAULT_VALUES = {'auto_backup': True, 'bank_account_name': 'PECU Checking', 'compare_strategies': False, 'emergency_fund': 1000.0, 'extra_payment': 0.0, 'fuzzy_match_threshold': 80, 'input_file': 'default.xlsx', 'optimization_goal': 'minimize_interest', 'output_file': 'debt_analysis.xlsx', 'quicken_db_path': '/home/docs/Documents/Bryan.quicken/data', 'simple_report': False}
__init__(config_path=None)[source]

Initialize configuration.

Parameters:

config_path (Optional[Path]) – Path to config file. If None, searches default locations.

load_from_file(path)[source]

Load configuration from YAML file.

Parameters:

path (Path) – Path to YAML config file

Raises:
Return type:

None

save_to_file(path=None)[source]

Save current configuration to YAML file.

Parameters:

path (Optional[Path]) – Path to save config. If None, uses current config_path.

Raises:
Return type:

None

get(key, default=None)[source]

Get configuration value.

Parameters:
  • key (str) – Configuration key

  • default (Any) – Default value if key not found

Return type:

Any

Returns:

Configuration value or default

set(key, value)[source]

Set configuration value.

Parameters:
  • key (str) – Configuration key

  • value (Any) – Configuration value

Return type:

None

update(values)[source]

Update multiple configuration values.

Parameters:

values (Dict[str, Any]) – Dictionary of configuration values

Return type:

None

as_dict()[source]

Get configuration as dictionary.

Return type:

Dict[str, Any]

Returns:

Dictionary of all configuration values

validate()[source]

Validate configuration values.

Return type:

Tuple[bool, List[str]]

Returns:

Tuple of (is_valid, list_of_errors)

classmethod create_default_config(path)[source]

Create a new configuration file with default values.

Parameters:

path (Path) – Path where to create the config file

Return type:

Config

Returns:

New Config instance