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.