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/6239#issuecomment-1031635633,https://api.github.com/repos/pydata/xarray/issues/6239,1031635633,IC_kwDOAMm_X849fYKx,10194086,2022-02-07T16:04:31Z,2022-02-07T16:04:31Z,MEMBER,"Define
```python
class BackendArray(...):
@property
def shape(self) -> tuple(int, ...):
return self._shape
```
and then set
```python
class SpecificBackend(BackendArray):
def __init__(self, variable_name, datastore):
self._shape = array.shape
```
but that might affect downstream libraries.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1124879701
https://github.com/pydata/xarray/pull/6239#issuecomment-1031335864,https://api.github.com/repos/pydata/xarray/issues/6239,1031335864,IC_kwDOAMm_X849eO-4,10194086,2022-02-07T10:57:41Z,2022-02-07T10:57:41Z,MEMBER,"I think `BackendArray` (and it's parents) did not define `shape` as an attribute. So one option is to revert this change.
---
The other is to unify how the backends assign `shape` and `dtype`? They seem be to defined very differently depending on the backend.
https://github.com/pydata/xarray/blob/d47cf0c850cb70429373782b3c1e0329d14fd05a/xarray/backends/pydap_.py#L28-L30
https://github.com/pydata/xarray/blob/d47cf0c850cb70429373782b3c1e0329d14fd05a/xarray/backends/netCDF4_.py#L59
https://github.com/pydata/xarray/blob/d47cf0c850cb70429373782b3c1e0329d14fd05a/xarray/backends/rasterio_.py#L37
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1124879701