Looking at requirements.txt
We have rasterio as dependency on every pip install pygeoapi pulls in rasterio (that is a big GDAL binary wheel)
But rasterio is used by only three providers:
So this bloats the base install and minimal container images.
The proposed slim/distroless Docker vaiants in #1753 only avoid it via a pip install --no-deps workaround and explicit dependency list
#Add it as an extra in setup.py:
extras_require={
'rasterio': ['rasterio'],
},
And remove it from requirements.txt
- Keep rasterio available to CI/tests by listing it in requirements-dev.txt (or requirements-provider.txt) so the Rasterio provider is still exercised.
- Ensure rasterio_.py degrades gracefully when rasterio is absent (the plugin loader should already surface a clear "provider unavailable" error; the two lazy importers already do the right thing).
So:
- pip install pygeoapi -> GDAL-free
- pip install pygeoapi[rasterio] - >raster/coverage support
Looking at
requirements.txtpygeoapi/requirements.txt
Line 14 in b96765c
We have rasterio as dependency on every
pip install pygeoapipulls in rasterio (that is a big GDAL binary wheel)But rasterio is used by only three providers:
So this bloats the base install and minimal container images.
The proposed slim/distroless Docker vaiants in #1753 only avoid it via a
pip install --no-depsworkaround and explicit dependency listAnd remove it from requirements.txt
So: