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/7120#issuecomment-1267369675,https://api.github.com/repos/pydata/xarray/issues/7120,1267369675,IC_kwDOAMm_X85LiobL,5635139,2022-10-04T18:07:55Z,2022-10-04T18:07:55Z,MEMBER,Thanks a lot @patrick-naylor ! ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1395478084 https://github.com/pydata/xarray/pull/7120#issuecomment-1266523363,https://api.github.com/repos/pydata/xarray/issues/7120,1266523363,IC_kwDOAMm_X85LfZzj,5635139,2022-10-04T07:30:20Z,2022-10-04T07:30:20Z,MEMBER,"Here's a fix of the type checker and a small suggestion (feel free to accept or reject!) ```diff commit 5dad26e19f1fb22e9a31854bac9471c5e1bec43c Author: Maximilian Roos Date: Tue Oct 4 00:26:48 2022 -0700 Ignore type on intentional error; (optional) tweak to error message diff --git a/xarray/core/dataset.py b/xarray/core/dataset.py index ff54bd84..a3f26d26 100644 --- a/xarray/core/dataset.py +++ b/xarray/core/dataset.py @@ -5405,7 +5405,7 @@ def transpose( if (len(dims) > 0) and (isinstance(dims[0], list)): list_fix = [f""'{x}'"" if isinstance(x, str) else f""{x}"" for x in dims[0]] raise TypeError( - f'transpose requires dims to be passed as multiple arguments. Expected ""{"", "".join(list_fix)}"". Received ""{dims[0]}"" instead' + f'transpose requires dims to be passed as multiple arguments. Expected `.transpose({"", "".join(list_fix)})`. Received `.transpose({dims[0]})` instead' ) # Use infix_dims to check once for missing dimensions diff --git a/xarray/tests/test_dataset.py b/xarray/tests/test_dataset.py index 6ac5ed06..8acd3798 100644 --- a/xarray/tests/test_dataset.py +++ b/xarray/tests/test_dataset.py @@ -6809,7 +6809,7 @@ def test_string_keys_typing() -> None: ds.assign(variables=mapping) -def test_traspose_error() -> None: +def test_transpose_error() -> None: # Transpose dataset with list as argument # Should raise error ds = xr.Dataset({""foo"": ((""x"", ""y""), [[21]]), ""bar"": ((""x"", ""y""), [[12]])}) @@ -6817,7 +6817,7 @@ def test_traspose_error() -> None: with pytest.raises( TypeError, match=re.escape( - ""transpose requires dims to be passed as multiple arguments. Expected \""'y', 'x'\"". Received \""['y', 'x']\"" instead"" + ""transpose requires dims to be passed as multiple arguments. Expected `.transpose('y', 'x')`. Received `.transpose(['y', 'x'])` instead"" ), ): - ds.transpose([""y"", ""x""]) + ds.transpose([""y"", ""x""]) # type: ignore ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1395478084