# ============================================================================ # Climate Advisory System - MySQL Dependencies (cPanel Shared Hosting) # ============================================================================ # # USE THIS FILE FOR: cPanel shared hosting with MySQL/MariaDB # # INSTALLATION: # 1. SSH into your cPanel server # 2. Activate virtual environment: # source ~/virtualenv/utabiri.postpesa.com/3.13/bin/activate # 3. Install dependencies: # pip install --upgrade pip # pip install -r requirements-mysql.txt # # This file excludes PostgreSQL dependencies (psycopg2-binary) which # require system libraries not available on shared hosting. # # ============================================================================ # ---------------------------------------------------------------------------- # REQUIRED: Core Web Framework # ---------------------------------------------------------------------------- fastapi==0.104.1 # Web framework - serves your application uvicorn==0.24.0 # ASGI server - runs FastAPI (required by Passenger) mangum>=0.17.0 # ASGI-to-WSGI adapter (REQUIRED for Passenger/cPanel) pydantic==2.12.5 # Data validation and settings (frozen - has pre-built wheels) pydantic-settings==2.12.0 # Environment variable management (frozen) jinja2==3.1.2 # HTML template rendering aiofiles==23.2.1 # Async file uploads/downloads # ---------------------------------------------------------------------------- # REQUIRED: Database (MySQL/MariaDB for cPanel) # ---------------------------------------------------------------------------- sqlalchemy>=2.0.36 # Database ORM - works with MySQL alembic==1.12.1 # Database migrations - creates/updates tables pymysql==1.1.0 # MySQL driver - REQUIRED for MySQL connections cryptography==41.0.7 # SSL/TLS support for secure MySQL connections # NOTE: psycopg2-binary (PostgreSQL) is NOT included here # Use requirements.txt if you need PostgreSQL support # ---------------------------------------------------------------------------- # REQUIRED: Data Processing # ---------------------------------------------------------------------------- pandas>=2.2.0 # Data analysis - processes climate data numpy>=1.26.0 # Numerical computing - calculations # ---------------------------------------------------------------------------- # REQUIRED: HTTP Clients # ---------------------------------------------------------------------------- httpx==0.25.2 # Async HTTP client - faster API calls requests==2.31.0 # HTTP library - external API integration # ---------------------------------------------------------------------------- # REQUIRED: Scheduling & Background Tasks # ---------------------------------------------------------------------------- apscheduler==3.10.4 # Task scheduler - runs periodic jobs # ---------------------------------------------------------------------------- # REQUIRED: SMS/WhatsApp Integration # ---------------------------------------------------------------------------- twilio==8.10.0 # SMS and WhatsApp messaging service # WhatsApp uses Twilio directly - no additional package needed # ---------------------------------------------------------------------------- # REQUIRED: Utilities # ---------------------------------------------------------------------------- python-dotenv==1.0.0 # Loads .env file with database credentials pyyaml==6.0.1 # Reads YAML configuration files python-dateutil==2.8.2 # Date/time parsing and manipulation pytz==2023.3 # Timezone handling cachetools>=6.0.0 # Caching for better performance certifi>=2024.4.0 # SSL certificate bundle werkzeug>=3.0.0 # WSGI utilities python-jose[cryptography]>=3.3.0 # JWT token generation/validation # ---------------------------------------------------------------------------- # REQUIRED: Machine Learning # ---------------------------------------------------------------------------- joblib==1.3.2 # Saves/loads ML models # ---------------------------------------------------------------------------- # OPTIONAL: Advanced Features (not required for basic functionality) # ---------------------------------------------------------------------------- # Uncomment these only if you need advanced ML features: # scikit-learn==1.3.2 # Advanced ML models (large package, ~50MB) # prophet==1.1.5 # Time-series forecasting (requires C++ compiler) # ---------------------------------------------------------------------------- # OPTIONAL: Geospatial Processing (usually NOT available on shared hosting) # ---------------------------------------------------------------------------- # These require system libraries (HDF5, GDAL) typically not on shared hosting # Only uncomment if your cPanel host provides 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 Tools (not needed for production) # ---------------------------------------------------------------------------- # pytest==7.4.3 # Testing framework # pytest-asyncio==0.21.1 # Async testing # pytest-cov==4.1.0 # Test coverage # black==23.11.0 # Code formatter # flake8==6.1.0 # Code linter # mypy==1.7.1 # Type checker