numpy>=1.24
openpyxl>=3.1
python-pptx>=0.6
pyyaml>=6.0
structlog>=24.0

[dev]
openpyxl>=3.1
python-pptx>=0.6
pytest>=8.0
pytest-asyncio>=0.23
pytest-cov>=5.0
pytest-timeout>=2.3
mypy>=1.0
ruff>=0.4
types-PyYAML>=6.0.0
anthropic>=0.40
fastapi>=0.100
httpx>=0.27
starlette>=1.3.1
chromadb<2.0,>=1.0
hnswlib>=0.7
pypdf>=3.0
pdfplumber>=0.11
pdfminer.six>=20221105
cryptography>=48.0.1
python-docx>=0.8
msal>=1.0

[fabric]
redis>=5.0

[hnsw]
sentence-transformers>=2.2
hnswlib>=0.7

[local]

[mac-mlx]
mlx-lm>=0.18
sentence-transformers>=2.2
chromadb>=1.0
fastapi>=0.100
uvicorn>=0.23
hnswlib>=0.7
Mako>=1.3.12
PyJWT>=2.13.0
Pygments>=2.20.0
Markdown>=3.8.1
starlette>=1.3.1

[ocr]
pytesseract>=0.3
Pillow>=10.0

[ocr:python_version >= "3.8"]
rapidocr_onnxruntime>=1.3

[rlm]
rlms

[vps-cpu]
anthropic>=0.40
chromadb>=1.0
fastapi>=0.100
uvicorn>=0.23
Mako>=1.3.12
PyJWT>=2.13.0
Pygments>=2.20.0
Markdown>=3.8.1
starlette>=1.3.1

[vps-gpu]
sentence-transformers>=2.2
chromadb>=1.0
fastapi>=0.100
uvicorn>=0.23
hnswlib>=0.7
Mako>=1.3.12
PyJWT>=2.13.0
Pygments>=2.20.0
Markdown>=3.8.1
starlette>=1.3.1
