from keecas import config
# Access nested configuration
config.language.language = 'it' # Italian localization
config.latex.eq_prefix = 'eq-' # LaTeX label prefix
config.display.default_float_format = '.3f' # Default float formatting
config.display.katex = True # KaTeX compatibility mode
# Environment configuration
config.latex.environments.align.separator # Built-in environment separator
config.latex.environments.set('custom', {...}) # Custom environmentconfig.manager
manager
Unified Configuration Management for Keecas.
Manages all configuration options with TOML file support, hierarchical priority, and dynamic propagation to affected subsystems (Pint locale, localization).
The main configuration object is exposed as config from the keecas package:
# Save configuration
from keecas.config import get_config_manager
manager = get_config_manager()
manager.save_config() # Save to .keecas/config.tomlConfiguration Hierarchy
Priority order: Local config > Global config > Defaults
- Local:
<project>/.keecas/config.toml(project-specific) - Global:
~/.keecas/config.toml(user-wide) - Defaults: Built-in defaults in dataclass definitions
Configuration Sections
config.latex: LaTeX equation formatting (eq_prefix, environments, etc.)config.display: Display behavior (katex, debug, float_format, etc.)config.language: Language and localization (language, disable_pint_locale)config.translations: Custom term translationsconfig.check_templates: Verification function templates
Dynamic Propagation
Changes to certain settings automatically propagate:
config.language: Updates Pint locale and localization manager- Configuration changes trigger affected subsystem updates
See Also
- LatexConfig: LaTeX equation formatting configuration
- DisplayConfig: Display and debugging configuration
- LanguageConfig: Language and localization configuration
- ConfigManager: Main configuration manager class
Classes
| Name | Description |
|---|---|
| LatexConfig | LaTeX equation output configuration. |
| DisplayConfig | Display and debugging behavior configuration. |
| LanguageConfig | Language and localization configuration. |
| UnitsConfig | Units formatting configuration. |
| TranslationsConfig | Custom term translations configuration. |
| CheckTemplateConfig | Check function template configuration. |
| EnvironmentDefinition | Single LaTeX environment definition. |
| EnvironmentConfig | LaTeX environment configurations accessible via dot notation. |
| ConfigOptions | Unified configuration for Keecas with proper TOML sections. |
| ConfigManager | Manages configuration files, priority loading, and option propagation. |
LatexConfig
LatexConfig(
eq_prefix='eq-',
eq_suffix='',
vertical_skip='8pt',
default_environment='align',
default_label_command='\\label',
default_mul_symbol='\\,',
label=None,
environments=(lambda: None)(),
)LaTeX equation output configuration.
DisplayConfig
DisplayConfig(
print_label=False,
debug=False,
katex=False,
default_float_format=None,
pint_default_format='.2f~P',
cell_formatter=None,
row_formatter=None,
col_wrap=None,
)Display and debugging behavior configuration.
LanguageConfig
LanguageConfig(disable_pint_locale=True, pint_language_mode='auto')Language and localization configuration.
Attributes
| Name | Description |
|---|---|
| language | Document-level language override (None = use global/config). |
UnitsConfig
UnitsConfig()Units formatting configuration.
TranslationsConfig
TranslationsConfig(translations=dict())Custom term translations configuration.
CheckTemplateConfig
CheckTemplateConfig(
success_template='$\\textcolor{{green}}{{\\left[{symbol}{rhs}\\quad \\textbf{{{verified_text}}}\\right]}}$',
failure_template='$\\textcolor{{red}}{{\\left[{symbol}{rhs}\\quad \\textbf{{{not_verified_text}}}\\right]}}$',
template_sets=(lambda: {'default': {'success': '$\\textcolor{{green}}{{\\left[{symbol}{rhs}\\quad \\textbf{{{verified_text}}}\\right]}}$', 'failure': '$\\textcolor{{red}}{{\\left[{symbol}{rhs}\\quad \\textbf{{{not_verified_text}}}\\right]}}$'}, 'boxed': {'success': '\\colorbox{{green}}{{${symbol}{rhs} \\; \\checkmark \\; \\textbf{{{verified_text}}}$}}', 'failure': '\\colorbox{{red}}{{${symbol}{rhs} \\; \\times \\; \\textbf{{{not_verified_text}}}$}}'}, 'minimal': {'success': '${symbol}{rhs} \\,\\textcolor{{green}}{{\\checkmark}}$', 'failure': '${symbol}{rhs} \\,\\textcolor{{red}}{{\\times}}$'}})(),
)Check function template configuration.
EnvironmentDefinition
EnvironmentDefinition(
separator,
line_separator,
supports_multiple_labels,
outer_environment,
inner_environment=None,
inner_prefix='',
inner_suffix='',
outer_prefix='',
outer_suffix='',
label_position='outer',
)Single LaTeX environment definition.
Methods
| Name | Description |
|---|---|
| from_dict | Create from dictionary, filtering unknown keys. |
| to_dict | Convert to dictionary. |
from_dict
from_dict(data)Create from dictionary, filtering unknown keys.
to_dict
to_dict()Convert to dictionary.
EnvironmentConfig
EnvironmentConfig()LaTeX environment configurations accessible via dot notation.
Access environments as attributes: config.environments.align.separator
Methods
| Name | Description |
|---|---|
| get | Get environment by name, returns None if not found. |
| set | Set environment by name. Accepts EnvironmentDefinition or dict. |
| keys | Return environment names (attributes that are EnvironmentDefinition). |
| items | Return (name, definition) pairs. |
get
get(name)Get environment by name, returns None if not found.
set
set(name, definition)Set environment by name. Accepts EnvironmentDefinition or dict.
keys
keys()Return environment names (attributes that are EnvironmentDefinition).
items
items()Return (name, definition) pairs.
ConfigOptions
ConfigOptions(
latex=LatexConfig(),
display=DisplayConfig(),
language=LanguageConfig(),
units=UnitsConfig(),
translations=TranslationsConfig(),
check_templates=CheckTemplateConfig(),
)Unified configuration for Keecas with proper TOML sections.
Methods
| Name | Description |
|---|---|
| to_toml_dict | Convert to dictionary suitable for TOML serialization. |
| update_from_dict | Update configuration from dictionary (loaded from TOML). |
to_toml_dict
to_toml_dict()Convert to dictionary suitable for TOML serialization.
Note: latex.label is intentionally excluded (runtime-only, not serializable).
update_from_dict
update_from_dict(data)Update configuration from dictionary (loaded from TOML).
ConfigManager
ConfigManager()Manages configuration files, priority loading, and option propagation.
Priority order: API overrides > Local config > Global config > Defaults
Attributes
| Name | Description |
|---|---|
| options | Get current configuration options. |
Methods
| Name | Description |
|---|---|
| load_configs | Load configurations from files in priority order with automatic migration. |
| save_config | Save current configuration to file with version metadata. |
| init_config | Initialize a new configuration file with parametrizable template. |
| get_config_path | Get path to configuration file. |
| show_config | Show current configuration. |
| reset_config | Reset configuration file to defaults with proper template and version header. |
| get_option | Get configuration option value. |
| set_option | Set configuration option and optionally propagate changes. |
| get_loaded_files | Get list of successfully loaded configuration files. |
load_configs
load_configs()Load configurations from files in priority order with automatic migration.
save_config
save_config(global_config=False, force=False)Save current configuration to file with version metadata.
Parameters
global_config : bool, optional If True, save to global config file force : bool, optional If True, overwrite existing file
Returns
bool True if saved successfully, False otherwise
init_config
init_config(global_config=False, force=False, comment_style='##')Initialize a new configuration file with parametrizable template.
get_config_path
get_config_path(global_config=False)Get path to configuration file.
show_config
show_config(global_config=None)Show current configuration.
Parameters
global_config : bool | None, optional If True, show only global config. If False, only local. If None, show merged configuration.
Returns
dict[str, Any] Configuration dictionary
reset_config
reset_config(global_config=False)Reset configuration file to defaults with proper template and version header.
get_option
get_option(key, default=None)Get configuration option value.
set_option
set_option(key, value, propagate=True)Set configuration option and optionally propagate changes.
Parameters
key : str Option name value : Any Option value propagate : bool, optional Whether to propagate changes to affected subsystems
get_loaded_files
get_loaded_files()Get list of successfully loaded configuration files.
Functions
| Name | Description |
|---|---|
| get_config_manager | Get the global configuration manager instance. |
| get_options | Get current configuration options (backward compatibility). |
get_config_manager
get_config_manager()Get the global configuration manager instance.
get_options
get_options()Get current configuration options (backward compatibility).