home / github / issues

Menu
  • Search all tables
  • GraphQL API

issues: 2024737017

This data as json

id node_id number title user state locked assignee milestone comments created_at updated_at closed_at author_association active_lock_reason draft pull_request body reactions performed_via_github_app state_reason repo type
2024737017 PR_kwDOAMm_X85hGgaB 8520 Allow configuring open_dataset via backend instances 43316012 open 0     9 2023-12-04T21:03:12Z 2024-01-14T21:40:38Z   COLLABORATOR   0 pydata/xarray/pulls/8520

Support passing instances of BackendEntryPoints as the engine argument.

Closes #8447

Then instead of passing a long list of options to the open_dataset method directly, you can also configure the entrypoint in the constructor and pass it as the engine.

It would look something like this: python engine = NetCDF4BackendEntrypoint(mode="a", clobber=False) ds = xr.open_dataset("some_file.nc", engine=engine) While this is actually even more lines of code, the main advantage is to have better discoverability of the options.

TODO:

  • [x] Adapt netcdf4 backend
  • [x] Adapt h5netcdf backend
  • [x] Find out if h5netcdf backend should have "autoclose" and "mode" options (https://github.com/pydata/xarray/pull/8520#pullrequestreview-1769368001_)
  • [x] What to do with "decode_vlen_strings" option in h5netcdf (was this deprecated?)
  • [x] Adapt zarr backend
  • [x] Adapt scipy backend
  • [x] Adapt pydap backend
  • [ ] output_grid seems to be always set to True? is this intentional, why not remove it instead?
  • [x] ~verify and user_charset are non-existent in pydap?~ > I still had pydap version 3.2, in 3.4 they exist...
  • [x] typing is only my first impression. Not easy if upstream libs are untyped :/
  • [x] ~Adapt pynio backend~ > Won't adapt because deprecated
  • [x] Fix docstrings to include init options
  • [x] Check if lock=True is allowed > Not allowed, otherwise scipy backend breaks
  • [ ] Change default to lock=True instead of None? Maybe a later PR?
  • [ ] Rename XXXBackendEntrypoint > XXXBackend ?
  • [x] ~The autoclose argument seems to do nothing?~ > Actually it is used in BaseNetCDF4Array, all good
  • [x] ~Move group to open_dataset instead of backend option?~ > Its not really a decoder either. Not sure, for now leave it in the init...
  • [ ] Improve _resolve_decoders_kwargs, this function has a lot of implicit assumtions? Maybe remove open_dataset_parameters alltogether?
  • [x] Add tests for passing backend directly via engine argument
  • [x] open_dataset now has **kwargs to support backwards compatibility. Probably we should raise if unsupported stuff is added (i.e. typos) otherwise this could be confusing? (i.e. see test in zarr that checks for deprecated auto_chunk)
{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8520/reactions",
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    13221727 pull

Links from other tables

  • 2 rows from issues_id in issues_labels
  • 0 rows from issue in issue_comments
Powered by Datasette · Queries took 79.701ms · About: xarray-datasette