# Knowledge RAG System - Python Dependencies
# ==========================================
# Requires Python 3.11+; CI validates Python 3.11, 3.12 and 3.13.

# Vector Database (uses new PersistentClient API)
chromadb>=1.4.0

# PDF Parser (text extraction)
pymupdf>=1.23.0

# Embeddings & Reranker (ONNX Runtime, in-process, no external server)
# [reranking] extra installs cross-encoder dependencies (required for reranker)
fastembed[reranking]>=0.4.0

# MCP Server Framework — Anthropic Tier 1 SDK (v2.x, speaks the MCP spec
# 2026-07-28 natively). FastMCP was renamed to MCPServer and lives under
# `mcp.server` in v2.x; the standalone `fastmcp` package was intentionally
# not adopted because its base install (`fastmcp[server]`) doubles the
# transitive dep count and pushes idle RSS +20% vs the pre-migration baseline.
mcp>=2.0.0,<3.0.0

# Vector math for the built-in BM25 and embedding validation
numpy>=1.24.0

# URL content fetching (add_from_url tool)
requests>=2.33.0

# HTML parsing (add_from_url tool)
beautifulsoup4>=4.12.0

# Office formats (DOCX, XLSX, PPTX)
python-docx>=1.0.0
openpyxl>=3.1.0
python-pptx>=1.0.0

# YAML configuration
pyyaml>=6.0

# File watcher (auto-reindex on document changes)
watchdog>=4.0.0

# ==========================================
# IMPORTANT NOTES:
# ==========================================
# 1. FastEmbed auto-downloads models on first run
#    (no manual setup required, unlike Ollama)
#
# 2. Default embedding model: BAAI/bge-small-en-v1.5 (384-dim)
#    Cached in the configured paths.models_cache_dir.
#
# 3. Newer Python versions depend on wheels for the complete dependency tree;
#    they are not covered by the project's current release CI matrix.
# ==========================================
