# ── Web Framework ───────────────────────────────────────────────────────────── fastapi>=0.110.0 uvicorn[standard]>=0.29.0 python-multipart>=0.0.9 # required by FastAPI for form/file uploads # ── Data Validation & Settings ──────────────────────────────────────────────── pydantic>=2.0.0 pydantic-settings>=2.0.0 # BaseSettings / .env loading # ── Database ────────────────────────────────────────────────────────────────── sqlalchemy>=2.0.0 alembic>=1.13.0 # database migrations psycopg2-binary>=2.9.9 # PostgreSQL driver # ── Authentication & Security ───────────────────────────────────────────────── python-jose[cryptography]>=3.3.0 # JWT encoding/decoding passlib[bcrypt]>=1.7.4 # password hashing # ── ML & Data Science ───────────────────────────────────────────────────────── xgboost>=2.0.0 # Layer 1 (time-series) & Layer 2 (operational) prediction scikit-learn>=1.4.0 # Layer 3 (IsolationForest) & Layer 4 (LogisticRegression) joblib>=1.3.0 # model serialisation / deserialisation numpy>=1.26.0 pandas>=2.2.0 # ── Model Explainability ────────────────────────────────────────────────────── shap>=0.45.0 # SHAP feature importance (used in Layer 1 evaluation) matplotlib>=3.8.0 # SHAP summary plots # ── Smart Insights (LLM) ────────────────────────────────────────────────────── groq>=0.9.0 # Groq API client — Llama 3.3 70B for natural language insights # ── HTTP & Environment ──────────────────────────────────────────────────────── requests>=2.31.0 # internal HTTP calls (insights endpoint → prediction API) python-dotenv>=1.0.0 # .env file loading