blake3<2.0.0,>=1.0.5
click<9.0.0,>=8.1.8
h5py<4.0.0,>=3.12.1
jinja2<4.0.0,>=3.1.5
numpy<3.0,>=1.24
pint<1.0,>=0.24.4
scipy<2.0,>=1.13
toml<0.11.0,>=0.10.2
xarray<2026.0.0,>=2025.1.1

[cloud]
boto3<2.0.0,>=1.36.23
flask<4.0.0,>=3.1.0
python-dotenv<2.0.0,>=1.0.1
requests<3.0.0,>=2.31.0
werkzeug<4.0.0,>=3.1.3

[dev]
black<26.0.0,>=25.1.0
build<2.0.0,>=1.2.0
furo>=2024.8.6
ipykernel<7.0.0,>=6.29.5
isort<7.0.0,>=6.0.0
myst-parser<5.0.0,>=4.0.0
pre-commit<5.0.0,>=4.0.0
pytest<9.0.0,>=8.0.0
pytest-cov<7.0.0,>=4.1.0
pytest-mock<4.0.0,>=3.12.0
pytest-mpl<0.18.0,>=0.16.1
pytest-timeout<3.0.0,>=2.2.0
pytest-xdist<4.0.0,>=3.5.0
ruff<1.0.0,>=0.9.0
sphinx<9.0.0,>=8.1.3
sphinx-copybutton<0.6.0,>=0.5.1
sphinx-rtd-theme<4.0.0,>=3.0.2
twine<7.0.0,>=6.0.0

[docs]
furo>=2024.8.6
myst-parser<5.0.0,>=4.0.0
sphinx<9.0.0,>=8.1.3
sphinx-copybutton<0.6.0,>=0.5.1
sphinx-rtd-theme<4.0.0,>=3.0.2

[fast-fft]
pyfftw<0.16,>=0.14

[hpc]
paramiko<4.0.0,>=3.5.0
python-dotenv<2.0.0,>=1.0.1

[inversion]
pylops<3.0,>=2.4.0

[parallel]
bokeh<4.0.0,>=3.4.2
dask<2026.0.0,>=2025.1.0
dask-jobqueue<0.10.0,>=0.9.0
distributed<2026.0.0,>=2024.12.0
paramiko<4.0.0,>=3.5.0
pyfftw<0.16,>=0.14
python-dotenv<2.0.0,>=1.0.1

[seismic-io]
bitarray<4.0.0,>=3.0.0
cython<4.0.0,>=3.0.12
pyasdf<0.9.0,>=0.8.1
scikit-learn<2.0.0,>=1.6.1
segyio<2.0.0,>=1.9.12
zfpy<2.0.0,>=1.0.1

[visual]
matplotlib<4.0,>=3.7
pyvista<0.47,>=0.44
