cursus.api.factory.configuration_generator

Configuration Generator

This module provides functionality for generating final configuration instances with proper base config inheritance. It handles the assembly of step-specific configurations with base pipeline configurations.

Key Components: - ConfigurationGenerator: Generates config instances with base config inheritance - Configuration assembly with proper field inheritance - Validation and error handling for configuration generation

class ConfigurationGenerator(base_config, base_processing_config=None)[source]

Bases: object

Generates final configuration instances with base config inheritance.

This class handles the complex task of combining base pipeline configurations with step-specific configurations, ensuring proper inheritance and validation.

generate_config_instance(config_class, step_inputs)[source]

Generate config instance using base config inheritance.

Parameters:
  • config_class (Type[BaseModel]) – Configuration class to instantiate

  • step_inputs (Dict[str, Any]) – Step-specific input values

Returns:

Configured instance with base config inheritance applied

Return type:

BaseModel

generate_all_instances(config_class_map, step_configs)[source]

Generate all configuration instances with proper inheritance.

Parameters:
Returns:

List of configured instances ready for pipeline execution

Return type:

List[BaseModel]

validate_generated_configs(configs)[source]

Validate generated configuration instances.

Parameters:

configs (List[BaseModel]) – List of generated configuration instances

Returns:

Dictionary mapping config class names to validation error lists

Return type:

Dict[str, List[str]]

get_config_summary(configs)[source]

Get summary information about generated configurations.

Parameters:

configs (List[BaseModel]) – List of generated configuration instances

Returns:

Dictionary with summary information for each config

Return type:

Dict[str, Dict[str, Any]]