numpy>=1.24
pandas>=2.0

[all]
pyarrow>=14
polars>=0.20
scipy>=1.10
shapely>=2.0
pyproj>=3.5
geopandas>=0.14
networkx>=3.0
sqlalchemy>=2.0
duckdb>=0.9
xarray>=2023.1
netCDF4
pyreadstat>=1.2
lifelines>=0.27
torch>=2.0
ipython>=8

[arrow]
pyarrow>=14

[database]
sqlalchemy>=2.0
duckdb>=0.9

[dev]
pytest>=8
hypothesis>=6
pyarrow>=14
polars>=0.20
scipy>=1.10
networkx>=3.0
shapely>=2.0
xarray>=2023.1
duckdb>=0.9
sqlalchemy>=2.0
scikit-learn>=1.3

[ml]
torch>=2.0

[network]
networkx>=3.0

[notebook]
ipython>=8

[polars]
polars>=0.20
pyarrow>=14

[scientific]
xarray>=2023.1
netCDF4

[sparse]
scipy>=1.10

[spatial]
shapely>=2.0
pyproj>=3.5
geopandas>=0.14

[survey]
pyreadstat>=1.2

[survival]
lifelines>=0.27
