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/6837#issuecomment-1197439408,https://api.github.com/repos/pydata/xarray/issues/6837,1197439408,IC_kwDOAMm_X85HX3mw,14808389,2022-07-27T22:30:22Z,2022-07-27T22:30:22Z,MEMBER,"note that the implementation of `compute` is currently:
```python
def compute(self, **kwargs):
new = self.copy(deep=False)
return new.load(**kwargs)
```
which means that the inplace vs. ""pure function"" is literally the only difference (though I don't know whether doing a shallow copy has other implications).","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1319621859
https://github.com/pydata/xarray/issues/6837#issuecomment-1196891233,https://api.github.com/repos/pydata/xarray/issues/6837,1196891233,IC_kwDOAMm_X85HVxxh,14808389,2022-07-27T15:13:45Z,2022-07-27T15:15:46Z,MEMBER,"> Are there lazy array implementations other than dask in xarray?
No, sorry, I mistyped. What I was referring to is the lazy loading mechanism that will load the data into memory once you try to actually do something with it.
However, it might be possible to wrap other lazy array implementations if they implement either `__array_ufunc__` and `__array_function__`, or `__array_namespace__` (see #6807).","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1319621859
https://github.com/pydata/xarray/issues/6837#issuecomment-1196850508,https://api.github.com/repos/pydata/xarray/issues/6837,1196850508,IC_kwDOAMm_X85HVn1M,14808389,2022-07-27T14:40:54Z,2022-07-27T14:43:31Z,MEMBER,"Yeah, deprecating return values is not fun. We somewhat recently did that for `Dataset.update` and found that we could only mention this in the documentation / release notes, which is not great for visibility.
Interestingly, the docstring of `Dataset.compute` and `Dataset.load` compare with each other, while for the methods on `DataArray` and `Variable` that comparison is missing. None of them actually link to the other method, though.
Given that we have been removing inplace operations as much as possible, I'd vote to remove `load` entirely or make it an alias of `compute`.
Edit: up until I read this issue, I somehow assumed `compute` would only work with `dask` while `load` would also load our lazy array implementation into memory. Not sure how I got that impression, but maybe that's another argument to remove / align `load`?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1319621859