pull_requests: 1629095553
This data as json
id | node_id | number | state | locked | title | user | body | created_at | updated_at | closed_at | merged_at | merge_commit_sha | assignee | milestone | draft | head | base | author_association | auto_merge | repo | url | merged_by |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1629095553 | PR_kwDOAMm_X85hGgaB | 8520 | open | 0 | Allow configuring open_dataset via backend instances | 43316012 | 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`) | 2023-12-04T21:03:12Z | 2024-01-14T21:40:38Z | 40ead5281c725a0963d06be495898652c14d422a | 0 | cec1a88fe9d7403dfcdc72fa90dd74ea30c1cb93 | 357a44474df6d02555502d600776e27a86a12f3f | COLLABORATOR | 13221727 | https://github.com/pydata/xarray/pull/8520 |
Links from other tables
- 2 rows from pull_requests_id in labels_pull_requests