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.
"""
...