pydantic>=2.7
duckdb>=1.0
pyarrow>=14
pandas>=2.1
PyYAML>=6.0

[abm]
numpy>=1.26
networkx>=3.0

[all]
openai>=1.30
httpx[socks]
matplotlib>=3.8
numpy>=1.26
networkx>=3.0
mesa==3.3.1
geopandas>=1.0
libpysal>=4.10
textblob>=0.18
openpyxl>=3.1
pyalex>=0.21
semanticscholar>=0.10
arxiv>=2.1
biopython>=1.85
requests>=2.32
Jinja2>=3.1
pytest>=8
build
twine

[chicago]
mesa==3.3.1
geopandas>=1.0
libpysal>=4.10
matplotlib>=3.8
openai>=1.30
httpx[socks]
numpy>=1.26
networkx>=3.0

[dev]
pytest>=8
build
twine

[lit]
pyalex>=0.21
semanticscholar>=0.10
arxiv>=2.1
biopython>=1.85
requests>=2.32
Jinja2>=3.1

[llm]
openai>=1.30
httpx[socks]

[viz]
matplotlib>=3.8

[workbench]
openai>=1.30
httpx[socks]
matplotlib>=3.8
textblob>=0.18
openpyxl>=3.1
