Configuration Manager API

Configuration Management System for VarAnnote v1.0.0

Provides comprehensive configuration management including: - YAML configuration file loading - Environment variable overrides - User preference management - Configuration validation - Default value handling

class varannote.utils.config_manager.DatabaseConfig(name, priority=5, api_key=None, rate_limit=5.0, timeout=30, enabled=True)[source]

Bases: object

Database configuration settings

name: str
priority: int = 5
api_key: Optional[str] = None
rate_limit: float = 5.0
timeout: int = 30
enabled: bool = True
__init__(name, priority=5, api_key=None, rate_limit=5.0, timeout=30, enabled=True)
class varannote.utils.config_manager.PerformanceConfig(max_workers=4, use_parallel=True, batch_size=50, max_concurrent_requests=30, max_cache_size_mb=500, cache_cleanup_interval=3600, max_connections=100, max_connections_per_host=30)[source]

Bases: object

Performance configuration settings

max_workers: int = 4
use_parallel: bool = True
batch_size: int = 50
max_concurrent_requests: int = 30
max_cache_size_mb: int = 500
cache_cleanup_interval: int = 3600
max_connections: int = 100
max_connections_per_host: int = 30
__init__(max_workers=4, use_parallel=True, batch_size=50, max_concurrent_requests=30, max_cache_size_mb=500, cache_cleanup_interval=3600, max_connections=100, max_connections_per_host=30)
class varannote.utils.config_manager.CacheConfig(enabled=True, directory='~/.varannote/cache', max_age_days=30, max_size_gb=2.0, compression=True, strategies=None)[source]

Bases: object

Cache configuration settings

enabled: bool = True
directory: str = '~/.varannote/cache'
max_age_days: int = 30
max_size_gb: float = 2.0
compression: bool = True
strategies: Dict[str, str] = None
__init__(enabled=True, directory='~/.varannote/cache', max_age_days=30, max_size_gb=2.0, compression=True, strategies=None)
class varannote.utils.config_manager.OutputConfig(default_format='vcf', available_formats=None, include_fields=None, filters=None)[source]

Bases: object

Output configuration settings

default_format: str = 'vcf'
available_formats: List[str] = None
include_fields: List[str] = None
filters: Dict[str, Any] = None
__init__(default_format='vcf', available_formats=None, include_fields=None, filters=None)
class varannote.utils.config_manager.LoggingConfig(level='INFO', directory='~/.varannote/logs', max_file_size_mb=10, backup_count=5, categories=None)[source]

Bases: object

Logging configuration settings

level: str = 'INFO'
directory: str = '~/.varannote/logs'
max_file_size_mb: int = 10
backup_count: int = 5
categories: Dict[str, bool] = None
__init__(level='INFO', directory='~/.varannote/logs', max_file_size_mb=10, backup_count=5, categories=None)
class varannote.utils.config_manager.ConfigManager(config_file=None, user_config_dir=None)[source]

Bases: object

Comprehensive configuration manager for VarAnnote

Features: - YAML configuration file loading - Environment variable overrides - Configuration validation - Default value management - User preference handling - Configuration merging and inheritance

__init__(config_file=None, user_config_dir=None)[source]

Initialize configuration manager

Parameters:
  • config_file (Union[str, Path, None]) – Path to main configuration file

  • user_config_dir (Union[str, Path, None]) – Directory for user-specific configurations

get(key, default=None)[source]

Get configuration value by key

Return type:

Any

set(key, value)[source]

Set configuration value by key

get_database_config(database_name)[source]

Get database configuration

Return type:

Optional[DatabaseConfig]

get_enabled_databases()[source]

Get list of enabled databases sorted by priority

Return type:

List[str]

save_user_config(config_updates)[source]

Save user configuration updates

export_config(output_file, format='yaml')[source]

Export current configuration to file

get_config_summary()[source]

Get configuration summary

Return type:

Dict[str, Any]

varannote.utils.config_manager.get_config_manager(**kwargs)[source]

Get global configuration manager instance

Return type:

ConfigManager

varannote.utils.config_manager.get_config(key, default=None)[source]

Get configuration value

Return type:

Any

varannote.utils.config_manager.get_database_config(database_name)[source]

Get database configuration

Return type:

Optional[DatabaseConfig]

varannote.utils.config_manager.get_enabled_databases()[source]

Get enabled databases sorted by priority

Return type:

List[str]