# Knowledge RAG System - Python Dependencies
# ==========================================
# Requires Python 3.11+ (3.11, 3.12, 3.13, 3.14 supported)

# 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 (FastMCP)
mcp>=1.0.0

# BM25 for Hybrid Search (keyword + semantic)
rank-bm25>=0.2.2

# 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 ~/.cache/fastembed/
#
# 3. Python 3.13+ is supported since v3.5.1
#    (onnxruntime now ships wheels for 3.13 and 3.14)
# ==========================================
