# ============================================================================= # FastAPI Data Gateway — Python Dependencies # ============================================================================= # Install: pip install -r requirements.txt # Dev only: pip install -r requirements.txt -r requirements-dev.txt # ============================================================================= # --- Web Framework ------------------------------------------------------------ fastapi>=0.111.0,<1.0.0 uvicorn[standard]>=0.29.0,<1.0.0 # ASGI server with uvloop + httptools # --- Database ---------------------------------------------------------------- sqlalchemy[asyncio]>=2.0.30,<3.0.0 # async ORM asyncpg>=0.29.0,<1.0.0 # PostgreSQL async driver alembic>=1.13.0,<2.0.0 # DB migrations # --- Cache / Rate Limiting --------------------------------------------------- redis[hiredis]>=5.0.4,<6.0.0 # async Redis client slowapi>=0.1.9,<1.0.0 # FastAPI rate limiting (limiter) # --- Auth / Cryptography ----------------------------------------------------- python-jose[cryptography]>=3.3.0,<4.0.0 # JWT encode / decode (HS256) passlib[bcrypt]>=1.7.4,<2.0.0 # bcrypt password hashing bcrypt>=4.1.2,<5.0.0 # underlying bcrypt implementation cryptography>=42.0.0,<44.0.0 # Fernet symmetric encryption for API secrets # --- HTTP / WebSocket -------------------------------------------------------- httpx>=0.27.0,<1.0.0 # async HTTP client (testing + outbound) websockets>=12.0,<13.0.0 # WebSocket support # --- Validation / Serialisation ---------------------------------------------- pydantic>=2.7.0,<3.0.0 # data models + validation (FastAPI v2) pydantic-settings>=2.3.0,<3.0.0 # .env loading via BaseSettings python-multipart>=0.0.9,<1.0.0 # form data parsing (login form support) # --- Scheduler --------------------------------------------------------------- apscheduler>=3.10.0,<4.0.0 # AsyncIOScheduler + IntervalTrigger tzdata>=2024.1 # IANA timezone database (required on Windows/minimal Linux) # --- External data sources --------------------------------------------------- aiomysql>=0.2.0,<1.0.0 # async MySQL/MariaDB client (DSE remote DB) # --- Utilities --------------------------------------------------------------- python-dotenv>=1.0.1,<2.0.0 # load .env file in dev structlog>=24.1.0,<25.0.0 # structured JSON logging orjson>=3.10.3,<4.0.0 # fast JSON serializer for FastAPI tenacity>=8.3.0,<9.0.0 # retry logic for DB / Redis connections and retries pydantic[email]