I've been leaning towards making eccodes/cfgrib an optional dependency to Herbie since some people only use Herbie to retrieve files and they load data with other tools (e.g., pygrib). This change will take some effort to make those changes seamless. Staying caught up with eccodes and pygrib version changes has been a hassle, so maybe this will make it easier to maintain and focus on Herbie's core feature of locating and downloading files and subsets.
I've been leaning towards making eccodes/cfgrib an optional dependency to Herbie since some people only use Herbie to retrieve files and they load data with other tools (e.g., pygrib). This change will take some effort to make those changes seamless. Staying caught up with eccodes and pygrib version changes has been a hassle, so maybe this will make it easier to maintain and focus on Herbie's core feature of locating and downloading files and subsets.
Update and test xarray/cfgrib imports to happen inside the xarray function.
Update pyproject.toml so you can install herbie like this...
# Core features (locate, subset, and download grib files) pip install herbie-data# Enable xarray features, which reads data with cfgrib, requiring eccodes. pip install herbie-data[xarray]What about conda-forge recipe? Instruct people to do
conda install -c conda-forge herbie-data eccodes xarray?Add documentation for installation instructions