html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/4490#issuecomment-704631854,https://api.github.com/repos/pydata/xarray/issues/4490,704631854,MDEyOklzc3VlQ29tbWVudDcwNDYzMTg1NA==,1217238,2020-10-07T01:02:41Z,2020-10-07T01:02:41Z,MEMBER,"I see this as complementary to @alexamici's proposal in https://github.com/pydata/xarray/issues/4309#issuecomment-697952300, which I also like. I guess the main difference is moving `decode_cf` into the explicit signature of `open_dataset`, rather than leaving it in `**kwargs`. Auto-completion is one reason to prefer a class, but enforced error checking and consistency between backends in the data model are also good reasons. In particular, it is important that users get an error if they mis-spell an argument name, e.g., `open_dataset(path, decode_times=False)` vs `open_dataset(path, decode_time=False)`. We can definitely achieve this with putting decoding options into a `dict`, too, but we would need to be carefully to always validate the set of dict keys. I guess cfgrib is an example of a backend with its own CF decoding options? This is indeed a tricky design question. I don't know if it's possible to make `xarray.open_dataset()` directly extensible in this way -- this could still be a reason for a user to use a backend-specific `cfgrib.open_dataset()` function.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,715374721 https://github.com/pydata/xarray/issues/4490#issuecomment-704396229,https://api.github.com/repos/pydata/xarray/issues/4490,704396229,MDEyOklzc3VlQ29tbWVudDcwNDM5NjIyOQ==,1217238,2020-10-06T16:25:54Z,2020-10-06T16:25:54Z,MEMBER,"> I agree that we should add CF to the names. Can we use `Decoders` instead of `DecodingOptions`? So `decode_cf` and `CFDecoders`? works for me!","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,715374721