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/804#issuecomment-370992398,https://api.github.com/repos/pydata/xarray/issues/804,370992398,MDEyOklzc3VlQ29tbWVudDM3MDk5MjM5OA==,1217238,2018-03-07T01:40:49Z,2018-03-07T01:40:49Z,MEMBER,"agreed, this is fixed now by `dask.compute()`","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,143551401
https://github.com/pydata/xarray/issues/804#issuecomment-370985619,https://api.github.com/repos/pydata/xarray/issues/804,370985619,MDEyOklzc3VlQ29tbWVudDM3MDk4NTYxOQ==,2443309,2018-03-07T01:04:07Z,2018-03-07T01:04:07Z,MEMBER,I believe this should have been close by #1674. Anyone object or am I missing something? ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,143551401
https://github.com/pydata/xarray/issues/804#issuecomment-201542437,https://api.github.com/repos/pydata/xarray/issues/804,201542437,MDEyOklzc3VlQ29tbWVudDIwMTU0MjQzNw==,1217238,2016-03-25T22:08:40Z,2016-03-25T22:08:40Z,MEMBER,"I would lean towards keeping `compute` a pure function. That seems more straightforward to implement with duck typing in dask, anyways. I guess we could go either way, though.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,143551401
https://github.com/pydata/xarray/issues/804#issuecomment-201529862,https://api.github.com/repos/pydata/xarray/issues/804,201529862,MDEyOklzc3VlQ29tbWVudDIwMTUyOTg2Mg==,2783717,2016-03-25T21:49:03Z,2016-03-25T21:49:03Z,NONE,"I'm fine with the duck typing, and could make that work fairly easily. The mutation is a bit trickier though. I see two good options here for what `b = dask.compute(a)` would do with `a` being an xarray object:
1. `b` is a new object with the computation performed, `a` still contains a dask array (uncomputed).
2. `b` is the same object as `a`, and the internals of `a` are mutated to contain evaluated data.
I'm slightly partial to option 2, as it seems to mesh more with how xarray currently uses dask. Thoughts?
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,143551401
https://github.com/pydata/xarray/issues/804#issuecomment-201510142,https://api.github.com/repos/pydata/xarray/issues/804,201510142,MDEyOklzc3VlQ29tbWVudDIwMTUxMDE0Mg==,1217238,2016-03-25T21:18:59Z,2016-03-25T21:18:59Z,MEMBER,"It would be nice to be able to use `dask.compute()` for this, by defining a duck type system for dask objects such that xarray objects can participate. (xref https://github.com/dask/dask/issues/700)
> I'm not sure what a good api is here, as xarray objects mutate when computed.
Yeah, this is somewhat unfortunate, but convenient (though somewhat obsolete with dask's cachey). Perhaps adding a dedicated `.compute()` method that does not mutate would be a good idea.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,143551401