numpy<3.0.0,>=1.24.0
pandas<3.0.0,>=2.0.0
geopandas<2.0.0,>=0.14.0
shapely<3.0.0,>=2.0.0
pyproj<4.0.0,>=3.5.0
h3<5.0.0,>=3.7.0
pydantic<3.0.0,>=2.5.0
python-dateutil<3.0.0,>=2.8.0
click<9.0.0,>=8.0.0
httpx<1.0.0,>=0.25.0

[all]
UCID[api,contexts,dask,db,ml,raster,ray,temporal,viz]

[api]
fastapi<1.0.0,>=0.104.0
uvicorn[standard]<1.0.0,>=0.24.0

[contexts]
osmnx<2.0.0,>=1.8.0
networkx<4.0.0,>=3.1.0

[dask]
dask[complete]<2026.0.0,>=2023.10.0

[db]
psycopg2-binary<3.0.0,>=2.9.0
sqlalchemy<3.0.0,>=2.0.0
geoalchemy2<1.0.0,>=0.14.0

[dev]
pytest<9.0.0,>=7.4.0
pytest-cov<6.0.0,>=4.1.0
pytest-benchmark<5.0.0,>=4.0.0
hypothesis<7.0.0,>=6.92.0
mypy<2.0.0,>=1.7.0
ruff<1.0.0,>=0.1.9
pre-commit<4.0.0,>=3.5.0

[docs]
sphinx<9.0.0,>=7.2.0
sphinx-rtd-theme<3.0.0,>=2.0.0
myst-parser<5.0.0,>=2.0.0
nbsphinx<1.0.0,>=0.9.0

[ml]
scikit-learn<2.0.0,>=1.3.0
xgboost<3.0.0,>=2.0.0

[raster]
rasterio<2.0.0,>=1.3.0

[ray]
ray[default]<3.0.0,>=2.8.0

[security]
pip-audit<3.0.0,>=2.6.0
bandit<2.0.0,>=1.7.0
cyclonedx-bom<5.0.0,>=4.0.0

[temporal]
statsmodels<1.0.0,>=0.14.0

[viz]
matplotlib<4.0.0,>=3.7.0
plotly<7.0.0,>=5.17.0
folium<1.0.0,>=0.15.0
