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/5648#issuecomment-941268682,https://api.github.com/repos/pydata/xarray/issues/5648,941268682,IC_kwDOAMm_X844Gp7K,3019665,2021-10-12T18:26:17Z,2021-10-12T18:26:17Z,NONE,"If you haven't already, would be good if those running into issues here could look over the [Array API]( https://data-apis.org/array-api/latest/ ). This is still something that is being worked on, but the goal is to standardize Array APIs. If there are things missing from that, it would be good to hear about them in [a new issue]( https://github.com/data-apis/array-api/issues/new ).","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-925025457,https://api.github.com/repos/pydata/xarray/issues/5648,925025457,IC_kwDOAMm_X843IsSx,98330,2021-09-22T15:12:14Z,2021-09-22T19:25:49Z,NONE,"There are also some relevant and very interesting PyTorch development discussions; there are a lot of Tensor subclasses in the making and thought being put into how those interact:
- https://dev-discuss.pytorch.org/t/state-of-pytorch-core-september-2021-edition/332#alternative-tensors-5
- https://pytorch-dev-podcast.simplecast.com/episodes/tensor-subclasses-and-liskov-substitution-principle
- https://dev-discuss.pytorch.org/t/functorch-levels-as-dynamically-allocated-classes/294","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-924808439,https://api.github.com/repos/pydata/xarray/issues/5648,924808439,IC_kwDOAMm_X843H3T3,165551,2021-09-22T10:41:01Z,2021-09-22T10:41:01Z,NONE,"I'd like to attend on behalf of QuTiP. I'll likely mostly listen -- QuTiP is not directly affected in the way that xarray, Dask, cupy, etc are, but we're users of potentially all of these array types (and already explicitly support numpy, CuPy, and our own sparse array format) and we are facing similar issues of our own (i.e. users of QuTiP are asking us to develop a `__qutip_qobj__` style protocol similar to numpy's and we would like to learn the lessons of the last decade of numpy rather than repeat the steps ourselves in the coming one).","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-924513949,https://api.github.com/repos/pydata/xarray/issues/5648,924513949,IC_kwDOAMm_X843Gvad,5534781,2021-09-22T01:44:00Z,2021-09-22T01:44:00Z,NONE,Will try to join.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-924364366,https://api.github.com/repos/pydata/xarray/issues/5648,924364366,IC_kwDOAMm_X843GK5O,8457388,2021-09-21T20:36:16Z,2021-09-21T20:36:16Z,NONE,"I'd also like to attend, primarily just to learn.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-924111284,https://api.github.com/repos/pydata/xarray/issues/5648,924111284,IC_kwDOAMm_X843FNG0,3019665,2021-09-21T15:40:28Z,2021-09-21T15:40:28Z,NONE,"Maybe too soon to ask, but do we have a link to the video call?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-896866803,https://api.github.com/repos/pydata/xarray/issues/5648,896866803,IC_kwDOAMm_X841dRnz,1634164,2021-08-11T14:18:05Z,2021-08-11T14:18:05Z,NONE,👂🏾 ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-890459710,https://api.github.com/repos/pydata/xarray/issues/5648,890459710,IC_kwDOAMm_X841E1Y-,12912489,2021-08-01T06:12:19Z,2021-08-01T06:12:19Z,NONE,"> * scipp (@SimonHeybrock, xref [NEP 18, physical units, uncertainties, and the scipp library? #3509](https://github.com/pydata/xarray/issues/3509))
Thanks! I am definitely interested.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-890310954,https://api.github.com/repos/pydata/xarray/issues/5648,890310954,IC_kwDOAMm_X841EREq,98330,2021-07-31T08:24:02Z,2021-07-31T08:24:02Z,NONE,"> Interesting - could you say a bit more? Looking at these two issues, it seemed more like the question was simply on hold until someone who wanted it badly enough came along?
There is a significant backwards compatibility break when a library adds `__array_ufunc__` and `__array_function__`. JAX maintainers were not comfortable with that. @shoyer wrote https://numpy.org/neps/nep-0037-array-module.html as a follow-up largely because of that. That NEP is effectively superceded by the array API standard (https://data-apis.org/array-api/latest/ and NEP 47). PyTorch has decided to adopt that and implementation is well underway. Experimental support in NumPy will land next week (complete except for `linalg`). CuPy and MXNet plan to follow that NumPy implementation. JAX and Dask not yet decided I believe, but likely to follow NumPy as well.
> Canonical/minimal API of a ""duck array"" and how to detect it (though may be superseded by NEPs 30 and 47 among others)
This is basically what the array API standard provides (most functions follow NumPy, with deviations mostly where other libraries were already deviating because they could implement something on GPU, with a JIT, or with a non-strided memory model). `__array_function__` has worked quite well for CuPy and Dask, because they follow the NumPy API almost to the letter, with only a couple of exceptions (e.g. 0-D array instead of array scalars in CuPy). JAX, PyTorch and MXNet all deviate much more, and since the NumPy API is not very well-defined (there's 1500+ public objects plus more semi-public ones), you'd have no guarantees about what works and what doesn't.
That said, `__array_ufunc__` and `__array_function__` aren't going anywhere. The RAPIDS ecosystem is invested in it and I believe largely happy with it. So adding Xarray and Pint to the mix sounds potentially interesting.","{""total_count"": 2, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 1}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-890260105,https://api.github.com/repos/pydata/xarray/issues/5648,890260105,IC_kwDOAMm_X841EEqJ,1852447,2021-07-31T00:06:14Z,2021-07-31T00:06:14Z,NONE,"> * Awkward? (@jpivarski)
I'm interested. Let us know when the time will be or if there's a poll for picking a time. Thanks!","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-890223312,https://api.github.com/repos/pydata/xarray/issues/5648,890223312,IC_kwDOAMm_X841D7rQ,12417828,2021-07-30T22:42:39Z,2021-07-30T22:42:39Z,NONE,"Happy to hop on a call for this as well, thanks for organizing all of this @TomNicholas!","{""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 1, ""rocket"": 0, ""eyes"": 0}",,956103236
https://github.com/pydata/xarray/issues/5648#issuecomment-889875756,https://api.github.com/repos/pydata/xarray/issues/5648,889875756,IC_kwDOAMm_X841Cm0s,98330,2021-07-30T12:59:04Z,2021-07-30T12:59:04Z,NONE,"I'm happy to join, seems interesting. And yes, I can say something about PyTorch. There probably isn't much to say though - PyTorch is unlikely to adopt `__array_function__` at this point, just like JAX. And it doesn't seem critical for this hierarchy anyway - the fundamental array objects (PyTorch/CuPy/NumPy/Sparse/JAX arrays or tensors) do not have or need a class hierarchy, they are all at the bottom and should not be mixed.
The key thing here seems to be Dask <-> Xarray <-> Pint, unless I'm missing something?","{""total_count"": 2, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 1, ""rocket"": 0, ""eyes"": 0}",,956103236