refactor: restructure repo into core/app modules with per-study folders

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.
This commit is contained in:
2026-05-20 22:28:12 -04:00
parent a6f3ee3676
commit a2420ed692
52 changed files with 35300 additions and 105 deletions

32
tests/conftest.py Normal file
View File

@@ -0,0 +1,32 @@
"""Pytest fixtures for Palladium tests."""
from __future__ import annotations
import os
import sys
from pathlib import Path
import pytest
ROOT = Path(__file__).resolve().parent.parent
if str(ROOT) not in sys.path:
sys.path.insert(0, str(ROOT))
@pytest.fixture(autouse=True)
def _env(monkeypatch):
"""Default test env vars so TEIClient() doesn't need a real .env."""
monkeypatch.setenv("ATHENA_BASE_URL", "https://athena.test")
monkeypatch.setenv("ATHENA_API_KEY", "test-key")
@pytest.fixture
def amazon_connect_seed():
"""Load the Amazon Connect study's seed data."""
sys.path.insert(0, str(ROOT / "studies" / "202602_AmazonConnect"))
try:
import seed_data # type: ignore[import-not-found]
return seed_data
finally:
# Leave the path alone — many tests will use the seed
pass