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/6323#issuecomment-1496912849,https://api.github.com/repos/pydata/xarray/issues/6323,1496912849,IC_kwDOAMm_X85ZORPR,1217238,2023-04-05T04:49:34Z,2023-04-05T04:49:34Z,MEMBER,"> In the hypothetical invocation `open_dataset(..., return_encoding=True)`, do you envision the returned encoding as being a separate returned object, or would it still be an attribute on the Dataset object? My expectation was that this would be a separate object, e.g., `dataset, encoding = xarray.open_dataset(..., return_encoding=True)`, where `encoding` is a dict providing the encoding on each variable, and which could be passed as the `encoding` argument into `to_netcdf()`. That said, I can see how keeping encoding as variable attributes could also be convenient. ""disable all encoding propagation by discarding encoding attributes once a Dataset has been modified"" would be an intermediate step, on the route to removing `encoding` from Xarray's data model entirely entirely. (As a side note, I would probably spell this as `open_dataset_with_encoding` rather than having a function with a variable return signature.)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1158378382