Reorganize Palladium codebase into a modular architecture with `core/` shared logic and `app/` Streamlit UI, separating per-study assets into `studies/YYYYMM_<Vendor>/` folders containing notebooks, seed data, and configuration. Update README to reflect new structure, add `.gitignore` entries for `.env` and study exports, and refresh component documentation.
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
"""
|
|
Study configuration for the Amazon Connect TEI (February 2026).
|
|
|
|
Set ``TOOL_PUBLIC_ID`` to the public_id of the live TEI tool instance in
|
|
Athena once it has been created. ``REPORT_PUBLIC_ID`` is the template
|
|
this tool was created from (Athena admin sets up Report templates).
|
|
|
|
Until both are filled in, the notebooks fall back to local-only mode:
|
|
they compute summaries from ``seed_data.py`` using ``core.calculations``
|
|
and skip the network round-trip.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
|
|
#: Human-friendly study identifier — used in export metadata + filenames.
|
|
STUDY_SLUG = "202602_AmazonConnect"
|
|
|
|
#: TEI Report template public_id (12-char short UUID). Provisioned in
|
|
#: Athena admin → TEI → Reports.
|
|
REPORT_PUBLIC_ID: str = os.getenv("PALLADIUM_REPORT_PUBLIC_ID", "")
|
|
|
|
#: TEI Tool instance public_id. Created via the API
|
|
#: (``client.create_tool``) or the Streamlit app sidebar.
|
|
TOOL_PUBLIC_ID: str = os.getenv("PALLADIUM_TOOL_PUBLIC_ID", "")
|
|
|
|
#: Default discount rate used for local validation of the study numbers.
|
|
DISCOUNT_RATE = 0.10
|
|
|
|
#: Analysis horizon (years).
|
|
ANALYSIS_YEARS = 3
|
|
|
|
#: Optional Athena Proposal ID this tool is linked to (when known).
|
|
PROPOSAL_ID: int | None = (
|
|
int(os.environ["PALLADIUM_PROPOSAL_ID"])
|
|
if os.getenv("PALLADIUM_PROPOSAL_ID")
|
|
else None
|
|
)
|