geopandas>=1.0
shapely>=2.0
pyproj>=3.5
pydeck>=0.9
matplotlib>=3.7
pillow>=10.0
scikit-learn>=1.3
fastapi>=0.110
uvicorn>=0.27
click>=8.1
pydantic>=2.0
numpy>=1.24
pandas>=2.0
scipy>=1.10
affine>=2.4
httpx2>=2.0

[3d]
pyvista>=0.45
meshio>=5.3
trame>=3.0
trame-vtk>=2.8
trame-vuetify>=2.7

[all]
rasterio>=1.3
laspy[lazrs]>=2.5
websockets>=12.0
paho-mqtt>=2.0
h3>=4.0
pyvista>=0.45
meshio>=5.3
trame>=3.0
trame-vtk>=2.8
trame-vuetify>=2.7
folium>=0.16
branca>=0.7
jinja2>=3.0
jenkspy>=0.4

[classify]
jenkspy>=0.4

[clustering-h3]
h3>=4.0

[dev]
pytest>=8.0
pytest-cov>=4.1
ruff>=0.4
nbclient>=0.9
nbformat>=5.9
ipykernel>=6.0

[distributed]
dask[complete]>=2024.1

[earthengine]
earthengine-api>=0.1
geemap>=0.30

[export]
selenium>=4.0
pillow>=10.0

[folium]
folium>=0.16
branca>=0.7
jinja2>=3.0

[network]
osmnx>=2.0

[osm]
osmnx>=2.0

[overture]
overturemaps>=0.6

[pointcloud]
laspy[lazrs]>=2.5

[raster]
rasterio>=1.3

[stac]
pystac-client>=0.7
planetary-computer>=1.0

[streaming]
websockets>=12.0
paho-mqtt>=2.0

[threed]
pyvista>=0.45
meshio>=5.3
trame>=3.0
trame-vtk>=2.8
trame-vuetify>=2.7
