pandas>=2.0
numpy>=2.0.0
scipy>=1.13.0
scikit-learn>=1.3
matplotlib>=3.7
signalplot>=0.1.0
lasio>=0.30
segyio>=1.9
ruptures>=1.1
joblib>=1.3.0
cloudpickle>=2.2.0
numba>=0.58.0
pyarrow>=14.0.0
pyyaml>=6.0

[all]
geosuite[data,dev,geospatial,imaging,ml,modeling,webapp]

[analysis]
ts2net>=0.7.0

[data]
openpyxl>=3.1.5
duckdb>=1.1.3

[data_formats]
resqpy>=0.7.0
dlisio>=0.7.0
pyproj>=3.6.0
requests>=2.31.0
websocket-client>=1.6.0

[deep]
torch>=2.0.0
tensorflow>=2.13.0

[dev]
pytest>=7.4.0
pytest-cov>=4.1.0
pytest-mock>=3.11.1
black>=23.0.0
ruff>=0.1.0
isort>=5.12.0
mypy>=1.0.0
types-requests
jupyter>=1.0.0
jupyterlab>=4.0.0
sphinx>=7.0.0
sphinx-rtd-theme>=2.0.0
sphinx-autobuild>=2024.0.0
myst-parser>=2.0.0

[forecasting]
pymc>=5.0.0
arviz>=0.15.0

[geospatial]
apache-sedona==1.5.1
pyspark<3.5.0,>=3.4.0
shapely>=2.0.0
pyproj>=3.6.0
geopandas>=0.14.0
h3>=4.1.0
fiona>=1.9.0

[imaging]
scikit-image>=0.21

[ml]
mlflow>=2.8.0
mlflow[extras]>=2.8.0
shap>=0.44.0

[modeling]
pygeomodeling>=0.3.0
pykrige>=1.6.0

[optimization]
optuna>=3.0.0

[visualization]
plotly>=5.0.0
folium>=0.14.0
geopandas>=0.14.0
shapely>=2.0.0

[webapp]
Flask>=3.0.0
dash>=2.16
dash-bootstrap-components>=1.4
dash-echarts>=0.0.7
python-dotenv>=1.0.0
gunicorn>=21.0.0
