# UdyamLinc ML service — pinned to the versions the published metrics were
# produced with (AUC 0.760 on 5,523 rows, run 289, 2026-08-24). LightGBM and
# SHAP in particular are pinned rather than floated: a different LightGBM minor
# can change tree construction, and stress_model.pkl is a pickle of a fitted
# LightGBM object, so an unpinned load is not guaranteed to work at all.
#
#   py -m venv .mlvenv
#   .mlvenv/Scripts/python -m pip install -r requirements.txt
#   .mlvenv/Scripts/python -m uvicorn serving.app:app --port 8000

# model
lightgbm==4.7.0
xgboost==3.4.1
scikit-learn==1.9.0
shap==0.52.0

# data
pandas==3.0.5
numpy==2.5.2
pyarrow==25.0.1
psycopg[binary]==3.3.4

# service
fastapi==0.141.1
uvicorn==0.52.4
pydantic==2.13.4
