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/2948#issuecomment-491092770,https://api.github.com/repos/pydata/xarray/issues/2948,491092770,MDEyOklzc3VlQ29tbWVudDQ5MTA5Mjc3MA==,5635139,2019-05-09T22:38:51Z,2019-05-09T22:38:51Z,MEMBER,"I'm trying to think through if there would ever be ambiguity between packed and as specified; I _think_ it's fine. One note is that I'm not sure it's _that_ helpful though. In the case listed above, it's just as good to put them in a Dataset: ```python In [2]: xr.merge([objects]) Out[2]: Dimensions: (bar: 1, foo: 2) Dimensions without coordinates: bar, foo Data variables: a (foo) int64 1 2 b (bar) int64 3 In [3]: xr.Dataset(objects) Out[3]: Dimensions: (bar: 1, foo: 2) Dimensions without coordinates: bar, foo Data variables: a (foo) int64 1 2 b (bar) int64 3 ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,441341354 https://github.com/pydata/xarray/issues/2948#issuecomment-490434825,https://api.github.com/repos/pydata/xarray/issues/2948,490434825,MDEyOklzc3VlQ29tbWVudDQ5MDQzNDgyNQ==,10194086,2019-05-08T10:29:09Z,2019-05-08T10:29:09Z,MEMBER,"Yes, you are right - I did not take the `Iterable[...]` part in the docs seriously enough. Would it make sense to pack them? ``` python if isinstance(objects, (xr.DataArray, xr.Dataset, dict)): objects = [objects] ``` Because the alternative is to raise and then the user has to do `[objects]` himself, which seems a bit nonsensical to me. Although it is also nonsensical to pass a single `DataArray` or a `Dataset` to `xr.merge`, in contrast to `dict`. Then we would need to check `isinstance(obj, (xr.DataArray, xr.Dataset, dict))` in the in the `dict_like_objects`-loop and if not raise a `ValueError`?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,441341354 https://github.com/pydata/xarray/issues/2948#issuecomment-490217040,https://api.github.com/repos/pydata/xarray/issues/2948,490217040,MDEyOklzc3VlQ29tbWVudDQ5MDIxNzA0MA==,1217238,2019-05-07T19:08:55Z,2019-05-07T19:08:55Z,MEMBER,"> Though I think for these we should have better error messages. > > Ideally I think we'd a) check it were an iterable, and b) check each item as processed for one of the valid types, raising with a clear message on failures. Thoughts? Yes, absolutely!","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,441341354 https://github.com/pydata/xarray/issues/2948#issuecomment-490191774,https://api.github.com/repos/pydata/xarray/issues/2948,490191774,MDEyOklzc3VlQ29tbWVudDQ5MDE5MTc3NA==,5635139,2019-05-07T18:17:29Z,2019-05-07T18:17:29Z,MEMBER,"+1 Though I think for these we should have better error messages. Ideally I think we'd a) check it were an iterable, and b) check each item as processed for one of the valid types, raising with a clear message on failures. Thoughts?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,441341354 https://github.com/pydata/xarray/issues/2948#issuecomment-490188370,https://api.github.com/repos/pydata/xarray/issues/2948,490188370,MDEyOklzc3VlQ29tbWVudDQ5MDE4ODM3MA==,1217238,2019-05-07T18:07:43Z,2019-05-07T18:07:43Z,MEMBER,"You can pass an *iterable* of dicts into merge, not a single dict, e.g., ``` >>> xr.merge([objects]) Dimensions: (bar: 1, foo: 2) Dimensions without coordinates: bar, foo Data variables: a (foo) int64 1 2 b (bar) int64 3 ``` So I think this is working as expected.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,441341354