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/1938#issuecomment-510948162,https://api.github.com/repos/pydata/xarray/issues/1938,510948162,MDEyOklzc3VlQ29tbWVudDUxMDk0ODE2Mg==,2190658,2019-07-12T16:23:41Z,2019-07-12T16:23:41Z,MEMBER,@rabernat I can attend remotely.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-510944897,https://api.github.com/repos/pydata/xarray/issues/1938,510944897,MDEyOklzc3VlQ29tbWVudDUxMDk0NDg5Nw==,2190658,2019-07-12T16:13:09Z,2019-07-12T16:13:09Z,MEMBER,`uarray`/`unumpy` is shaping up nicely. 😄 ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-383112044,https://api.github.com/repos/pydata/xarray/issues/1938,383112044,MDEyOklzc3VlQ29tbWVudDM4MzExMjA0NA==,2190658,2018-04-20T14:22:03Z,2018-04-20T14:22:03Z,MEMBER,"Let's move this discussion over to hameerabbasi/arrayish#1. But, in summary, I got the impression that the community in general is unhappy with the name ""duck arrays"".","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-383105722,https://api.github.com/repos/pydata/xarray/issues/1938,383105722,MDEyOklzc3VlQ29tbWVudDM4MzEwNTcyMg==,2190658,2018-04-20T14:01:55Z,2018-04-20T14:01:55Z,MEMBER,"I've written it up and already released version 0.0.1 on PyPI, except `concatenate` and `stack` (which need `TypedSequence`). I can still change the name, but I'd rather not. Also, `import duckarray as da` conflicts with `import dask.array as da`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-382985783,https://api.github.com/repos/pydata/xarray/issues/1938,382985783,MDEyOklzc3VlQ29tbWVudDM4Mjk4NTc4Mw==,2190658,2018-04-20T05:51:02Z,2018-04-20T06:02:30Z,MEMBER,"I've created one, as per your e-mail: https://github.com/hameerabbasi/arrayish The name is inspired from a recent discussion about this on the Numpy mailing list.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-382862822,https://api.github.com/repos/pydata/xarray/issues/1938,382862822,MDEyOklzc3VlQ29tbWVudDM4Mjg2MjgyMg==,2190658,2018-04-19T20:01:41Z,2018-04-19T20:01:41Z,MEMBER,"By minimal library, I'm assuming you mean something of the sort discussed about abstract arrays? What functionality would such a library have?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-368602406,https://api.github.com/repos/pydata/xarray/issues/1938,368602406,MDEyOklzc3VlQ29tbWVudDM2ODYwMjQwNg==,2190658,2018-02-26T18:35:21Z,2018-02-26T18:35:21Z,MEMBER,Maybe submit a PR? We could all use this. Does it support variable-length arguments?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-368399227,https://api.github.com/repos/pydata/xarray/issues/1938,368399227,MDEyOklzc3VlQ29tbWVudDM2ODM5OTIyNw==,2190658,2018-02-26T06:02:22Z,2018-02-26T06:02:22Z,MEMBER,"> Which really is totally fine -- this is all a stop gap measure until NumPy itself supports this sort of duck typing. You're assuming here most users of XArray would be using a recent version of Numpy... Which is a totally fine assumption IMO. We make the same one for sparse. However, consider that some people may be using something like conda, which (because of complex dependencies and all) may end up delaying updates (both for Numpy and XArray). I guess however; if people really wanted the updates they could use pip. > so I'm not sure it's worth enshrining in multipledispatch either I would say a little clean-up with some extra decorators for exactly this purpose may be in order, that way, individual wrapping functions aren't needed.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-368269360,https://api.github.com/repos/pydata/xarray/issues/1938,368269360,MDEyOklzc3VlQ29tbWVudDM2ODI2OTM2MA==,2190658,2018-02-24T23:41:44Z,2018-02-24T23:43:49Z,MEMBER,"Something like `@starargswrapper` that would just cast to list, and call the VarArgs version. Actually it'd be nice to have something like `@dispatch(int, str, StarArgs[int])`. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-368269205,https://api.github.com/repos/pydata/xarray/issues/1938,368269205,MDEyOklzc3VlQ29tbWVudDM2ODI2OTIwNQ==,2190658,2018-02-24T23:38:33Z,2018-02-24T23:38:33Z,MEMBER,@llllllllll How hard would it be to make this work for star-args? I realize you could just add an extra wrapper but it'd be nice if you didn't have to. ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-368268456,https://api.github.com/repos/pydata/xarray/issues/1938,368268456,MDEyOklzc3VlQ29tbWVudDM2ODI2ODQ1Ng==,2190658,2018-02-24T23:24:15Z,2018-02-24T23:24:15Z,MEMBER,"Is there a way to handle kwargs (not with types, but ignoring them)? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-368268266,https://api.github.com/repos/pydata/xarray/issues/1938,368268266,MDEyOklzc3VlQ29tbWVudDM2ODI2ODI2Ng==,2190658,2018-02-24T23:21:01Z,2018-02-24T23:21:01Z,MEMBER,"This might even help us out in Sparse for dispatch with `scipy.sparse.spmatrix`, `numpy.ndarray`, etc. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-368207468,https://api.github.com/repos/pydata/xarray/issues/1938,368207468,MDEyOklzc3VlQ29tbWVudDM2ODIwNzQ2OA==,2190658,2018-02-24T07:24:02Z,2018-02-24T07:24:02Z,MEMBER,"Another benefit to this would be that if XArray didn't want to support a particular library in its own code, the library itself could add the hooks.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-368106885,https://api.github.com/repos/pydata/xarray/issues/1938,368106885,MDEyOklzc3VlQ29tbWVudDM2ODEwNjg4NQ==,2190658,2018-02-23T19:02:02Z,2018-02-23T19:02:02Z,MEMBER,"How about something like checking inside a list if something is top priority, then call `a`, if second priority, call `b`, etc.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-368103344,https://api.github.com/repos/pydata/xarray/issues/1938,368103344,MDEyOklzc3VlQ29tbWVudDM2ODEwMzM0NA==,2190658,2018-02-23T18:49:41Z,2018-02-23T18:49:41Z,MEMBER,"Can't some wild metaprogramming make it so that `[1.0, 'foo']` itself is an instance of `VarArgs[float, str]` (or be converted?)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148 https://github.com/pydata/xarray/issues/1938#issuecomment-368016521,https://api.github.com/repos/pydata/xarray/issues/1938,368016521,MDEyOklzc3VlQ29tbWVudDM2ODAxNjUyMQ==,2190658,2018-02-23T14:00:50Z,2018-02-23T14:04:18Z,MEMBER,"Then I would suggest something like the following for hooks (omitting imports): ```python # Registered in order of priority xarray.interfaces.register('DaskArray', lambda ar: isinstance(ar, da.array)) xarray.hooks.register('nansum', 'DaskArray', da.nansum) xarray.interfaces.register('SparseArray', lambda ar: isinstance(ar, sparse.SparseArray)) xarray.hooks.register('nansum', 'SparseArray', sparse.nansum) ``` And then, in code, call the appropriate `nansum` instead of `np.nansum`: ```python nansum = xarray.hooks.get(arr, 'nansum') ``` If you need help, I'd be willing to give it. :-) But I'm not a user of XArray, so I don't really understand the use-cases or codebase.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,299668148