Xarray: move pynio backend to external repo

Created on 6 Oct 2020  路  6Comments  路  Source: pydata/xarray

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?

backends

Most helpful comment

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.

All 6 comments

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.yml
  • py37.yml
  • py38.yml

Do 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-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.

Yes, fine for me - check #4492

4492 is merged. I changed the title to reflect that pynio should eventually be moved to an external repo but keep the issue open to have the discussion in place. I hope that this should not be too hard after the backend refactor.

Was this page helpful?
0 / 5 - 0 ratings