# GigLez production runtime — the LIVE simple-mode path only # (src/api/main_simple.py → SignatureMatcher → pattern_decoder → statistical ML). # # Versions are pinned to what actually trained/serves the model in this env. # In particular scikit-learn/numpy MUST match the versions the # models/category_classifier.joblib bundle was built with (1.6.1 / 2.2.x), # or joblib.load() will warn/break. Do NOT downgrade to the old # requirements.txt pins — those drive the dormant SQLAlchemy/PostGIS path. # # NOTE: torch/onnx are intentionally absent — the Phase 3B CNN is benched # (loses to the statistical model), so it is not part of the serving path. # Web stack fastapi==0.121.1 starlette==0.46.0 uvicorn[standard]==0.31.1 jinja2==3.1.6 python-multipart==0.0.22 pydantic==2.12.4 # Numerics + statistical ML (RAW category classifier) numpy==2.2.6 scipy==1.15.3 scikit-learn==1.6.1 joblib==1.5.3 # Support loguru==0.7.2 pyyaml==6.0.2 python-dateutil==2.9.0.post0