# MHA Toolbox v3.0.0 - Production Requirements
# Flask-based with MongoDB support for cloud deployment

# CORE DEPENDENCIES
numpy>=1.24.0,<2.0.0
pandas>=2.0.0,<3.0.0
scipy>=1.11.0,<2.0.0
scikit-learn>=1.3.0,<2.0.0
python-dateutil>=2.8.0

# VISUALIZATION
matplotlib>=3.7.0,<4.0.0
seaborn>=0.12.0,<1.0.0
plotly>=5.17.0,<6.0.0

# FLASK WEB FRAMEWORK
Flask>=2.3.0,<3.0.0
Flask-CORS>=4.0.0,<5.0.0
Flask-Session>=0.5.0,<1.0.0
Flask-Login>=0.6.0,<1.0.0
Werkzeug>=2.3.0,<3.0.0

# DATABASE - MongoDB (Primary - Recommended for Cloud)
flask-mongoengine>=1.0.0
mongoengine>=0.27.0
pymongo>=4.6.0
dnspython>=2.4.0  # Required for MongoDB Atlas connections

# DATABASE - SQL Databases (Optional Fallback)
Flask-SQLAlchemy>=3.0.0,<4.0.0
SQLAlchemy>=2.0.0,<3.0.0
psycopg2-binary>=2.9.0  # PostgreSQL adapter (optional)
pymysql>=1.1.0  # MySQL adapter (optional)

# EXCEL SUPPORT
openpyxl>=3.1.0,<4.0.0
xlsxwriter>=3.1.0,<4.0.0
Pillow>=10.0.0,<11.0.0

# UTILITIES & PROGRESS
tqdm>=4.66.0,<5.0.0
joblib>=1.3.0,<2.0.0
click>=8.1.0,<9.0.0
requests>=2.31.0,<3.0.0  # For GitHub API integration

# PRODUCTION DEPLOYMENT
gunicorn>=21.0.0,<22.0.0  # WSGI server for production
python-dotenv>=1.0.0,<2.0.0  # Environment variable management