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/3891#issuecomment-818377781,https://api.github.com/repos/pydata/xarray/issues/3891,818377781,MDEyOklzc3VlQ29tbWVudDgxODM3Nzc4MQ==,2448579,2021-04-13T02:07:22Z,2021-04-13T02:07:22Z,MEMBER,"> and to extend keep_attrs to accept a bool, a str or a function. If we allow `keep_attrs` to be a custom function, then we could move towards some of the ideas in here: https://github.com/pydata/xarray/issues/988 . If that custom function received something like the `UfuncContext` in that issue, then an external library could implement data provenance handling like the `history` attribute, and set things like `cell_methods`. The context manager idea seems a little complex but doing something like ``` xr.set_options(keep_attrs=cf_xarray.attrs_handler) ``` could be OK, where all decisions are left up to the external package (here `cf_xarray`). (Though what's stopping us from directly adding `cell_methods` attributes now for reductions, weighted, and coarsen?)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,587895591