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/4144#issuecomment-644639292,https://api.github.com/repos/pydata/xarray/issues/4144,644639292,MDEyOklzc3VlQ29tbWVudDY0NDYzOTI5Mg==,6213168,2020-06-16T09:10:07Z,2020-06-16T09:10:07Z,MEMBER,@nbren12 it seems to me that mypy is being overly aggressive when parsing the hinted code (hence why I had to put ``# type: ignore`` on it) but it is being more lax when the same code is invoked somewhere else like in my test script. Overall I suspect it may be fragile and break in future mypy versions...,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,636611699
https://github.com/pydata/xarray/pull/4144#issuecomment-643655275,https://api.github.com/repos/pydata/xarray/issues/4144,643655275,MDEyOklzc3VlQ29tbWVudDY0MzY1NTI3NQ==,6213168,2020-06-13T17:44:43Z,2020-06-13T17:44:43Z,MEMBER,"I took the liberty to rework it, please have a look
Test script:
```python
from typing import Hashable, Mapping
import xarray
ds: xarray.Dataset
class D(Hashable, Mapping):
def __hash__(self): ...
def __getitem__(self, item): ...
def __iter__(self): ...
def __len__(self): ...
reveal_type(ds[""foo""])
reveal_type(ds[[""foo"", ""bar""]])
reveal_type(ds[{}])
reveal_type(ds[D()])
```
mypy output:
```
t1.py:12: note: Revealed type is 'xarray.core.dataarray.DataArray'
t1.py:13: note: Revealed type is 'xarray.core.dataset.Dataset'
t1.py:14: note: Revealed type is 'xarray.core.dataset.Dataset'
t1.py:15: note: Revealed type is 'xarray.core.dataset.Dataset'
```
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,636611699