Source code for kaxanuk.attribution_analysis.interfaces.configurator_interface

"""
Interface for classes creating Configuration entities and their input handler.
"""

from kaxanuk.attribution_analysis.entities.configuration import Configuration
from kaxanuk.attribution_analysis.interfaces.input_handler_interface import InputHandlerInterface

import abc

[docs] class ConfiguratorInterface(metaclass=abc.ABCMeta): """ Abstract base class for configurator implementations. Concrete implementations must provide the run `Configuration` and the `InputHandlerInterface` used to load ticker data for that configuration. """
[docs] @abc.abstractmethod def get_configuration(self) -> Configuration: """ Build and return the validated run configuration. Returns ------- Configuration The configuration for the current attribution analysis run. """ ...
[docs] @abc.abstractmethod def get_input_handler(self) -> InputHandlerInterface: """ Build and return the input handler matching the configuration. Returns ------- InputHandlerInterface The input handler used to load ticker data. """ ...