From 414ee30762465b7a09059a5ec042b75b99d1b03e Mon Sep 17 00:00:00 2001 From: "Noah D. Brenowitz" Date: Wed, 10 Jun 2020 16:44:16 -0700 Subject: [PATCH] Add overload for Mapping behavior Sadly this is not working with my version of mypy. See https://github.com/python/mypy/issues/7328 --- xarray/core/dataset.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/xarray/core/dataset.py b/xarray/core/dataset.py index 2dd4104aab7..57fdc726b68 100644 --- a/xarray/core/dataset.py +++ b/xarray/core/dataset.py @@ -1241,13 +1241,18 @@ def loc(self) -> _LocIndexer: and only when the key is a dict of the form {dim: labels}. """ return _LocIndexer(self) - @overload - def __getitem__(self, key: Hashable) -> DataArray: ... + def __getitem__(self, key: Hashable) -> DataArray: + ... @overload - def __getitem__(self, key: Any) -> Dataset: ... + def __getitem__(self, key: Mapping) -> "Dataset": + ... + + @overload + def __getitem__(self, key: List) -> "Dataset": + ... def __getitem__(self, key): """Access variables or coordinates this dataset as a