click>=8.0
pyyaml
pandas>=1.5.0
pillow>=10.0.0
tqdm>=4.65.0
requests>=2.28.0
typing_extensions>=4.5

[cpu]
torch>=2.0.0
torchvision>=0.15.0
torchaudio>=2.0.0
transformers>=4.30.0
sentence-transformers>=0.6
faiss-cpu>=1.8.0
numpy<2.0,>=1.22
paddlepaddle<=3.2.1,>=3.2.0
paddleocr<3.4.0,>=3.2.0
shapely>=1.8
scikit-image>=0.21
easyocr>=1.7.0
pdfplumber>=0.10.0
pymupdf>=1.23.0
docling>=2.61.1
openai>=1.0
anthropic>=0.7.0
google-generativeai>=0.3.0
streamlit>=1.51.0
plotly>=6.4.0
matplotlib>=3.10.7
pyarrow>=10.0.0
mcp>=1.20.0
starlette>=0.27.0
uvicorn>=0.27.0
pyjwt[crypto]>=2.8.0
httpx>=0.27.0
sse-starlette>=2.0.0

[dev]
pytest>=7.0
pytest-cov>=4.0
pytest-asyncio>=0.21.0
black==24.8.0
isort>=5.12
flake8>=6.0
mkdocs>=1.5.0
mkdocs-material>=9.0.0
ipykernel>=7.0.0
nbconvert>=7.0.0
jupyter

[gpu]
vllm>=0.11.0
faiss-cpu>=1.8.0
transformers>=4.30.0
sentence-transformers>=0.6
numpy<2.0,>=1.22
paddlepaddle<=3.2.1,>=3.2.0
paddleocr<3.4.0,>=3.2.0
shapely>=1.8
scikit-image>=0.21
easyocr>=1.7.0
pdfplumber>=0.10.0
pymupdf>=1.23.0
docling>=2.61.1
openai>=1.0
anthropic>=0.7.0
google-generativeai>=0.3.0
streamlit>=1.51.0
plotly>=6.4.0
matplotlib>=3.10.7
pyarrow>=10.0.0
mcp>=1.20.0
starlette>=0.27.0
uvicorn>=0.27.0
pyjwt[crypto]>=2.8.0
httpx>=0.27.0
sse-starlette>=2.0.0
