# Author RAG Chatbot SaaS — Python Dependencies # ───────────────────────────────────────────────────────── # Install: pip install -r requirements.txt # Update this file after any dependency change (RULES.md #59) # ───────────────────────────────────────────────────────── # ── Core Framework ──────────────────────────────────────── fastapi==0.115.9 uvicorn[standard]==0.32.1 python-multipart==0.0.9 pydantic[email]==2.10.6 email-validator==2.1.1 pydantic-settings==2.7.1 # ── Database ────────────────────────────────────────────── sqlalchemy[asyncio]==2.0.30 asyncpg==0.29.0 aiosqlite==0.20.0 alembic==1.13.1 greenlet==3.0.3 # ── Redis ───────────────────────────────────────────────── redis[hiredis]==5.0.4 # ── Auth ────────────────────────────────────────────────── python-jose[cryptography]==3.3.0 bcrypt==4.1.3 pyotp==2.9.0 # TOTP for SuperAdmin 2FA qrcode[pil]==7.4.2 # QR code for TOTP setup # ── OpenAI ──────────────────────────────────────────────── openai==1.30.1 tiktoken==0.7.0 tenacity>=8.2.3 # LLM retry with exponential backoff (Phase 2A) # ── Vector Database ─────────────────────────────────────── chromadb==0.5.0 numpy==1.26.4 # chromadb 0.5.x incompatible with NumPy 2.x rank-bm25==0.2.2 # Lightweight pure-Python BM25 for hybrid retrieval # ── Free Local ML Models ────────────────────────────────── sentence-transformers==3.0.1 # MiniLM intent + book confidence torch==2.3.0 # Required by sentence-transformers transformers==4.41.1 # BART summarizer + NLI model accelerate==0.30.0 # Faster model inference # ── Document Parsing ────────────────────────────────────── pypdf2==3.0.1 # PDF text extraction ebooklib==0.18 # EPUB parsing python-docx==1.1.0 # DOCX parsing python-magic==0.4.27 # MIME type detection by magic bytes # ── Celery (Background Tasks) ───────────────────────────── celery[redis]==5.4.0 flower==2.0.1 # Celery monitoring UI # ── Analytics / Geo ─────────────────────────────────────── maxminddb==2.6.0 # MaxMind GeoLite2 reader user-agents==2.2.0 # Browser/device detection # ── HTTP Client (for URL validation) ────────────────────── httpx==0.27.0 # ── Logging ─────────────────────────────────────────────── structlog==24.2.0 # ── Observability (R-159) ───────────────────────────────── prometheus_client==0.20.0 sentry-sdk[fastapi]==2.5.1 # ── Testing ─────────────────────────────────────────────── pytest==8.2.1 pytest-asyncio==0.23.7 pytest-cov==5.0.0 httpx==0.27.0 # Test client for FastAPI behave==1.2.6 # BDD test runner factory-boy==3.3.0 # Test data factories # ── Dev Tools ───────────────────────────────────────────── python-dotenv==1.0.1 mypy==1.10.0 ruff==0.4.5 # Linter + formatter # ── Billing ──────────────────────────────────────────────── stripe>=10.0.0 # Stripe SDK (billing, Connect, webhooks) # ── Testing extras ──────────────────────────────────────── fakeredis[aioredis]>=2.23.0 # In-memory Redis for tests (no real Redis needed) # ── Enterprise / SSO (optional — install on Enterprise tier) ── dnspython>=2.6.0 # Custom domain TXT verification python3-saml>=1.16.0 # SAML 2.0 SSO