Skip to content

API Design for Xarray Backends #1970

Open
@jhamman

Description

@jhamman

It has come time to formalize the API for Xarray backends. We now have the following backends implemented in xarray:

Backend Read Write
netcdf4-python x x
h5netcdf x x
pydap x
pynio x
scipy x x
rasterio* x
zarr x x

* currently does not inherit from backends.AbstractDatastore

And there are conversations about adding additional backends, for example:

However, as anyone who has worked on implementing or optimizing any of our current backends can attest, the existing DataStore API is not particularly user/developer friendly. @shoyer asked me to open an issue to discuss what a more user friendly backend API would look like so that is what this issue will be. I have left out a thorough description of the current API because, well, I don't think it can done in a succinct manner (thats the problem).

Note that @shoyer started down a API refactor some time ago in #1087 but that effort has stalled, presumably because we don't have a well defined set of development goals here.

cc @pydata/xarray

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions