# ============================================================================ # Climate Advisory System - Python Dependencies # ============================================================================ # # INSTALLATION INSTRUCTIONS: # # For cPanel/MySQL deployment (RECOMMENDED): # pip install -r requirements-mysql.txt # # For PostgreSQL deployment: # pip install -r requirements.txt # (Note: Requires PostgreSQL development libraries) # # For local development: # pip install -r requirements.txt # # ============================================================================ # ---------------------------------------------------------------------------- # REQUIRED: Core Web Framework # ---------------------------------------------------------------------------- fastapi==0.104.1 # Web framework uvicorn==0.24.0 # ASGI server (runs FastAPI) mangum>=0.17.0 # ASGI-to-WSGI adapter (REQUIRED for Passenger/cPanel) pydantic==2.12.5 # Data validation (frozen) pydantic-settings==2.12.0 # Settings management (frozen) jinja2==3.1.2 # Template engine aiofiles==23.2.1 # Async file operations # ---------------------------------------------------------------------------- # REQUIRED: Database (Choose ONE based on your deployment) # ---------------------------------------------------------------------------- sqlalchemy==2.0.45 # Database ORM (frozen version) alembic==1.12.1 # Database migrations # For MySQL/MariaDB (cPanel shared hosting): pymysql==1.1.0 # MySQL driver - REQUIRED for cPanel cryptography==46.0.3 # SSL support for MySQL connections (frozen) # For PostgreSQL (optional, not needed for MySQL): # psycopg2-binary==2.9.9 # PostgreSQL driver - SKIP for MySQL deployments # ---------------------------------------------------------------------------- # REQUIRED: Data Processing # ---------------------------------------------------------------------------- pandas==2.3.3 # Data manipulation and analysis (frozen) numpy==2.4.0 # Numerical computing (frozen) # ---------------------------------------------------------------------------- # REQUIRED: HTTP Clients # ---------------------------------------------------------------------------- httpx==0.25.2 # Async HTTP client (better performance) requests==2.31.0 # HTTP library for API calls # ---------------------------------------------------------------------------- # REQUIRED: Scheduling & Background Tasks # ---------------------------------------------------------------------------- apscheduler==3.10.4 # Task scheduling # ---------------------------------------------------------------------------- # REQUIRED: SMS/WhatsApp Integration # ---------------------------------------------------------------------------- twilio==8.10.0 # SMS and WhatsApp messaging # Note: WhatsApp uses Twilio directly, no separate package needed # ---------------------------------------------------------------------------- # REQUIRED: Utilities # ---------------------------------------------------------------------------- python-dotenv==1.2.1 # Environment variable management (.env files) (frozen) pyyaml==6.0.1 # YAML configuration parsing python-dateutil==2.8.2 # Date/time utilities pytz==2023.3 # Timezone support cachetools==6.2.4 # Caching utilities (frozen) certifi==2025.11.12 # SSL certificates (frozen) werkzeug==3.1.4 # WSGI utilities (frozen) python-jose==3.5.0 # JWT token handling (frozen) # ---------------------------------------------------------------------------- # REQUIRED: Machine Learning # ---------------------------------------------------------------------------- joblib==1.5.3 # Model serialization (frozen) scikit-learn==1.8.0 # Machine learning models (frozen - included in venv) scipy==1.16.3 # Scientific computing (frozen - included in venv) # ---------------------------------------------------------------------------- # OPTIONAL: Advanced Machine Learning (not required for basic functionality) # ---------------------------------------------------------------------------- # Uncomment these if you need advanced ML features: # scikit-learn==1.3.2 # Machine learning models (large package) # prophet==1.1.5 # Time-series forecasting (requires C++ compiler) # ---------------------------------------------------------------------------- # OPTIONAL: Geospatial Data Processing (not required for basic functionality) # ---------------------------------------------------------------------------- # These require system libraries (HDF5, GDAL) - usually not available on shared hosting # Uncomment only if deploying to VPS/dedicated server with these libraries: # xarray==2023.11.0 # Multi-dimensional arrays # rasterio==1.3.9 # Geospatial raster I/O (requires GDAL) # netcdf4==1.6.4 # NetCDF file support (requires HDF5) # h5netcdf==1.2.0 # HDF5/NetCDF support (requires HDF5) # ---------------------------------------------------------------------------- # OPTIONAL: Development & Testing (not needed for production) # ---------------------------------------------------------------------------- # pytest==7.4.3 # Testing framework # pytest-asyncio==0.21.1 # Async testing support # pytest-cov==4.1.0 # Test coverage # black==23.11.0 # Code formatter # flake8==6.1.0 # Linter # mypy==1.7.1 # Type checker