pydantic>=2.0
requests>=2.0
httpx>=0.24
sssom>=0.4
typing-extensions>=4.0
rdflib>=6.0.0
pyoxigraph<0.6,>=0.5.11
ujson>=5.0.0
pandas<3,>=2.0.0
numpy
bioregistry>=0.13.25
linkml>=1.10.0
linkml-runtime>=1.10.0
deprecated>=1.2.13
pyld
more_itertools
tqdm
pyyaml>=6.0
pyarrow>=23.0.1
click
more_click
flask

[agents]
pydantic-ai-slim[anthropic,openai]==2.0.0
python-dotenv==1.2.3

[dev]
ruff
mypy
pandas-stubs
types-networkx
types-PyYAML
types-requests
types-ujson

[docs]
sphinx>=8
sphinx-rtd-theme>=3.0
sphinx-click
sphinx-automodapi

[mcp]
mcp==2.2.0

[notebooks]
psutil>=5.9
matplotlib>=3.10.7
seaborn>=0.11.0
plotly>=5.0.0
networkx>=2.8
jupyterlab>=4.0.0
ipywidgets>=8.0.0
narwhals==2.11.0
plotly==6.4.0
scipy>=1.15.3
kgx>=2.7.0

[tests]
pyshacl<1,>=0.27
psutil>=5.9
pydantic-ai-slim[openai]==2.0.0
mcp==2.2.0
pytest
coverage
networkx>=2.8
httpx>=0.24

[validation]
pyshacl<1,>=0.27

[web]
flask>=3.0
flask-cors>=4.0
gunicorn>=22.0
