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/pull/4896#issuecomment-857182694,https://api.github.com/repos/pydata/xarray/issues/4896,857182694,MDEyOklzc3VlQ29tbWVudDg1NzE4MjY5NA==,14808389,2021-06-08T21:41:37Z,2021-06-08T21:41:37Z,MEMBER,"thanks for the reviews, @shoyer, @dcherian, @max-sixty","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,806811808 https://github.com/pydata/xarray/pull/4896#issuecomment-856793544,https://api.github.com/repos/pydata/xarray/issues/4896,856793544,MDEyOklzc3VlQ29tbWVudDg1Njc5MzU0NA==,14808389,2021-06-08T13:59:18Z,2021-06-08T13:59:18Z,MEMBER,let's merge this as-is (unless there are any comments on the current state?) and I'll add the construction of the `context` objects in a new PR.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,806811808 https://github.com/pydata/xarray/pull/4896#issuecomment-849183582,https://api.github.com/repos/pydata/xarray/issues/4896,849183582,MDEyOklzc3VlQ29tbWVudDg0OTE4MzU4Mg==,14808389,2021-05-26T23:22:38Z,2021-05-27T00:09:15Z,MEMBER,"there's two remaining issues: should we use a `namedtuple` / a `dataclass` for `Context` instead of the custom class? We basically want a struct without methods (for now?). Also, how do we best construct that object without a lot of overhead? We need to get at least the function name, but if we pass that manually it's one more place to update when renaming something (not that we do that very often). Using `inspect` is possible but might be too complicated: ```python In [5]: import inspect ...: ...: def current_function_name(): ...: frame = inspect.currentframe() ...: try: ...: caller = frame.f_back ...: name = caller.f_code.co_name ...: finally: ...: del frame ...: del caller ...: ...: return name ...: ...: def func(): ...: print(current_function_name()) ...: ...: def another_func(): ...: print(current_function_name()) ...: ...: class A: ...: def method(self): ...: print(current_function_name()) ...: ...: f = func ...: ...: func() ...: another_func() ...: f() ...: ...: a = A() ...: a.method() func another_func func method ``` With this we can only get the name of the definition so this might break for injected methods, but I guess for injected methods it would be difficult to manually pass the function name, anyways.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,806811808 https://github.com/pydata/xarray/pull/4896#issuecomment-822788888,https://api.github.com/repos/pydata/xarray/issues/4896,822788888,MDEyOklzc3VlQ29tbWVudDgyMjc4ODg4OA==,14808389,2021-04-19T21:13:53Z,2021-04-19T21:13:53Z,MEMBER,"not sure. There are a few questions about the signature of the user functions (see https://github.com/pydata/xarray/pull/4896#issuecomment-779862647 and https://github.com/pydata/xarray/issues/3891#issuecomment-818377781), which I would like to answer before including this in a release (I might be wrong, but I think changing the signature after releasing is pretty hard)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,806811808 https://github.com/pydata/xarray/pull/4896#issuecomment-780680130,https://api.github.com/repos/pydata/xarray/issues/4896,780680130,MDEyOklzc3VlQ29tbWVudDc4MDY4MDEzMA==,14808389,2021-02-17T16:29:58Z,2021-02-17T16:29:58Z,MEMBER,"sounds reasonable, but that would require a bigger change than just extending `merge_attrs` (which currently ignores `encoding`)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,806811808