id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 1684281101,PR_kwDOAMm_X85PKWFR,7787,Allow the label run-upstream to run upstream CI,14371165,closed,0,,,6,2023-04-26T05:07:44Z,2024-03-13T21:44:50Z,2023-05-01T19:12:26Z,MEMBER,,0,pydata/xarray/pulls/7787,"This PR makes it easier to trigger the upstream CI and creates a mypy test for upstream as well, but only when adding this label so that it doesn't mess with the scheduled runs and those results. Noticed the need in #7786.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7787/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1691206894,I_kwDOAMm_X85kzcTu,7802,Mypy errors with matplotlib 3.8,14371165,closed,0,,,6,2023-05-01T19:03:51Z,2023-09-17T05:03:00Z,2023-09-17T05:02:59Z,MEMBER,,,,"Matplotlib has started to support typing in main (https://github.com/matplotlib/matplotlib/issues/20504) and mypy is throwing a few errors:
``` xarray/core/options.py:12: error: Cannot assign to a type [misc] xarray/core/options.py:12: error: Incompatible types in assignment (expression has type ""Type[str]"", variable has type ""Type[Colormap]"") [assignment] xarray/plot/utils.py:808: error: Argument 1 to ""set_xticks"" of ""_AxesBase"" has incompatible type ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]""; expected ""Iterable[float]"" [arg-type] xarray/plot/utils.py:810: error: Argument 1 to ""set_yticks"" of ""_AxesBase"" has incompatible type ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]""; expected ""Iterable[float]"" [arg-type] xarray/plot/utils.py:813: error: Argument 1 to ""set_xlim"" of ""_AxesBase"" has incompatible type ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]""; expected ""Union[float, Tuple[float, float], None]"" [arg-type] xarray/plot/utils.py:815: error: Argument 1 to ""set_ylim"" of ""_AxesBase"" has incompatible type ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]""; expected ""Union[float, Tuple[float, float], None]"" [arg-type] Generated Cobertura report: /home/runner/work/xarray/xarray/mypy_report/cobertura.xml Installing missing stub packages: /home/runner/micromamba-root/envs/xarray-tests/bin/python -m pip install types-Pillow types-PyYAML types-Pygments types-babel types-colorama types-paramiko types-psutil types-pytz types-pywin32 types-setuptools types-urllib3 Generated Cobertura report: /home/runner/work/xarray/xarray/mypy_report/cobertura.xml Found 154 errors in 10 files (checked 138 source files) xarray/plot/utils.py:1349: error: Unsupported operand types for * (""_SupportsArray[dtype[Any]]"" and ""float"") [operator] xarray/plot/utils.py:1349: error: Unsupported operand types for * (""_NestedSequence[_SupportsArray[dtype[Any]]]"" and ""float"") [operator] xarray/plot/utils.py:1349: error: Unsupported operand types for * (""_NestedSequence[Union[bool, int, float, complex, str, bytes]]"" and ""float"") [operator] xarray/plot/utils.py:1349: note: Left operand is of type ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" xarray/plot/utils.py:1349: error: Unsupported operand types for * (""str"" and ""float"") [operator] xarray/plot/utils.py:1349: error: Unsupported operand types for * (""bytes"" and ""float"") [operator] xarray/plot/utils.py:1350: error: Item ""_SupportsArray[dtype[Any]]"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1350: error: Item ""_NestedSequence[_SupportsArray[dtype[Any]]]"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1350: error: Item ""int"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1350: error: Item ""float"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1350: error: Item ""complex"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1350: error: Item ""str"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1350: error: Item ""bytes"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1350: error: Item ""_NestedSequence[Union[bool, int, float, complex, str, bytes]]"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1351: error: Item ""_SupportsArray[dtype[Any]]"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1351: error: Item ""_NestedSequence[_SupportsArray[dtype[Any]]]"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1351: error: Item ""int"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1351: error: Item ""float"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1351: error: Item ""complex"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1351: error: Item ""str"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1351: error: Item ""bytes"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/utils.py:1351: error: Item ""_NestedSequence[Union[bool, int, float, complex, str, bytes]]"" of ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" has no attribute ""mask"" [union-attr] xarray/plot/facetgrid.py:684: error: ""FigureCanvasBase"" has no attribute ""get_renderer"" [attr-defined] xarray/plot/accessor.py:182: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/accessor.py:182: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/accessor.py:309: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/accessor.py:309: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/accessor.py:428: error: Overloaded function implementation cannot produce return type of signature 2 [misc] xarray/plot/accessor.py:428: error: Overloaded function implementation cannot produce return type of signature 3 [misc] xarray/plot/accessor.py:433: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/accessor.py:433: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/accessor.py:552: error: Overloaded function implementation cannot produce return type of signature 2 [misc] xarray/plot/accessor.py:552: error: Overloaded function implementation cannot produce return type of signature 3 [misc] xarray/plot/accessor.py:557: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/accessor.py:557: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/accessor.py:676: error: Overloaded function implementation cannot produce return type of signature 2 [misc] xarray/plot/accessor.py:676: error: Overloaded function implementation cannot produce return type of signature 3 [misc] xarray/plot/accessor.py:681: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/accessor.py:681: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/accessor.py:800: error: Overloaded function implementation cannot produce return type of signature 2 [misc] xarray/plot/accessor.py:800: error: Overloaded function implementation cannot produce return type of signature 3 [misc] xarray/plot/accessor.py:948: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/accessor.py:948: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/accessor.py:1075: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/accessor.py:1075: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/accessor.py:1190: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/accessor.py:1190: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/dataset_plot.py:324: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/dataset_plot.py:324: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/dataset_plot.py:478: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/dataset_plot.py:478: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""x"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""y"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""u"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""v"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""density"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""linewidth"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""color"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""cmap"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""norm"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""arrowsize"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""arrowstyle"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""minlength"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""transform"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""zorder"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""start_points"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""maxlength"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""integration_direction"" [misc] xarray/plot/dataset_plot.py:649: error: Function gets multiple values for keyword argument ""broken_streamlines"" [misc] xarray/plot/dataset_plot.py:649: error: Argument 1 has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Union[float, Tuple[float, float]]"" [arg-type] xarray/plot/dataset_plot.py:649: error: Argument 1 has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Union[str, Colormap, None]"" [arg-type] xarray/plot/dataset_plot.py:649: error: Argument 1 has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Union[str, Normalize, None]"" [arg-type] xarray/plot/dataset_plot.py:649: error: Argument 1 has incompatible type ""*List[ndarray[Any, Any]]""; expected ""float"" [arg-type] xarray/plot/dataset_plot.py:649: error: Argument 1 has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Union[str, ArrowStyle]"" [arg-type] xarray/plot/dataset_plot.py:649: error: Argument 1 has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Optional[Transform]"" [arg-type] xarray/plot/dataset_plot.py:649: error: Argument 1 has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Optional[float]"" [arg-type] xarray/plot/dataset_plot.py:649: error: Argument 1 has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Literal['forward', 'backward', 'both']"" [arg-type] xarray/plot/dataset_plot.py:649: error: Argument 1 has incompatible type ""*List[ndarray[Any, Any]]""; expected ""bool"" [arg-type] xarray/plot/dataset_plot.py:751: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/dataset_plot.py:751: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:718: error: Incompatible return value type (got ""Tuple[Union[ndarray[Any, Any], List[ndarray[Any, Any]]], ndarray[Any, Any], Union[BarContainer, Polygon, List[Union[BarContainer, Polygon]]]]"", expected ""Tuple[ndarray[Any, Any], ndarray[Any, Any], BarContainer]"") [return-value] xarray/plot/dataarray_plot.py:996: error: ""Axes"" has no attribute ""view_init"" [attr-defined] xarray/plot/dataarray_plot.py:1106: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:1106: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:1261: error: Argument 1 to ""scatter"" of ""Axes"" has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Union[Sequence[Union[Union[Tuple[float, float, float], str], Union[str, Tuple[float, float, float, float], Tuple[Union[Tuple[float, float, float], str], float], Tuple[Tuple[float, float, float, float], float]]]], Union[Union[Tuple[float, float, float], str], Union[str, Tuple[float, float, float, float], Tuple[Union[Tuple[float, float, float], str], float], Tuple[Tuple[float, float, float, float], float]]], None]"" [arg-type] xarray/plot/dataarray_plot.py:1261: error: Argument 1 to ""scatter"" of ""Axes"" has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Optional[Union[str, Path, MarkerStyle]]"" [arg-type] xarray/plot/dataarray_plot.py:1261: error: Argument 1 to ""scatter"" of ""Axes"" has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Union[str, Colormap, None]"" [arg-type] xarray/plot/dataarray_plot.py:1261: error: Argument 1 to ""scatter"" of ""Axes"" has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Union[str, Normalize, None]"" [arg-type] xarray/plot/dataarray_plot.py:1261: error: Argument 1 to ""scatter"" of ""Axes"" has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Optional[float]"" [arg-type] xarray/plot/dataarray_plot.py:1261: error: Argument 1 to ""scatter"" of ""Axes"" has incompatible type ""*List[ndarray[Any, Any]]""; expected ""Union[float, Sequence[float], None]"" [arg-type] xarray/plot/dataarray_plot.py:1615: error: ""Axes"" has no attribute ""set_zlabel"" [attr-defined] xarray/plot/dataarray_plot.py:1655: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:1655: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:1874: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:1874: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:2010: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:2010: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:2146: error: Overloaded function signatures 1 and 2 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:2146: error: Overloaded function signatures 1 and 3 overlap with incompatible return types [misc] xarray/plot/dataarray_plot.py:2464: error: ""Axes"" has no attribute ""plot_surface"" [attr-defined] xarray/tests/test_plot.py:427: error: Value of type ""Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]"" is not indexable [index] xarray/tests/test_plot.py:443: error: Module has no attribute ""viridis"" [attr-defined] xarray/tests/test_plot.py:457: error: ""None"" not callable [misc] xarray/tests/test_plot.py:462: error: ""None"" not callable [misc] xarray/tests/test_plot.py:465: error: ""None"" not callable [misc] xarray/tests/test_plot.py:471: error: Module has no attribute ""viridis"" [attr-defined] xarray/tests/test_plot.py:477: error: Module has no attribute ""viridis"" [attr-defined] xarray/tests/test_plot.py:482: error: Module has no attribute ""viridis"" [attr-defined] xarray/tests/test_plot.py:486: error: Module has no attribute ""viridis"" [attr-defined] xarray/tests/test_plot.py:493: error: ""None"" not callable [misc] xarray/tests/test_plot.py:498: error: ""None"" not callable [misc] xarray/tests/test_plot.py:501: error: ""None"" not callable [misc] xarray/tests/test_plot.py:931: error: Module has no attribute ""magma"" [attr-defined] xarray/tests/test_plot.py:933: error: Module has no attribute ""magma"" [attr-defined] xarray/tests/test_plot.py:1173: error: Module has no attribute ""RdBu"" [attr-defined] xarray/tests/test_plot.py:1746: error: Item ""Colormap"" of ""Optional[Colormap]"" has no attribute ""colors"" [union-attr] xarray/tests/test_plot.py:1746: error: Item ""None"" of ""Optional[Colormap]"" has no attribute ""colors"" [union-attr] xarray/tests/test_plot.py:1747: error: Item ""Colormap"" of ""Optional[Colormap]"" has no attribute ""colors"" [union-attr] xarray/tests/test_plot.py:1747: error: Item ""None"" of ""Optional[Colormap]"" has no attribute ""colors"" [union-attr] xarray/tests/test_plot.py:1749: error: Item ""Colormap"" of ""Optional[Colormap]"" has no attribute ""_rgba_over"" [union-attr] xarray/tests/test_plot.py:1749: error: Item ""None"" of ""Optional[Colormap]"" has no attribute ""_rgba_over"" [union-attr] xarray/tests/test_plot.py:1801: error: Item ""None"" of ""Optional[ndarray[Any, Any]]"" has no attribute ""size"" [union-attr] xarray/tests/test_plot.py:1952: error: Item ""None"" of ""Optional[ndarray[Any, Any]]"" has no attribute ""min"" [union-attr] xarray/tests/test_plot.py:1952: error: Item ""None"" of ""Optional[ndarray[Any, Any]]"" has no attribute ""max"" [union-attr] xarray/tests/test_plot.py:1968: error: Item ""None"" of ""Optional[ndarray[Any, Any]]"" has no attribute ""dtype"" [union-attr] xarray/tests/test_plot.py:1969: error: Value of type ""Optional[ndarray[Any, Any]]"" is not indexable [index] xarray/tests/test_plot.py:2125: error: ""Artist"" has no attribute ""get_clim"" [attr-defined] xarray/tests/test_plot.py:2135: error: ""Colorbar"" has no attribute ""vmin"" [attr-defined] xarray/tests/test_plot.py:2136: error: ""Colorbar"" has no attribute ""vmax"" [attr-defined] xarray/tests/test_plot.py:2202: error: ""Artist"" has no attribute ""get_clim"" [attr-defined] xarray/tests/test_plot.py:2218: error: ""Artist"" has no attribute ""norm"" [attr-defined] xarray/tests/test_plot.py:2747: error: Item ""_AxesBase"" of ""Optional[_AxesBase]"" has no attribute ""legend_"" [union-attr] xarray/tests/test_plot.py:2747: error: Item ""None"" of ""Optional[_AxesBase]"" has no attribute ""legend_"" [union-attr] xarray/tests/test_plot.py:2754: error: Item ""None"" of ""Optional[_AxesBase]"" has no attribute ""get_legend"" [union-attr] xarray/tests/test_plot.py:2775: error: Item ""None"" of ""Optional[FigureBase]"" has no attribute ""axes"" [union-attr] xarray/tests/test_plot.py:2775: error: Argument 1 to ""len"" has incompatible type ""Union[_AxesBase, None, Any]""; expected ""Sized"" [arg-type] xarray/tests/test_plot.py:2803: error: Module has no attribute ""dates"" [attr-defined] xarray/tests/test_plot.py:2812: error: Module has no attribute ""dates"" [attr-defined] xarray/tests/test_plot.py:2831: error: Item ""None"" of ""Optional[_AxesBase]"" has no attribute ""xaxis"" [union-attr] xarray/tests/test_plot.py:2831: error: Module has no attribute ""dates"" [attr-defined] xarray/tests/test_groupby.py:715: error: Argument 1 to ""groupby"" of ""Dataset"" has incompatible type ""ndarray[Any, dtype[signedinteger[Any]]]""; expected ""Union[Hashable, DataArray, IndexVariable]"" [arg-type] xarray/tests/test_groupby.py:715: note: Following member(s) of ""ndarray[Any, dtype[signedinteger[Any]]]"" have conflicts: xarray/tests/test_groupby.py:715: note: __hash__: expected ""Callable[[], int]"", got ""None"" xarray/tests/test_dataset.py:6964: error: ""PlainQuantity[Any]"" not callable [operator] xarray/tests/test_dataset.py:6965: error: ""PlainQuantity[Any]"" not callable [operator] xarray/tests/test_dataset.py:7007: error: ""PlainQuantity[Any]"" not callable [operator] xarray/tests/test_dataset.py:7008: error: ""PlainQuantity[Any]"" not callable [operator] xarray/tests/test_dataarray.py:6687: error: ""PlainQuantity[Any]"" not callable [operator] xarray/tests/test_dataarray.py:6689: error: ""PlainQuantity[Any]"" not callable [operator] xarray/tests/test_dataarray.py:6735: error: ""PlainQuantity[Any]"" not callable [operator] xarray/tests/test_dataarray.py:6737: error: ""PlainQuantity[Any]"" not callable [operator] ```
Some guidance how to solve these: > - `[xy]ticks` in mpl is currently overly narrowly type hinted because I was following the docstring, but I agree that `ArrayLike` is a better type hint for that, plan on updating (including the docstring) upstream > - `[xy]lim` originally neglected the case of passing `set_xlim((min, max))` as a tuple, but that has been updated. xarray has that type hinted as array like, but mpl has it hinted as a 2-tuple (I think it is currently still of floats, but may be expanded as we more directly address units/categoricals/etc). Willing to debate here, but my starting position is that the ""exactly 2 values"" is valuable info here, and I think `tuple` is the only way to do that. > - `get_renderer` is not actually available on all of our backends, we should maybe see if there is a more preferred way of doing what you are doing here that will work for all backends, but haven't looked into it too closely. > - `Module has no attribute ` is another instance of dynamically generated behavior which can't be statically type checked (elegantly, at least), can probably be replaced by `mpl.colormaps[""""]` in many cases, which is statically typecheckable > - Anything to do with 3D Axes is not type hinted, perhaps ignore for now (or help us get that type hinted adequately, but it is relatively low priority currently) > - `Module has no attribute ""dates""` we don't currently type hint dates/units things, but it is on my mind, not sure yet if it will be in first release or not though (may at least put a placeholder that gets rid of this error, but treats everything as ""Any""). _Originally posted by @ksunden in https://github.com/pydata/xarray/issues/7787#issuecomment-1523743471_ > The suggestion from mpl (specifically @tacaswell) was to use [constrained layout](https://matplotlib.org/stable/tutorials/intermediate/constrainedlayout_guide.html) for the purpose that xarray currently uses `get_renderer`, this will ensure that the `facetgrid` works with all mpl backends. _Originally posted by @ksunden in https://github.com/pydata/xarray/issues/7787#issuecomment-1528091492_ > I'm also relatively sure that if you are willing to put a floor on the version of Matplotlib you support `get_window_extent` will use it's internally cached renderer (and when we make it uniformly optional we also fixed the cache invalidation logic). _Originally posted by @tacaswell in https://github.com/pydata/xarray/issues/7787#issuecomment-1528096647_ ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7802/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 1826978659,I_kwDOAMm_X85s5Xtj,8028,Setting datarrays with non-dimension coordinates errors,14371165,open,0,,,6,2023-07-28T19:20:31Z,2023-08-10T15:25:23Z,,MEMBER,,,,"### What happened? I'm not sure if this is a bug or a feature but I was expecting this example to work since the new coord is just a slight rewrite of the original dimension coordinate: ```python import xarray as xr ds = xr.tutorial.open_dataset(""air_temperature"") # Change the first time value: ds[""air_new""] = ds.air.copy() air_new_changed = ds.air_new[{""time"": 0}] * 3 ds.air_new.loc[air_new_changed.coords] = air_new_changed # Works! :) # Add a another coord along time axis and change # the first time value: ds[""air_new""] = ds.air.copy().assign_coords( {""time_float"": ds.time.astype(float)} ) air_new_changed = ds.air_new[{""time"": 0}] * 4 ds.air_new.loc[air_new_changed.coords] = air_new_changed # Error! :( Traceback (most recent call last): Cell In[25], line 5 ds.air_new.loc[air_new_changed.coords] = air_new_changed File ~\AppData\Local\mambaforge\envs\jw\lib\site-packages\xarray\core\dataarray.py:222 in __setitem__ dim_indexers = map_index_queries(self.data_array, key).dim_indexers File ~\AppData\Local\mambaforge\envs\jw\lib\site-packages\xarray\core\indexing.py:182 in map_index_queries grouped_indexers = group_indexers_by_index(obj, indexers, options) File ~\AppData\Local\mambaforge\envs\jw\lib\site-packages\xarray\core\indexing.py:144 in group_indexers_by_index raise KeyError(f""no index found for coordinate {key!r}"") KeyError: ""no index found for coordinate 'time_float'"" ``` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8028/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,issue 1420242462,PR_kwDOAMm_X85BYlCD,7204,absolufy-imports - No relative imports - PEP8,14371165,closed,0,,,6,2022-10-24T05:27:24Z,2022-12-10T11:42:43Z,2022-12-07T21:24:44Z,MEMBER,,0,pydata/xarray/pulls/7204,"I saw dask has started using absolute imports in https://github.com/dask/dask/pull/8796. I find it much more readable and there's a nice pre-commit for it as well. Easiest way to deal with the merge conflicts is probably to just accept your changes and let pre-commit fix them afterwards.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7204/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1420230433,PR_kwDOAMm_X85BYia0,7203,Avoid loading any data for reprs ,14371165,closed,0,,,6,2022-10-24T05:12:40Z,2022-10-28T16:23:19Z,2022-10-28T16:23:19Z,MEMBER,,0,pydata/xarray/pulls/7203," - [x] Closes #6722 - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7203/reactions"", ""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 1, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1376095009,PR_kwDOAMm_X84_G4FM,7044,Self should be Any,14371165,closed,0,,,6,2022-09-16T15:18:21Z,2022-09-23T18:56:40Z,2022-09-16T15:54:54Z,MEMBER,,0,pydata/xarray/pulls/7044,"Self should be as permissive as possible until it works properly. Using `Any` instead of `TypeVar` avoids errors like these: `C:\users\j.w\documents\github\xarray\xarray\plot\facetgrid.py:462: error: Incompatible return value type (got ""FacetGrid"", expected ""Self"")` xref: #6923","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7044/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1124884287,PR_kwDOAMm_X84yHhLI,6240,Run pyupgrade on core/utils,14371165,closed,0,,,6,2022-02-05T09:39:48Z,2022-08-12T09:08:36Z,2022-02-05T21:29:37Z,MEMBER,,0,pydata/xarray/pulls/6240,"Make #6239 cleaner by running pyupgrade separately. pyupgrade fixes typing only if `from __future__ import annotations` has been manually added to the file. Could probably do this in other files as well. xref: #6244","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6240/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 990194656,MDExOlB1bGxSZXF1ZXN0NzI4ODE5ODk1,5772,Create benchmark for groupby,14371165,closed,0,,,6,2021-09-07T17:23:50Z,2022-08-12T09:03:28Z,2021-09-20T20:15:30Z,MEMBER,,0,pydata/xarray/pulls/5772," - [x] Benchmark from #659 - [x] Tests added - [x] Passes `pre-commit run --all-files` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5772/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 976179483,MDExOlB1bGxSZXF1ZXN0NzE3MTgwODkw,5726,Bump minimum version requirements for dask from 2.15 to 2.24,14371165,closed,0,,,6,2021-08-21T17:07:10Z,2021-09-08T17:58:26Z,2021-08-25T21:08:01Z,MEMBER,,0,pydata/xarray/pulls/5726,"Dask released 2.24 around august 22 2020: https://github.com/dask/dask/releases/tag/2.24.0 - [x] May help fixing errors in #5571 - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5726/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 895713502,MDExOlB1bGxSZXF1ZXN0NjQ3OTAwMzEy,5345,Remove npcompat.moveaxis,14371165,closed,0,,,6,2021-05-19T17:41:31Z,2021-07-02T16:08:17Z,2021-06-17T17:18:28Z,MEMBER,,0,pydata/xarray/pulls/5345,"Remove some compatibility code that doesn't seem necessary anymore. - [x] Passes `pre-commit run --all-files` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5345/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 778123296,MDExOlB1bGxSZXF1ZXN0NTQ4MjY4ODg5,4762,Print number of variables in repr,14371165,closed,0,,,6,2021-01-04T14:13:17Z,2021-05-18T18:17:50Z,2021-01-12T00:21:19Z,MEMBER,,0,pydata/xarray/pulls/4762,"Show the printed and total number of variables in the repr. - [x] Passes `isort . && black . && mypy . && flake8` ```python import numpy as np import xarray as xr a = np.arange(0, 15) b = np.core.defchararray.add(""long_variable_name"", a.astype(str)) c = np.arange(0, 25) d = np.core.defchararray.add(""attr_"", c.astype(str)) e = {k: 2 for k in d} coords = dict(time=da.array([0, 1])) data_vars = dict() for v in b: data_vars[v] = xr.DataArray( name=v, data=np.array([0, 1]).astype(bool), dims=[""time""], coords=coords, ) ds1 = xr.Dataset(data_vars) ds1.attrs = e # The repr now shows how many attributes in total there are: print(ds1) Out[10]: Dimensions: (time: 2) Coordinates: * time (time) int32 0 1 Data variables: (12/15) long_variable_name0 (time) bool False True long_variable_name1 (time) bool False True long_variable_name2 (time) bool False True long_variable_name3 (time) bool False True long_variable_name4 (time) bool False True long_variable_name5 (time) bool False True ... long_variable_name9 (time) bool False True long_variable_name10 (time) bool False True long_variable_name11 (time) bool False True long_variable_name12 (time) bool False True long_variable_name13 (time) bool False True long_variable_name14 (time) bool False True Attributes: (12/25) attr_0: 2 attr_1: 2 attr_2: 2 attr_3: 2 attr_4: 2 attr_5: 2 ... attr_19: 2 attr_20: 2 attr_21: 2 attr_22: 2 attr_23: 2 attr_24: 2 ```","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4762/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull