pydantic<3.0.0,>=2.0.0
numpy<3.0.0,>=1.24.0

[all]
dspy<4.0.0,>=3.2.1
tiktoken>=0.7.0
neo4j>=5.0.0
fastapi>=0.100.0
uvicorn[standard]>=0.23.0
openai>=1.0.0
google-generativeai>=0.3.0
sentence-transformers>=2.2.0
networkx>=3.0
python-louvain>=0.16
leidenalg>=0.9.0
igraph>=0.10.0
scikit-learn>=1.3.0
spacy>=3.7.0
mcp>=1.0.0
starlette<0.49.0,>=0.40.0
sse-starlette<3.0.0,>=1.6.1

[api]
fastapi>=0.100.0
uvicorn[standard]>=0.23.0

[coreference]
spacy>=3.7.0

[dev]
dspy<4.0.0,>=3.2.1
tiktoken>=0.7.0
pytest>=7.0.0
pytest-cov>=4.1.0
httpx>=0.24.0
ruff>=0.4.0
mypy>=1.8.0
pre-commit>=3.5.0

[dev:python_version < "3.11"]
tomli>=2.0.0

[dspy]
dspy<4.0.0,>=3.2.1

[extract]
dspy<4.0.0,>=3.2.1
tiktoken>=0.7.0

[gemini]
google-generativeai>=0.3.0

[leiden]
leidenalg>=0.9.0
igraph>=0.10.0
networkx>=3.0

[local]
sentence-transformers>=2.2.0

[louvain]
python-louvain>=0.16
networkx>=3.0

[mcp]
dspy<4.0.0,>=3.2.1
mcp>=1.0.0
tiktoken>=0.7.0
starlette<0.49.0,>=0.40.0
sse-starlette<3.0.0,>=1.6.1

[neo4j]
neo4j>=5.0.0

[networkx]
networkx>=3.0

[openai]
openai>=1.0.0

[openrouter]
openai>=1.0.0

[spectral]
scikit-learn>=1.3.0
networkx>=3.0
