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/3981#issuecomment-1243222416,https://api.github.com/repos/pydata/xarray/issues/3981,1243222416,IC_kwDOAMm_X85KGhGQ,12912489,2022-09-12T04:59:42Z,2022-09-12T04:59:42Z,NONE,"I note that `xarray.Variable` also provides `attrs`. Would it make sense to separate this aspect from the labelled dims? That is, instead of extracting this as a single library, turn it into two, such that users can pick one or both depending on their needs.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,602256880 https://github.com/pydata/xarray/issues/3981#issuecomment-1243218951,https://api.github.com/repos/pydata/xarray/issues/3981,1243218951,IC_kwDOAMm_X85KGgQH,12912489,2022-09-12T04:51:23Z,2022-09-12T04:55:13Z,NONE,"This is something I am getting more and more interested in. We ([scipp](https://scipp.github.io)) currently have a C++ implementation (with Pything bindings) of a simpler version of `xarray.Variable`. I am starting considerations of moving more of this to the Python side. So I would like to hear about the status of this? While I am still far from having reached a conclusion (or convincing anyone here to support this), investing in technology that is adopted and carried by the community is considered important here. In other words, we may in principle be able to help out and invest some time into this. One important precondition would be full compatibility with other custom array containers: For our applications we do not just need to add labelled axes, but also units, masks, bin edges, and ragged data support. I am currently toying with the idea of a ""stack"" of Python array libraries (I guess you would call them duck arrays?) that add these features one by one, selectively, but can all be used also independently --- unlike Scipp, where you get all or nothing, and lose the ability of using NumPy (or other) array libraries under the hood. Each of those libraries could be small and simple, focussing one just one specific aspect, but everything should be composable. For example, we can imagine a `Variable` with a `pint` array for having units as well as labelled dimensions.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,602256880