Running from Python#

The entry script (__main__.py) does this for you, but you can drive the pipeline directly if you need finer control (e.g. from a notebook or a custom orchestration script):

import logging
from pathlib import Path

from kaxanuk.attribution_analysis.config_handlers.excel_configurator import ExcelConfigurator
from kaxanuk.attribution_analysis.performance_attribution import main
from kaxanuk.attribution_analysis.services.configuration_logger import configure_logger
from kaxanuk.attribution_analysis.services.env_loader import load_config_env

# Load Config/.env (e.g. FRED_API_KEY)
load_config_env()

configure_logger(
    logger_name="kaxanuk.attribution_analysis",
    logger_level=logging.INFO,
    logger_format="[%(levelname)s] %(message)s",
    logger_file=None,
)

# Load and validate the Excel configuration
configurator = ExcelConfigurator(Path("Config") / "attribution_analysis_parameters.xlsx")
configuration = configurator.get_configuration()

# Run the full attribution pipeline
main(
    configuration,
    launch_dashboard=True,
    dashboard_port=configurator.get_dashboard_port(),
)

See API Reference for the full reference on main(), ExcelConfigurator, and the other public entry points used above.