# ---------------------------------------------------------------------------
# Text2OfficeProcessor — Python dependency manifest
# Install everything:     pip install -r requirements.txt
# Core only:              pip install text2officeprocessor
# With web UI:            pip install text2officeprocessor[web]
# With all LLM providers: pip install text2officeprocessor[all-llm]
# Development:            pip install text2officeprocessor[dev]
# ---------------------------------------------------------------------------

# ── Core dependencies (always required) ─────────────────────────────────────
python-pptx>=1.0.2          # PPTX generation and SlidePart cloning
python-docx>=1.1.2          # DOCX template injection
openpyxl>=3.1.2             # XLSX structured mapping
lxml>=5.1.0                 # XML parsing (used by pptx, docx, html preprocessor)
typer>=0.12.3               # CLI framework
pyyaml>=6.0.1               # Config YAML loading
requests>=2.31.0            # HTTP calls for LLM providers (Ollama, OpenRouter)
watchdog>=4.0.0             # File watching (text2officeprocessor watch command)

# ── Web UI extras (optional — install with: pip install text2officeprocessor[web]) ──────
fastapi>=0.110.0            # Web application framework
uvicorn[standard]>=0.29.0   # ASGI server for text2officeprocessor serve
python-multipart>=0.0.9     # multipart/form-data file upload support

# ── LLM provider extras (optional — install only what you use) ───────────────
openai>=1.30.0              # OpenAI GPT models
anthropic>=0.30.0           # Anthropic Claude models
groq>=0.9.0                 # Groq (Llama, Mixtral via API)

# ── Development / testing dependencies ───────────────────────────────────────
pytest>=8.2.0
pytest-cov>=5.0.0
httpx>=0.27.0               # Required by FastAPI TestClient
