graph-crawler<6,>=5.3.2
html2md-clean<0.6,>=0.5.0
httpx>=0.27
markdown-it-py>=3.0
pydantic>=2.6
numpy>=1.26
selectolax>=0.3

[all]
openai>=1.40
anthropic>=0.40
boto3>=1.35
sentence-transformers>=3.0.0
faiss-cpu>=1.8
chromadb>=0.5
qdrant-client>=1.10
psycopg[binary]>=3.1
pgvector>=0.3
lxml>=5.0
fastapi>=0.110
uvicorn>=0.29
mcp==2.2.0
graph-crawler[browser]<6,>=5.3.2
htmldate>=1.9
pandas>=2.0

[anthropic]
anthropic>=0.40

[api]
fastapi>=0.110
uvicorn>=0.29

[bedrock]
boto3>=1.35

[chroma]
chromadb>=0.5

[dates]
htmldate>=1.9

[dev]
pytest>=8
pytest-asyncio>=0.23
pytest-timeout>=2.2
fastapi>=0.110
httpx>=0.27
lxml>=5.0
mcp==2.2.0
pandas>=2.0

[embeddings]
sentence-transformers>=3.0.0

[emergent]
emergentintegrations>=0.1

[faiss]
faiss-cpu>=1.8

[gemini]
openai>=1.40

[mcp]
mcp==2.2.0

[openai]
openai>=1.40

[pandas]
pandas>=2.0

[pgvector]
psycopg[binary]>=3.1
pgvector>=0.3

[playwright]
graph-crawler[browser]<6,>=5.3.2

[qdrant]
qdrant-client>=1.10

[xpath]
lxml>=5.0
