Group Backend Keyword Arguments #10422
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
whats-new.rst
api.rst
This is a first attempt and base for discussion.
This PR does the following:
open_dataset
kwargs into four groups:Here I followed @shoyer's suggestion to use dataclasses Group together decoding options into a single argument #4490.
BackendEntrypoint
and override them in the subclasses.for now only for netcdf4/h5netcdf backends
open_dataset
to_netcdf
Example usage:
CONS:
PROS:
What this PR still needs to do:
I have follow-up ideas:
implement
save_dataset
inBackendEntrypoint
to write to the engine's native format, liketo_netcdf
would be for scipy/netcdf4/h5netcdf andto_zarr
would be for zarr. With that we could do the writing with a unified API, something like:further disentangle the current built-in backends from xarray so that they could be their own module
I'm sure I have not taken into account all the possible pitfalls/problems which might arise here. I'd appreciate any comments and suggestions.