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/551#issuecomment-136812613,https://api.github.com/repos/pydata/xarray/issues/551,136812613,MDEyOklzc3VlQ29tbWVudDEzNjgxMjYxMw==,1217238,2015-09-01T17:58:35Z,2015-09-01T17:58:35Z,MEMBER,"@jhamman The problem is these lines in `Dataset.__getitem__`: https://github.com/xray/xray/blob/v0.6.0/xray/core/dataset.py#L615-L619 We should probably be checking for `is_hashable(key)` instead of converting to an ndarray, where `is_hashable` looks something like this: http://stackoverflow.com/a/3460725/809705 ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,103055174 https://github.com/pydata/xarray/pull/551#issuecomment-136121187,https://api.github.com/repos/pydata/xarray/issues/551,136121187,MDEyOklzc3VlQ29tbWVudDEzNjEyMTE4Nw==,1217238,2015-08-30T09:51:03Z,2015-08-30T09:51:03Z,MEMBER,"I'm conflicted about this change. My concern is that the only strict requirement for making a dataset is that the variable names must be hashable (and unique). Yes, you certainly need strings to write netcdfs -- but that's not something everyone uses, and it's usually not much more distruptive to get the error in to_netcdf rather than when creating the dataset. I don't think there are many other places in the code where we need to verify that variable name is a string? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,103055174 https://github.com/pydata/xarray/pull/551#issuecomment-135143450,https://api.github.com/repos/pydata/xarray/issues/551,135143450,MDEyOklzc3VlQ29tbWVudDEzNTE0MzQ1MA==,1217238,2015-08-26T19:13:18Z,2015-08-26T19:13:18Z,MEMBER,"Nope, the elements in `new_coords_names` are a subset of the keys of `new_variables`. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,103055174 https://github.com/pydata/xarray/pull/551#issuecomment-135139591,https://api.github.com/repos/pydata/xarray/issues/551,135139591,MDEyOklzc3VlQ29tbWVudDEzNTEzOTU5MQ==,1217238,2015-08-26T18:58:49Z,2015-08-26T18:58:49Z,MEMBER,"I think you can put the Dataset checks in `_update_vars_and_coords` (on the keys of `new_variables`). That method gets called at the lowest level by everything that adds variables. Note, for example, that you can also create new variables by passing a dictionary into `Dataset.merge` or `Dataset.update`. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,103055174