# Production API image: everything in requirements.txt EXCEPT sentence-transformers. # # Embeddings are only computed inside collection runs (collector.embed -> # services/embeddings_service.py, imported lazily), and the collector already # skips that step when it fails. Leaving MiniLM/PyTorch out keeps the image # ~2 GB smaller; set USE_EMBEDDINGS=false in the production environment. # Keep the two files in step when a dependency is added. # --- API --- fastapi>=0.115.0 uvicorn[standard]>=0.30.6 pydantic>=2.9.2 python-dotenv>=1.0.1 PyJWT>=2.9.0 fastmcp>=4.0,<5 # MCP endpoint at /mcp/ (app/mcp_server.py) # --- Database --- psycopg[binary]>=3.2.3 pgvector>=0.2.5 # --- HTTP, search, parsing (used by admin collection runs) --- requests>=2.31.0 httpx>=0.27.2 ddgs>=9.14.4 protego>=0.3.1 extruct>=0.17.0 beautifulsoup4>=4.12.3 lxml>=4.9.3 PyYAML>=6.0 # --- Normalisation / matching --- rapidfuzz>=3.9.0 # --- CLI --- typer>=0.12.0