pandas>=2.0
numpy<2.0,>=1.24
scipy>=1.10
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

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

[data]
openpyxl>=3.1.5
duckdb>=1.1.3

[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

[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

[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
