Test isolation fixes: - auth_db.get_db(): read TURF_SAAS_DB dynamically (not frozen at import) - api_v1/utils.get_db(): read TURF_SAAS_DB dynamically (not frozen at import) - api_tokens_db.get_db(): read TURF_SAAS_DB dynamically (not frozen at import) - tests/test_history.py: enforce _tmp_db.name + call init_auth_tables() in fixtures - tests/test_user_tokens.py: enforce _tmp_db.name + call migrate_api_tokens_tables() in app fixture Auth compatibility fixes: - api_v1/routes/history.py: use auth.jwt_required_middleware (flask_jwt_extended) with saas_auth fallback for portal_server context - api_v1/routes/ml_feedback.py: same auth import strategy - api_v1/routes/user.py: same auth import strategy Dependencies: - requirements.txt: add optuna>=4.0.0 (used in ML ensemble tests and training) Co-Authored-By: Paperclip <noreply@paperclip.ing>
37 lines
525 B
Plaintext
37 lines
525 B
Plaintext
# Core web framework
|
|
Flask==3.1.3
|
|
flask-cors==6.0.2
|
|
gunicorn==23.0.0
|
|
|
|
# HTTP client
|
|
requests==2.32.3
|
|
|
|
# Data processing & ML
|
|
pandas==3.0.1
|
|
numpy==2.4.3
|
|
scikit-learn==1.6.1
|
|
xgboost==3.2.0
|
|
|
|
# Database - PostgreSQL
|
|
psycopg2-binary==2.9.12
|
|
SQLAlchemy==2.0.40
|
|
alembic==1.16.1
|
|
|
|
# Scheduling
|
|
schedule==1.2.2
|
|
|
|
# Monitoring
|
|
prometheus-client==0.21.1
|
|
|
|
# Logging
|
|
python-json-logger==3.3.0
|
|
|
|
# Security
|
|
python-dotenv==1.1.0
|
|
|
|
# Utilities
|
|
python-dateutil==2.9.0
|
|
|
|
# Hyperparameter optimization (ML ensemble tuning — HRT-136)
|
|
optuna>=4.0.0
|