scipy>=1.8
matplotlib>=3.5
triangle>=20220202
pandas>=1.4
pyyaml>=5.4
tqdm>=4.60
click>=8.1
rich>=13.0
scikit-learn>=1.1
h5py>=3.8

[:python_version < "3.10"]
numpy<2,>=1.22
typing_extensions>=4.1

[:python_version >= "3.10"]
numpy>=1.22

[agent-master]
pycsamt[agents]
dash>=4.0
dash-bootstrap-components>=2.0
flask>=3.0
diskcache>=5.6
multiprocess>=0.70
plotly>=5.24
Pillow>=10.0

[agents]
anthropic>=0.40
openai>=1.54
google-generativeai>=0.8

[app]
pycsamt[desktop,web]

[desktop]
PySide6>=6.9
pyqtgraph>=0.13
contextily>=1.6

[dev]
pytest>=7.2
pytest-cov>=4.0
pytest-timeout>=2.3
pytest-xdist>=3.5
ruff>=0.4
pre-commit>=3.0

[docs]
sphinx>=7.2
pydata-sphinx-theme>=0.15
numpydoc>=1.7
myst-parser>=2.0
sphinx-copybutton>=0.5
sphinx-toggleprompt>=0.6
sphinx-design>=0.5
sphinx-gallery>=0.17
sphinx-autodoc-typehints>=2.0
sphinx-autobuild>=2024.2
plotly>=5.24
kaleido
xlrd>=2.0

[full]
pycsamt[agents,app,dev,docs,geo,torch]

[geo]
pyproj>=3.3
xarray>=2022.6
contextily>=1.6

[tensorflow]
tensorflow>=2.10

[torch]
torch>=1.13

[web]
dash>=2.18
dash-bootstrap-components>=1.6
flask>=3.0
diskcache>=5.6
multiprocess>=0.70
plotly>=5.24
Pillow>=10.0
