We are currently not testing with the newest version of netCDF4 because it is incompatible with pynio (the newest version is 1.5.4, we are at 1.5.3). This is unlikely to be fixed, see conda-forge/pynio-feedstock#90.
Therefore we need to think how to setup the tests so we use the newest version of netCDF4. Maybe just remove it from py38.yml?
And long term what to do with the pynio backend? Deprecate? Move to an external repo?
And long term what to do with the pynio backend? Deprecate? Move to an external repo?
Yes, in the long term I think the pynio backend will need to be moved outside of xarray, along with backends for other unmaintained projects such as pydap. This is one of goals of the backend refactor effort lead by @alexamici and @aurghs.
Until that happens, if new versions of netCDF4 and pynio are incompatible, my preferred work-around would be to reduce test coverage for pynio. It's not being developed actively, so there aren't strong reasons to maintain test coverage with every version of Python.
In py36-min-all-deps.yml we already test the newest version of pynio (1.5.5). My suggestion is therefore:
Keep pynio in
py36-min-all-deps.yml (pinned)py38-all-but-dask.yml (not pinned to make sure we don't miss anything)Remove pynio from:
py36.ymlpy37.ymlpy38.ymlDo you agree?
not sure if we should repurpose py38-all-but-dask for that, right now the only difference between it and py38 is that dask (and all libraries that depend on it) are missing, which is intentional.
Would it be enough to only test using py36-min-all-deps and add a warning to the docs stating that pynio conflicts with netcdf4>1.5.3, and maybe also that the pynio backend will be deprecated soon? Same for pydap, I guess.
Would it be enough to only test using py36-min-all-deps and add a warning to the docs stating that pynio conflicts with netcdf4>1.5.3, and maybe also that the pynio backend will be deprecated soon? Same for pydap, I guess.
This sounds fine to me.
Would it be enough to only test using
py36-min-all-depsand add a warning to the docs stating that pynio conflicts with netcdf4>1.5.3, and maybe also that the pynio backend will be deprecated soon? Same for pydap, I guess.
Yes, fine for me - check #4492
Most helpful comment
Yes, in the long term I think the pynio backend will need to be moved outside of xarray, along with backends for other unmaintained projects such as pydap. This is one of goals of the backend refactor effort lead by @alexamici and @aurghs.
Until that happens, if new versions of netCDF4 and pynio are incompatible, my preferred work-around would be to reduce test coverage for pynio. It's not being developed actively, so there aren't strong reasons to maintain test coverage with every version of Python.