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/1130#issuecomment-457307207,https://api.github.com/repos/pydata/xarray/issues/1130,457307207,MDEyOklzc3VlQ29tbWVudDQ1NzMwNzIwNw==,1217238,2019-01-24T18:34:37Z,2019-01-24T18:34:37Z,MEMBER,Closing this in favor of https://github.com/pydata/xarray/issues/1130,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,189998469
https://github.com/pydata/xarray/issues/1130#issuecomment-457297015,https://api.github.com/repos/pydata/xarray/issues/1130,457297015,MDEyOklzc3VlQ29tbWVudDQ1NzI5NzAxNQ==,26384082,2019-01-24T18:05:43Z,2019-01-24T18:05:43Z,NONE,"In order to maintain a list of currently relevant issues, we mark issues as stale after a period of inactivity
If this issue remains relevant, please comment here; otherwise it will be marked as closed automatically
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,189998469
https://github.com/pydata/xarray/issues/1130#issuecomment-261599007,https://api.github.com/repos/pydata/xarray/issues/1130,261599007,MDEyOklzc3VlQ29tbWVudDI2MTU5OTAwNw==,1217238,2016-11-18T18:03:06Z,2016-11-18T18:03:06Z,MEMBER,"> But maybe_wrap_array is simple and does not break anything, it wraps it only when it's safe.
It's safe in the sense that the `xarray.DataArray` contains the information from the numpy array, but it's not safe in terms of a stable type signature.
> I think that could be quite likely as one might want to apply a DataArray-compatible function. This would force users to remember which type of ""function applier"" to use for a given function and might be confusing.
I think this is unavoidable. It's impossible to design a single entry point that works smoothly for both use cases.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,189998469
https://github.com/pydata/xarray/issues/1130#issuecomment-261496603,https://api.github.com/repos/pydata/xarray/issues/1130,261496603,MDEyOklzc3VlQ29tbWVudDI2MTQ5NjYwMw==,941907,2016-11-18T10:16:17Z,2016-11-18T10:16:17Z,NONE,"> ... rather not adjust DataArray.pipe, which is intentionally very simple.
It would be just one extra call to a funciton which is very simple. As I [commented](https://github.com/pydata/xarray/issues/1074#issuecomment-261495282) in #1074, I think it makes more sense to have `pipe` wrap arrays, because otherwise the pipe-chain might get broken, whereas with `apply` I'd be ok with it behaving as the python apply function which simply applies a function and nothing more. But `maybe_wrap_array` is simple and does not break anything, it wraps it only when it's safe.
> In the unlikely event your function takes a dim argument
I think that could be quite likely as one might want to apply a DataArray-compatible function. This would force users to remember which type of ""function applier"" to use for a given function and might be confusing.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,189998469
https://github.com/pydata/xarray/issues/1130#issuecomment-261318464,https://api.github.com/repos/pydata/xarray/issues/1130,261318464,MDEyOklzc3VlQ29tbWVudDI2MTMxODQ2NA==,1217238,2016-11-17T17:52:02Z,2016-11-17T17:52:02Z,MEMBER,"As for `dim`/`axis`, my inclination would be to unilaterally remap any `dim` keyword argument to `.apply` to `axis` using the `get_axis_num`. Something like:
```
dim = kwargs.pop('dim', None)
if dim is not None:
if 'axis' in kwargs:
raise ValueError('cannot set both `dim` and `axis`')
kwargs['axis'] = self.get_axis_num(dim)
```
In the unlikely event your function takes a `dim` argument that should not be remapped, you can pass in a lambda or `functools.partial` instead.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,189998469
https://github.com/pydata/xarray/issues/1130#issuecomment-261317205,https://api.github.com/repos/pydata/xarray/issues/1130,261317205,MDEyOklzc3VlQ29tbWVudDI2MTMxNzIwNQ==,1217238,2016-11-17T17:47:12Z,2016-11-17T17:47:12Z,MEMBER,"On `Dataset`, `.pipe` and `.apply` work differently -- `pipe` passes the entire Dataset whereas `apply` passes each of the variables in turn.
I'm OK with calling `maybe_wrap_array` in `DataArray.apply`, but I'd rather not adjust `DataArray.pipe`, which is intentionally very simple.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,189998469