id,node_id,number,state,locked,title,user,body,created_at,updated_at,closed_at,merged_at,merge_commit_sha,assignee,milestone,draft,head,base,author_association,auto_merge,repo,url,merged_by
924671531,PR_kwDOAMm_X843HV4r,6548,closed,0,polyval: Use Horner's algorithm + support chunked inputs,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6526, #6411
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
",2022-04-30T14:50:53Z,2022-05-05T19:33:53Z,2022-05-05T19:15:58Z,2022-05-05T19:15:58Z,6fbeb13105b419cb0a6646909df358d535e09faf,,,0,bd3dd81d52212cac72b359bbd2e50897d70efd16,126051f2bf2ddb7926a7da11b047b852d5ca6b87,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6548,
930547185,PR_kwDOAMm_X843dwXx,6579,closed,0,Fix Dataset/DataArray.isel with drop=True and scalar DataArray indexes,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6554
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`

Additionally I have added new literal types for error handling (Only applied to functions related to isel such that mypy stops complaining).",2022-05-08T20:17:04Z,2022-05-11T17:19:53Z,2022-05-10T06:18:19Z,2022-05-10T06:18:19Z,fdc3c3d305bfb880a22e0cb9eb57d69c98e774a7,,,0,c83f42459e274dd044149a9be7d6d02fb8e6107b,4b76831124f8cd11463c9e4ecfdc6842654cf810,COLLABORATOR,"{""enabled_by"": {""login"": ""max-sixty"", ""id"": 5635139, ""node_id"": ""MDQ6VXNlcjU2MzUxMzk="", ""avatar_url"": ""https://avatars.githubusercontent.com/u/5635139?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/max-sixty"", ""html_url"": ""https://github.com/max-sixty"", ""followers_url"": ""https://api.github.com/users/max-sixty/followers"", ""following_url"": ""https://api.github.com/users/max-sixty/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/max-sixty/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/max-sixty/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/max-sixty/subscriptions"", ""organizations_url"": ""https://api.github.com/users/max-sixty/orgs"", ""repos_url"": ""https://api.github.com/users/max-sixty/repos"", ""events_url"": ""https://api.github.com/users/max-sixty/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/max-sixty/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Fix Dataset/DataArray.isel with drop=True and scalar DataArray indexes (#6579)"", ""commit_message"": ""* apply drop argument in isel_fancy\r\n\r\n* use literal type for error handling\r\n\r\n* add test for drop support in isel\r\n\r\n* add isel fix to whats-new\r\n\r\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\r\n\r\nfor more information, see https://pre-commit.ci\r\n\r\n* correct isel unit tests\r\n\r\n* add link to issue\r\n\r\n* type most (all?) occurences of errors/missing\r\n\r\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\r\n\r\nfor more information, see https://pre-commit.ci\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\r\nCo-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>""}",13221727,https://github.com/pydata/xarray/pull/6579,
934037780,PR_kwDOAMm_X843rEkU,6593,closed,0,Fix polyval overloads,43316012,"Attempt to fix the typing issues in `xr.polyval`.

Some problems are still occuring and require a `type: ignore`.
They seem more like mypy issues to me.",2022-05-11T18:54:54Z,2022-05-12T14:50:14Z,2022-05-11T19:42:41Z,2022-05-11T19:42:41Z,cad4474a9ecd8acc78e42cf46030c9a1277f10c4,,,0,a67523c21a077171759e6dc9808e50b2376c1cc3,11041bdfd903d2b3a36a63b2afd86b6ca752bb74,COLLABORATOR,"{""enabled_by"": {""login"": ""max-sixty"", ""id"": 5635139, ""node_id"": ""MDQ6VXNlcjU2MzUxMzk="", ""avatar_url"": ""https://avatars.githubusercontent.com/u/5635139?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/max-sixty"", ""html_url"": ""https://github.com/max-sixty"", ""followers_url"": ""https://api.github.com/users/max-sixty/followers"", ""following_url"": ""https://api.github.com/users/max-sixty/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/max-sixty/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/max-sixty/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/max-sixty/subscriptions"", ""organizations_url"": ""https://api.github.com/users/max-sixty/orgs"", ""repos_url"": ""https://api.github.com/users/max-sixty/repos"", ""events_url"": ""https://api.github.com/users/max-sixty/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/max-sixty/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Fix polyval overloads (#6593)"", ""commit_message"": ""* add polyval overloads\r\n\r\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\r\n\r\nfor more information, see https://pre-commit.ci\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>""}",13221727,https://github.com/pydata/xarray/pull/6593,
934967416,PR_kwDOAMm_X843unh4,6599,closed,0,re-add timedelta support for polyval,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6597
- [x] Tests added",2022-05-12T15:12:41Z,2022-05-12T16:27:01Z,2022-05-12T15:43:29Z,2022-05-12T15:43:29Z,fc282d5979473a31529f09204d4811cfd7e5cd63,,,0,01b8638ba6251c8987d512484c00960540bbea7a,6bb2b855498b5c68d7cca8cceb710365d58e6048,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6599,
935049290,PR_kwDOAMm_X843u7hK,6601,closed,0,change polyval dim ordering,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6600
- [x] Tests added",2022-05-12T16:30:44Z,2022-05-16T18:10:03Z,2022-05-12T19:01:59Z,2022-05-12T19:01:58Z,c34ef8a60227720724e90aa11a6266c0026a812a,,,0,8cd09b03320b273d38122a770fadde2594aa72d5,fc282d5979473a31529f09204d4811cfd7e5cd63,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6601,
936771594,PR_kwDOAMm_X8431gAK,6611,closed,0,"{full,zeros,ones}_like typing",43316012,"(partial) typing for functions `full_like`, `zeros_like`, `ones_like`.

I could not figure out how to properly use TypeVars so many things are ""hardcoded"" with overloads.

I have added a `DTypeLikeSave` to `npcompat`, not sure that this file is supposed to be edited.

Problem1: `TypeVar[""T"", Dataset, DataArray, Variable]` can only be one of these three, but never with `Union[Dataset, DataArray]` which is used in several other places in xarray.
Problem2: The official mypy support says: use `TypeVar[""T"", bound=Union[Dataset, DataArray, Variable]` but the the `isinstance(obj, Dataset)` could not be correctly resolved (is that a mypy issue?).

So if anyone can get it to work with TypeVars, feel free to change it. :)",2022-05-15T15:18:55Z,2022-05-16T18:10:05Z,2022-05-16T17:42:25Z,2022-05-16T17:42:25Z,e712270f9dd4df811517f9e44e9465255aa18709,,,0,da5bd9b5b751e999f7c16ed40137a3cc8f662e51,8de706151e183f448e1af9115770713d18e229f1,COLLABORATOR,"{""enabled_by"": {""login"": ""max-sixty"", ""id"": 5635139, ""node_id"": ""MDQ6VXNlcjU2MzUxMzk="", ""avatar_url"": ""https://avatars.githubusercontent.com/u/5635139?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/max-sixty"", ""html_url"": ""https://github.com/max-sixty"", ""followers_url"": ""https://api.github.com/users/max-sixty/followers"", ""following_url"": ""https://api.github.com/users/max-sixty/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/max-sixty/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/max-sixty/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/max-sixty/subscriptions"", ""organizations_url"": ""https://api.github.com/users/max-sixty/orgs"", ""repos_url"": ""https://api.github.com/users/max-sixty/repos"", ""events_url"": ""https://api.github.com/users/max-sixty/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/max-sixty/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""{full,zeros,ones}_like typing (#6611)"", ""commit_message"": ""* type {full,zeros,ones}_like\r\n\r\n* fix modern numpy\r\n\r\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\r\n\r\nfor more information, see https://pre-commit.ci\r\n\r\n* python3.8 support\r\n\r\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\r\n\r\nfor more information, see https://pre-commit.ci\r\n\r\n* fix typo\r\n\r\n* apply patch from max-sixty\r\n\r\n* add link to numpy.typing.DTypeLike\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>""}",13221727,https://github.com/pydata/xarray/pull/6611,
936802208,PR_kwDOAMm_X8431neg,6612,closed,0,Typing for open_dataset/array/mfdataset and to_netcdf/zarr,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #5382 

Mypy is not able to compute the overloads of to_netcdf properly (too many Unions).
I had to add some `# type: ignore`

I am not sure about the types of
* `concat_dim`
* `combine_attrs`: the `Callable` part is still with Anys",2022-05-15T18:09:15Z,2022-05-19T16:08:07Z,2022-05-17T19:32:01Z,2022-05-17T19:32:01Z,6b1d97ae16e4abaf4e29de2c19faca4239d0ab01,,,0,e2777279a2ed8c1f986c98a0e8d571af35f54fa1,e712270f9dd4df811517f9e44e9465255aa18709,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6612,
942702125,PR_kwDOAMm_X844MH4t,6624,closed,0,CFTime support for polyval,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6623
- [x] Tests added
",2022-05-20T13:04:46Z,2022-06-04T10:18:14Z,2022-05-31T17:16:04Z,2022-05-31T17:16:03Z,4c92d52fffc17ecee067215dce27f554904c9bec,,,0,9ea004809e826216852cb0a66239a338294ef430,95a47afc71809c4faa35cbc5efa639be22891430,COLLABORATOR,"{""enabled_by"": {""login"": ""dcherian"", ""id"": 2448579, ""node_id"": ""MDQ6VXNlcjI0NDg1Nzk="", ""avatar_url"": ""https://avatars.githubusercontent.com/u/2448579?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/dcherian"", ""html_url"": ""https://github.com/dcherian"", ""followers_url"": ""https://api.github.com/users/dcherian/followers"", ""following_url"": ""https://api.github.com/users/dcherian/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/dcherian/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/dcherian/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/dcherian/subscriptions"", ""organizations_url"": ""https://api.github.com/users/dcherian/orgs"", ""repos_url"": ""https://api.github.com/users/dcherian/repos"", ""events_url"": ""https://api.github.com/users/dcherian/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/dcherian/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""CFTime support for polyval (#6624)"", ""commit_message"": ""Co-authored-by: dcherian <deepak@cherian.net>\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>""}",13221727,https://github.com/pydata/xarray/pull/6624,
943518905,PR_kwDOAMm_X844PPS5,6626,closed,0,Mypy badge,43316012,"This PR adds a mypy badge to the README.

Also, nicer alt texts for all other badges.
",2022-05-21T21:12:05Z,2022-05-22T13:56:45Z,2022-05-21T22:59:52Z,2022-05-21T22:59:52Z,4da7fdbd85bb82e338ad65a532dd7a9707e18ce0,,,0,cb6ee6569483327201793c7a6dc92a958382d7a2,4cae8d0ec04195291b2315b1f21d846c2bad61ff,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6626,
944272699,PR_kwDOAMm_X844SHU7,6630,closed,0,"fix {full,zeros,ones}_like overloads",43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6628
- [x] Tests added

forgot to add defaults to the dtype argument, so the typing defaulted back to the Union definition...",2022-05-23T10:57:36Z,2022-05-27T06:32:37Z,2022-05-24T04:41:22Z,2022-05-24T04:41:22Z,3b242a184072db9928ede7b72c07f047cd67d23b,,,0,e8a0d9f1b8e7c7e5c61f7d7c36c6b4ef5db200c4,4da7fdbd85bb82e338ad65a532dd7a9707e18ce0,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6630,
947304217,PR_kwDOAMm_X844drcZ,6637,closed,0,Improved DataArray typing,43316012,"- [x] Tests added

This PR improves typing of `DataArray` class methods.
Main change is that `T_DataArray` is used whenever possible.

I have left everything untouched that would cause problems with mypy (there are some mypy bugs) or require larger typing efforts in other areas.

Main problems are `argmin` and `argmax`.",2022-05-25T17:54:54Z,2022-05-29T14:02:22Z,2022-05-27T16:03:10Z,2022-05-27T16:03:10Z,3f587b43660ab52a1ef4cd5828e57478ceb9f34a,,,0,cea6e7eded59b0a6d6824a2c733367128134e942,607a9275f7bf43fa8548c743d966b939b57cb06c,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6637,
948556188,PR_kwDOAMm_X844idGc,6641,closed,0,Typing of `str` and `dt` accessors,43316012,"This is initial try to get type hints for `str` and `dt` accessors.

I think there is no way of accessing the class at class scope (or is there?), so I had to use plain ""DataArray"" as the generic type of the accessors. I think that is acceptable for now.

The hack of `DatetimeAccessor` vs `TimedeltaAccessor` in the `CombinedDatetimelikeAccessor.__new__` is something static typing can handle, so at type-checking time all properties of both accessors are available. If someone has a better idea?

Maybe a common interface class for accessors would be also beneficial?",2022-05-26T18:25:44Z,2022-05-27T06:32:33Z,2022-05-26T20:12:23Z,2022-05-26T20:12:23Z,ab5b16288b23108bfedaf8229e5fde18691a5826,,,0,1f1680a6b39c4fb04ac95d26c8c9f687d77b2841,3b242a184072db9928ede7b72c07f047cd67d23b,COLLABORATOR,"{""enabled_by"": {""login"": ""max-sixty"", ""id"": 5635139, ""node_id"": ""MDQ6VXNlcjU2MzUxMzk="", ""avatar_url"": ""https://avatars.githubusercontent.com/u/5635139?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/max-sixty"", ""html_url"": ""https://github.com/max-sixty"", ""followers_url"": ""https://api.github.com/users/max-sixty/followers"", ""following_url"": ""https://api.github.com/users/max-sixty/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/max-sixty/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/max-sixty/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/max-sixty/subscriptions"", ""organizations_url"": ""https://api.github.com/users/max-sixty/orgs"", ""repos_url"": ""https://api.github.com/users/max-sixty/repos"", ""events_url"": ""https://api.github.com/users/max-sixty/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/max-sixty/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Typing of `str` and `dt` accessors (#6641)"", ""commit_message"": ""* initial try to type accessors\r\n\r\n* fix typo\r\n\r\n* fix some import and typing issues""}",13221727,https://github.com/pydata/xarray/pull/6641,
949960483,PR_kwDOAMm_X844nz8j,6651,closed,0,Typing support for custom backends,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6632

So far we have not found a good way of typing dynamically added custom backends (installed via pip).
So the only fallback option is to allow str.

I have decided to leave the Literal as type, since it gives the user a nice list of supported backends in the editor.
",2022-05-28T07:28:41Z,2022-06-04T10:17:55Z,2022-05-28T10:29:16Z,2022-05-28T10:29:16Z,0479b2d50ace39b02cf58a7131d91b64ad484e90,,,0,1a91fa9406b73792860625ae3ce8c85aa021b05a,3f587b43660ab52a1ef4cd5828e57478ceb9f34a,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6651,
957579117,PR_kwDOAMm_X845E39t,6661,closed,0,Typing of Dataset,43316012,"- [x] Closes #5945
- [x] Tests added

Feel free to wait with merging after the 2022.05.0.dev0 release :)

- This PR adds typing to all Dataset methods (only the ones in Dataset directly and DataWithCoords).
- On the way it fixes several typing issues and adds small code changes for more consistent typing (hopefully does not break anything).
- All test_dataset tests are now typed.
- As usual there are still some mypy bugs open that prevent all typing changes to be final (especially https://github.com/python/mypy/issues/12846). I choose to remove the TypeVars in these occasions to prevent false positives on the user side.
- Sorry for updating so many files at once, mostly these are the changes of adding `from __future__ import annotations` and automatic fixes from pyupdate.

If anyone has some typing expertise:
I think that the way align is typed is wrong. The current implementation only works for aligning a sequence of objects of the same type, but not mixed DataArrays and Datasets. In some placed I had to add some ""#type: ignore""s...
I should probably open an issue for that.
",2022-06-03T15:22:24Z,2022-06-04T10:17:48Z,2022-06-04T04:26:03Z,2022-06-04T04:26:03Z,a2edbe4bfcba5509f8a3119322dc7794defdbc8c,,,0,6889810ce1bdb363cb184a52f213859283bf4923,7bdb0e4456d0add8e94461dba0e7c0a160cc5812,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6661,
958497145,PR_kwDOAMm_X845IYF5,6665,closed,0,Update DataArray.rename + docu,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #5458
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`

On the way, I have added the support for changing the name and dims/coords in the same rename call.

Also took the freedom to fix some unrelated typing problems.",2022-06-05T20:32:57Z,2022-07-18T15:31:38Z,2022-07-18T14:48:02Z,2022-07-18T14:48:02Z,392a61484e80e6ccfd5774b68be51578077d4292,,,0,b7a49e413a1fc5464b0aadcb6076fc0c435ecfe6,d7931f9014a26e712ff5f30c4082cf0261f045d3,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6665,
965087684,PR_kwDOAMm_X845hhHE,6690,closed,0,Fix Dataset.where with drop=True and mixed dims,43316012,"- [x] Closes #6227
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
",2022-06-12T20:47:05Z,2022-06-13T18:06:44Z,2022-06-12T22:06:51Z,2022-06-12T22:06:51Z,3a320724100ab05531d8d18ca8cb279a8e4f5c7f,,,0,955361489b522fdc60379c8c431ecfaf22817085,89b1fac6089aaf6f5cad58eda7f37c7db862a473,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6690,
970824245,PR_kwDOAMm_X8453Zo1,6702,closed,0,Typing of GroupBy & Co.,43316012,"This PR adds typing support for groupby, coarsen, rolling, weighted and resample.

There are several open points:

1. Coarsen is missing type annotations for reductions like `max`, they get added dynamically.
2. The `Groupby` group-key type is quite wide. Does anyone have any idea on how to type it correctly? For now it is still Any.
3. Several function signatures were inconsistent between the DataArray and Dataset versions (looking at you: `map`). I took the freedom to align them (required for mypy), hopefully this does not break too much.
4. I was moving the generation functions from `DataWithCoords` to `DataArray` and `Dataset`, which adds some copy-paste of code (I tried to keep it minimal) but was unavoidable for typing support. (Adds the bonus that the corresponding modules are now only imported when required).",2022-06-17T16:50:43Z,2022-07-03T13:32:30Z,2022-06-29T20:06:04Z,2022-06-29T20:06:04Z,b5207aa0bf2f3297d7c34d6daf29c9ea9dcefdde,,,0,4d9c4595f09ff9802bde7a56c815069fc5e604ea,aef5377a5af33a635a651123af7caa7435c24931,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6702,
971436268,PR_kwDOAMm_X8455vDs,6706,closed,0,Add `Dataset.dtypes` property,43316012,"- [x] Closes #6714
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] New functions/methods are listed in `api.rst`

Currently returns a Mapping from variable names to dtypes for ALL variables in the Dataset, including coordinates.
Possibly better to only return data_vars dtypes? Give me your thoughts on that, it is easy to change.
",2022-06-19T08:40:25Z,2022-06-26T08:08:21Z,2022-06-22T16:01:45Z,2022-06-22T16:01:45Z,abad670098a48ab8f876117c6b2cf3db8aff05dc,,,0,364e8550b13166b30621e8e83302f673d991291d,9a719909ffbab972f6811cbfea8447075b4b919e,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6706,
973764075,PR_kwDOAMm_X846CnXr,6710,closed,0,Expanduser (~) for open_dataset with dask,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6707
- [x] ~~Tests added~~
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`


I don't really know how to test this...
Is it ok to leave it untested?",2022-06-21T15:58:34Z,2022-06-26T08:08:04Z,2022-06-25T23:44:56Z,2022-06-25T23:44:56Z,5fcb6f508f5ea2382279d9b369000511997304b9,,,0,07f9e1856e8f301f59e7eac7653e21bc1b73726b,cc183652bf6e1273e985e1c4b3cba79c896c1193,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6710,
985553117,PR_kwDOAMm_X846vljd,6744,closed,0,Fix `DataArrayRolling.__iter__` with `center=True`,43316012,"- [x] Closes #6739
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~~New functions/methods are listed in `api.rst`~~

I have taken the freedom to move all rolling related tests into their own testing module.
https://github.com/pydata/xarray/pull/6730 should then take care of the (by now) copy-pasted `da` and `ds` fixtures.",2022-07-02T16:36:00Z,2022-07-18T15:31:54Z,2022-07-14T17:41:01Z,2022-07-14T17:41:01Z,f28d7f821eeaccd37d35af8d5d04642d4ddd4756,,,0,1646a0247f9edf372a03b86e8d9585915fbe8f4b,7cc6cc991e586a6158bb656b8001234ccda25407,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6744,
985710844,PR_kwDOAMm_X846wMD8,6750,closed,0,Add import change to whats-new,43316012,"- [x] Closes #6741
- [x] ~~Tests added~~
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~~New functions/methods are listed in `api.rst`~~
",2022-07-03T12:19:01Z,2022-07-12T18:09:40Z,2022-07-06T03:06:31Z,2022-07-06T03:06:31Z,777ce76b80e2aba6e8dde6229d9cde3604907c61,,,0,93b4be27baad554d274aab7d5a2becac19be7891,48e6589c5eb71f788506ee1424832823d9e3d225,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6750,
994647543,PR_kwDOAMm_X847SR33,6777,closed,0,Move Rolling tests to their own testing module,43316012,"This PR moves all DataArrayRolling and DatasetRolling tests to their own module.

See request  https://github.com/pydata/xarray/pull/6744#issuecomment-1182169308
",2022-07-12T18:20:58Z,2022-07-12T18:48:38Z,2022-07-12T18:46:32Z,2022-07-12T18:46:32Z,7cc6cc991e586a6158bb656b8001234ccda25407,,,0,580053563b3c0a39a141cc28456bfba0f25e3bdf,8f6873026587f30f0ac10af740ebe947797208a1,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6777,
1006586170,PR_kwDOAMm_X847_0k6,6821,closed,0,Fix numpy 1.20 incompatibility,43316012,"This PR removes the `_SupportsDType` dependency from numpy and introduces its own.

Closes https://github.com/pydata/xarray/issues/6818",2022-07-24T17:10:24Z,2022-08-20T17:01:13Z,2022-07-30T21:11:08Z,2022-07-30T21:11:08Z,e07da06da34dba7f5529edfa6cc1b31cd1695779,,,0,34cf6a46736f28885d538993dab00810998bd455,60f8c3d3488d377b0b21009422c6121e1c8f1f70,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6821,
1009012459,PR_kwDOAMm_X848JE7r,6834,closed,0,Bump minimum numpy version to 1.20,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6818
- [ ] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~~New functions/methods are listed in `api.rst`~~

Alternative to https://github.com/pydata/xarray/pull/6821",2022-07-26T22:21:54Z,2022-10-12T21:49:49Z,2022-10-12T17:08:51Z,2022-10-12T17:08:51Z,242d87dec31e5d2485e4164bdfaafba69fb0ab2f,,,0,b199d8ead72ee644c4cdc1662963ac1280c103cf,f93b467db5e35ca94fefa518c32ee9bf93232475,COLLABORATOR,"{""enabled_by"": {""login"": ""dcherian"", ""id"": 2448579, ""node_id"": ""MDQ6VXNlcjI0NDg1Nzk="", ""avatar_url"": ""https://avatars.githubusercontent.com/u/2448579?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/dcherian"", ""html_url"": ""https://github.com/dcherian"", ""followers_url"": ""https://api.github.com/users/dcherian/followers"", ""following_url"": ""https://api.github.com/users/dcherian/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/dcherian/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/dcherian/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/dcherian/subscriptions"", ""organizations_url"": ""https://api.github.com/users/dcherian/orgs"", ""repos_url"": ""https://api.github.com/users/dcherian/repos"", ""events_url"": ""https://api.github.com/users/dcherian/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/dcherian/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Bump minimum numpy version to 1.20 (#6834)"", ""commit_message"": ""Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\nCo-authored-by: dcherian <deepak@cherian.net>\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>""}",13221727,https://github.com/pydata/xarray/pull/6834,
1031829843,PR_kwDOAMm_X849gHlT,6938,closed,0,Fix bug where indexes were changed inplace,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6931
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~~New functions/methods are listed in `api.rst`~~

Some typing on the way :)",2022-08-20T16:45:22Z,2022-08-22T11:07:46Z,2022-08-22T10:39:54Z,2022-08-22T10:39:54Z,ba83f650ac500d44113c4eb91c63cdcf9fc71ab9,,,0,ab9923cbe1e5c4e9c42ec7cf9bed1ba167912bd6,c4e40d991c28be51de9ac560ce895ac7f9b14924,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6938,
1031835136,PR_kwDOAMm_X849gI4A,6939,closed,0,Improve quantile method docstring + error,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6875
- [x] ~~Tests added~~
- [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~~New functions/methods are listed in `api.rst`~~
",2022-08-20T17:17:32Z,2022-09-10T09:03:05Z,2022-09-05T22:40:07Z,2022-09-05T22:40:07Z,5bec4662a7dd4330eca6412c477ca3f238323ed2,,,0,b01146f35276955ec78863aadadbda90970a5608,c4e40d991c28be51de9ac560ce895ac7f9b14924,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6939,
1045794639,PR_kwDOAMm_X84-VY9P,6986,closed,0,Remove some warnings in tests,43316012,"This PR tries to get rid of several warnings in the tests.

I could not get rid of `RuntimeWarning: All-NaN slice encountered` for tests with dask.
Does anyone know why is that? pytest.mark.filterwarnings does not seem to capture them...",2022-09-04T21:58:57Z,2022-09-05T16:06:35Z,2022-09-05T10:52:45Z,2022-09-05T10:52:45Z,18454c218002e48e1643ce8e25654262e5f592ad,,,0,36a06c84505633e59ec37c91b4c10ae7e9999573,3c4a00cc123ceb6fba442cf721650ffa6b473cbb,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6986,
1046870516,PR_kwDOAMm_X84-Zfn0,6994,closed,0,Even less warnings in tests,43316012,"This PR removes several warnings from the tests and improves their typing on the way.
",2022-09-05T21:35:50Z,2022-09-10T09:02:46Z,2022-09-09T05:48:19Z,2022-09-09T05:48:19Z,abe1e613a96b000ae603c53d135828df532b952e,,,0,d7cd4a0cbaee86a7cb4b3da9056b77b9523bfcb3,756b2a1372751566dc6b1fed1cd23148b16d950b,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/6994,
1052300086,PR_kwDOAMm_X84-uNM2,7017,closed,0,Add Ellipsis typehints,43316012,"This PR adds an `Ellipsis` typehint to some functions.

Interestingly mypy did not complain at the tests before, I assume it is because ""..."" is Hashable or something like that?

I don't know what to do with reductions, since they also support ellipsis, but it is basically the same as using None.
Therefore, I assume it is not necessary to expose this feature.

Did I miss any functions where ellipsis is supported? It is hard to look for ""...""... xD",2022-09-10T17:53:26Z,2022-09-12T15:40:08Z,2022-09-11T13:40:07Z,2022-09-11T13:40:07Z,b018442c8dfa3e71ec35e294de69e2011949afec,,,0,c1048132abbd338656c7ff80a96dfa6ec1bb34b7,c0011e13b1edabcd541610d7fbef084bcb387183,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7017,
1052467823,PR_kwDOAMm_X84-u2Jv,7020,open,0,Typing of abstract base classes,43316012,"This PR adds some typing to several abstract base classes that are used in xarray.

Most of it is working, only one major point I could not figure out:

What is the type of `NDArrayMixin.array`???
I would appreciate it if someone that has more insight into this would help me.

Several minor open points:

- What is the return value of `ExplicitlyIndexed.__getitem__`
- What is the return value of `ExplicitlyIndexed.transpose`
- What is the return value of `AbstractArray.data`
- `Variable.values` seems to be able to return scalar values which is incompatible with the `AbstractArray` definition.

Overall it seems that typing has helped to find some problems again :)

Mypy should fail for tests, I did not adopt them yet, want to solve the outstanding issues first.",2022-09-11T10:27:01Z,2023-01-19T10:48:20Z,,,da54e18595d5c0e5dd9c3e2382a9451447ab2bd8,,,0,4bca0f52fa7b180cde95348741c28d08429af2d1,80c3e8ecc34961b05c01eb1a0c231f97d595fd07,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7020,
1059101427,PR_kwDOAMm_X84_IJrz,7048,closed,0,Add Ellipsis typehint to reductions,43316012,"This PR adds the ellipsis typehint to reductions (only where they behave differently from None to reduce overhead).
Follow up on https://github.com/pydata/xarray/pull/7017#issuecomment-1243927061

Additionally I was changing a lot of ""one or more dimensions"" typehints to `str | Iterable[Hashable]` (See https://github.com/pydata/xarray/issues/6142).
Some code changes were necessary to support this fully. Before several things were not working with actual hashable dimensions that are not strings.


",2022-09-16T21:15:10Z,2022-09-28T18:02:51Z,2022-09-28T17:10:05Z,2022-09-28T17:10:05Z,226c23b31c7957b4c6bf65564f628dcc5077f188,,,0,f0af587656abbd42a14a2574e207502dbb5e7604,09e467a6a3a8ed68c6c29647ebf2b09288145da1,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7048,
1059570251,PR_kwDOAMm_X84_J8JL,7051,closed,0,Add parse_dims func,43316012,"This PR adds a `utils.parse_dims` function for parsing one or more dimensions.
Currently every function that accepts multiple dimensions does this by itself.

I decided to first see if it would be useful to centralize the dimension parsing and collect inputs before adding it to other functions.",2022-09-18T15:36:59Z,2022-12-08T20:10:01Z,2022-11-30T23:36:33Z,2022-11-30T23:36:33Z,e4fe194bc4c93051297586158c4675d28fee7d57,,,0,d7a7a370075f7a4c41ea88123a9468363fe8e8ee,6f1cf51a05d20eafe991f4392c1b168f9ab632c5,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7051,
1059594095,PR_kwDOAMm_X84_KB9v,7052,closed,0,Add typing to plot methods,43316012,"- [x] Closes #6949
- [x] Tests added (typing)
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`

",2022-09-18T17:40:36Z,2022-10-16T13:54:26Z,2022-10-16T09:26:55Z,2022-10-16T09:26:54Z,da9c1d16562f233bfdafb0078cd1404ea18e03b8,,,0,f621ef2a702b04be84651bd690d68afbf7be9b6a,ddccd5c538220ab7b8fdab390c64e29be97ee00b,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7052,
1066377319,PR_kwDOAMm_X84_j6Bn,7080,closed,0,Fix `utils.get_axis` with kwargs,43316012,"- [x] Closes #7078
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~~New functions/methods are listed in `api.rst`~~
",2022-09-25T19:50:15Z,2022-09-28T18:02:18Z,2022-09-28T17:11:16Z,2022-09-28T17:11:16Z,e2c29f661f1a7202693f71e7347f3af8a989cf6d,,,0,7eaac6f3a90077b98bb44cac9f2ac3e6218e9f75,a042ae69c0444912f94bb4f29c93fa05046893ed,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7080,
1067663986,PR_kwDOAMm_X84_o0Jy,7087,closed,0,Add typing to FacetGrid,43316012,Mainly to annoy @Illviljan :),2022-09-26T20:16:26Z,2022-09-28T20:15:53Z,2022-09-28T18:30:59Z,2022-09-28T18:30:59Z,5ba830d02099659a81afe08c4bfc03b4bed62ff2,,,0,c65a03346f92fc124b20d858251b973713591366,a042ae69c0444912f94bb4f29c93fa05046893ed,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7087,
1067704855,PR_kwDOAMm_X84_o-IX,7089,closed,0,Fix deepcopy of Variables and DataArrays,43316012,"- [x] Closes #2835 (Even though technically it fixes the DataArray version of the issue)
- [x] ~~Tests added ~~ will be done via #7086
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`

related to #2839
",2022-09-26T20:54:16Z,2022-09-29T20:46:01Z,2022-09-29T16:36:51Z,2022-09-29T16:36:51Z,2fe78758dc47b2de329df6807a6c7dd2c293946c,,,0,5a4a2fead80847d809080c0031624003fdb3ff93,6b2fdab82f22aa3754c80c8322f826f5ab1101a6,COLLABORATOR,"{""enabled_by"": {""login"": ""TomNicholas"", ""id"": 35968931, ""node_id"": ""MDQ6VXNlcjM1OTY4OTMx"", ""avatar_url"": ""https://avatars.githubusercontent.com/u/35968931?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/TomNicholas"", ""html_url"": ""https://github.com/TomNicholas"", ""followers_url"": ""https://api.github.com/users/TomNicholas/followers"", ""following_url"": ""https://api.github.com/users/TomNicholas/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/TomNicholas/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/TomNicholas/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/TomNicholas/subscriptions"", ""organizations_url"": ""https://api.github.com/users/TomNicholas/orgs"", ""repos_url"": ""https://api.github.com/users/TomNicholas/repos"", ""events_url"": ""https://api.github.com/users/TomNicholas/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/TomNicholas/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Fix deepcopy of Variables and DataArrays (#7089)"", ""commit_message"": ""* fix deepcopy IndexVariable and dataset encodings\r\n\r\n* add fix to whats-new\r\n\r\n* fix also attrs silently changing\r\n\r\n* fix typpo\r\n\r\n* fix breaking attrs change\r\n\r\n* remove xfail from copyattrs test\r\n\r\n* [skip-ci] fix merge conflict in whats-new""}",13221727,https://github.com/pydata/xarray/pull/7089,
1070384240,PR_kwDOAMm_X84_zMRw,7102,closed,0,Exclude typechecking stuff from coverage,43316012,tiny PR that disables coverage on `types.py` and all typing-only imports a.la. `if TYPE_CHECKING: ...`,2022-09-28T18:12:39Z,2022-09-28T20:15:52Z,2022-09-28T19:18:54Z,2022-09-28T19:18:54Z,0b0b8f6a723049e590de2822335629a56408902b,,,0,d54f968ac8344a247d0509bd1a9d3afcc8d2d4c5,513ee34f16cc8f9250a72952e33bf9b4c95d33d1,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7102,
1073586818,PR_kwDOAMm_X84__aKC,7112,closed,0,Support of repr and deepcopy of recursive arrays,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #7111
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`

`xarray.testing.assert_identical` and probably more do not work yet.",2022-10-01T15:24:40Z,2022-10-07T11:10:32Z,2022-10-06T22:04:01Z,2022-10-06T22:04:01Z,50ea159bfd0872635ebf4281e741f3c87f0bef6b,,,0,4d6048d36510987570895e8b7bdbe772783f0f4a,114bf98719f31a653f2ef7bc7fcdfaf010eb3612,COLLABORATOR,"{""enabled_by"": {""login"": ""headtr1ck"", ""id"": 43316012, ""node_id"": ""MDQ6VXNlcjQzMzE2MDEy"", ""avatar_url"": ""https://avatars.githubusercontent.com/u/43316012?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/headtr1ck"", ""html_url"": ""https://github.com/headtr1ck"", ""followers_url"": ""https://api.github.com/users/headtr1ck/followers"", ""following_url"": ""https://api.github.com/users/headtr1ck/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/headtr1ck/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/headtr1ck/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/headtr1ck/subscriptions"", ""organizations_url"": ""https://api.github.com/users/headtr1ck/orgs"", ""repos_url"": ""https://api.github.com/users/headtr1ck/repos"", ""events_url"": ""https://api.github.com/users/headtr1ck/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/headtr1ck/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Support of repr and deepcopy of recursive arrays (#7112)"", ""commit_message"": ""* allow recursive attrs in formatting (repr)\r\n* test recursion in formatting\r\n* support for deepcopy of recursive arrays""}",13221727,https://github.com/pydata/xarray/pull/7112,
1073618595,PR_kwDOAMm_X84__h6j,7113,closed,0,Minor tests improvements,43316012,"- silences some user warning from renaming dims.
- fix coverage config",2022-10-01T17:19:42Z,2022-10-16T13:56:28Z,2022-10-02T15:38:16Z,2022-10-02T15:38:16Z,f5884a2070fb6cdaa9f187cfe56c3670cfad2f87,,,0,2e06306d6e9ba5b9f854618f23488ffd5f6d8e56,341f1302f000a9a4145ec83a3fa88b6a33a3555e,COLLABORATOR,"{""enabled_by"": {""login"": ""headtr1ck"", ""id"": 43316012, ""node_id"": ""MDQ6VXNlcjQzMzE2MDEy"", ""avatar_url"": ""https://avatars.githubusercontent.com/u/43316012?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/headtr1ck"", ""html_url"": ""https://github.com/headtr1ck"", ""followers_url"": ""https://api.github.com/users/headtr1ck/followers"", ""following_url"": ""https://api.github.com/users/headtr1ck/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/headtr1ck/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/headtr1ck/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/headtr1ck/subscriptions"", ""organizations_url"": ""https://api.github.com/users/headtr1ck/orgs"", ""repos_url"": ""https://api.github.com/users/headtr1ck/repos"", ""events_url"": ""https://api.github.com/users/headtr1ck/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/headtr1ck/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Minor tests improvements (#7113)"", ""commit_message"": ""* fix coverage config\r\n* assert and silence some UserWarnings from indexes""}",13221727,https://github.com/pydata/xarray/pull/7113,
1073897725,PR_kwDOAMm_X85AAmD9,7114,closed,0,Fix typing of backends,43316012,"While adding type hints to `test_backends` I noticed that the `open_dataset` method and the abstract `BackendEntrypoint` were missing stream types as inputs.
",2022-10-02T17:20:56Z,2022-10-06T21:33:39Z,2022-10-06T21:30:01Z,2022-10-06T21:30:01Z,114bf98719f31a653f2ef7bc7fcdfaf010eb3612,,,0,9a314d26d23ec0833804c785c4f0ad4934dac4b8,f5884a2070fb6cdaa9f187cfe56c3670cfad2f87,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7114,
1074958389,PR_kwDOAMm_X85AEpA1,7117,open,0,Expermimental mypy plugin,43316012,"I was playing around a bit with a mypy plugin and this was the best I could come up with.
Unfortunately the mypy docu about the plugins is not very detailed...

This plugin makes mypy recognize the user defined accessors.

There is a quite severe bug in there (due to my lack of understanding of mypy internals probably) which makes it work only on the first run but when you change a line in your code and run mypy again it will crash... (you can delete the cache to make it work one more time again :)

Any chance that a mypy expert can figure this out? haha",2022-10-03T17:07:59Z,2022-10-03T18:53:10Z,,,057bb9cf29f6eadec9be6a94ea6cc47224e2667a,,,1,aec6a1da22752e7fe74763d884bd396e5c5e4b04,f5884a2070fb6cdaa9f187cfe56c3670cfad2f87,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7117,
1076501142,PR_kwDOAMm_X85AKhqW,7126,closed,0,Upload mypy coverage report to codecov,43316012,"Not sure if that is the correct approach (to simply use a mypy flag) but lets see what people think about it.
",2022-10-04T20:55:02Z,2022-10-06T21:33:51Z,2022-10-06T20:38:14Z,2022-10-06T20:38:14Z,d052d923e51beded35838d8ec45633a5f48f7721,,,0,0a97b14b60a2371a7a76518e3336ce94e8c53de5,13c52b27b777709fc3316cf4334157f50904c02b,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7126,
1080218934,PR_kwDOAMm_X85AYtU2,7140,closed,0,Fixes deepcopy of Index,43316012,"Forgot to add this to #7112 

Also, correct the date of the 2022.09 release in whats-new, see #7135
",2022-10-07T11:18:10Z,2022-10-07T21:57:12Z,2022-10-07T21:57:12Z,2022-10-07T21:57:12Z,8eea8bb67bad0b5ac367c082125dd2b2519d4f52,,,0,6460b85b1e544706146c8bd2ea52444d647adfe3,8dac64b40bd05b72b2dad5d62074f1e288200dba,COLLABORATOR,"{""enabled_by"": {""login"": ""headtr1ck"", ""id"": 43316012, ""node_id"": ""MDQ6VXNlcjQzMzE2MDEy"", ""avatar_url"": ""https://avatars.githubusercontent.com/u/43316012?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/headtr1ck"", ""html_url"": ""https://github.com/headtr1ck"", ""followers_url"": ""https://api.github.com/users/headtr1ck/followers"", ""following_url"": ""https://api.github.com/users/headtr1ck/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/headtr1ck/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/headtr1ck/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/headtr1ck/subscriptions"", ""organizations_url"": ""https://api.github.com/users/headtr1ck/orgs"", ""repos_url"": ""https://api.github.com/users/headtr1ck/repos"", ""events_url"": ""https://api.github.com/users/headtr1ck/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/headtr1ck/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Fixes deepcopy of Index (#7140)"", ""commit_message"": ""* fix date of 2022.09 release\r\n* fix deepcopy of indexes""}",13221727,https://github.com/pydata/xarray/pull/7140,
1080323580,PR_kwDOAMm_X85AZG38,7142,closed,0,Fix Codecov,43316012,"- [x] Closes #7141
",2022-10-07T12:55:00Z,2023-08-30T18:58:19Z,2023-08-30T18:47:33Z,2023-08-30T18:47:33Z,afda88e660f870e04ae609e0845746a26bff281a,,,0,b5e2ea6a539e9fa2e5ac41593322c7a1b4337749,b136fcb679e9e70fd44b60688d96e75d4e3f8dcb,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7142,
1088407226,PR_kwDOAMm_X85A38a6,7168,closed,0,Fix broken test that fails CI upstream,43316012,"- [x] Closes #7158

Technically does not close all fails, but if we close it, the CI will open a new issue anyway and the discussion is not relevant anymore :)",2022-10-16T14:02:42Z,2022-10-17T17:48:07Z,2022-10-16T16:16:51Z,2022-10-16T16:16:51Z,93f1ba226086d5a916f54653e870a2943fe09ab7,,,0,9746735ccd0633e2a71cbc1a6d8a2c3d5cca77e8,da9c1d16562f233bfdafb0078cd1404ea18e03b8,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7168,
1088934304,PR_kwDOAMm_X85A59Gg,7176,closed,0,Add import ASV benchmark,43316012,related to https://github.com/pydata/xarray/issues/6726,2022-10-17T08:11:58Z,2022-10-17T17:47:59Z,2022-10-17T15:25:18Z,2022-10-17T15:25:18Z,15c68366b8ba8fd678d675df5688cf861d1c7235,,,0,24ba96cc3e34410c8b1bfeeb66b15735753b693d,24d038f1a6ba42a69acae34d038684d318a68f4d,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7176,
1089738782,PR_kwDOAMm_X85A9Bge,7179,closed,0,Lazy Imports,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Hopefully Closes #6726
- [x] ~Tests added~
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~New functions/methods are listed in `api.rst`~
",2022-10-17T18:23:09Z,2022-11-16T23:32:21Z,2022-10-28T16:25:40Z,2022-10-28T16:25:40Z,f32d354e295c05fb5c5ece7862f77f19d82d5894,,,0,6e7cb38528484a8e03f3c567161310e11b1ed9c1,076bd8e15f04878d7b97100fb29177697018138f,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7179,
1096645684,PR_kwDOAMm_X85BXXw0,7200,closed,0,Backends descriptions,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #7049
- [ ] Tests added
- [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] New functions/methods are listed in `api.rst`
",2022-10-23T18:23:32Z,2022-10-26T19:45:15Z,2022-10-26T16:01:04Z,2022-10-26T16:01:04Z,0a75d131d4a6d2b9e1cbd971da92fa4379a53f15,,,0,18ae3eba01a710681a746d54b6d0317f1b716075,b3e2bfc6e2f2620e6cb90a0c031ed75a2887d5a6,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7200,
1098015732,PR_kwDOAMm_X85BcmP0,7209,closed,0,Optimize some copying,43316012,"- [x] Potentially closes #7181
- [x] Tests added
- [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst`

I have passed along some more memo dicts, which could prevent some double deep-copying of the same data (don't know how exactly, but who knows :P)
Also, I have found some copy calls that did not pass along the deep argument (I am not sure if that breaks things, lets find out).
And finally I have found some places where shallow copies are enough.

All together it should improve the performance a lot when copying things around.",2022-10-24T21:00:21Z,2022-12-08T20:09:49Z,2022-11-30T23:36:56Z,2022-11-30T23:36:56Z,0aee4fe5b83d16c35f37bb1a32a57cbf0edfe437,,,0,d0f74c95e5308330040d0108225b1ef3dc51565f,891285ee86154d88e898dfd0aa770bd49d4d8c29,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7209,
1100885097,PR_kwDOAMm_X85Bnixp,7228,closed,0,Raise TypeError if plotting empty data,43316012,"- [x] Closes #7156
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~New functions/methods are listed in `api.rst`~
",2022-10-26T21:19:30Z,2022-11-10T23:00:42Z,2022-10-28T16:44:31Z,2022-10-28T16:44:31Z,51d37d1be95547059251076b3fadaa317750aab3,,,0,f3646885eea08fca35cc2b295052653cc1b3393f,fc9026b59d38146a21769cc2d3026a12d58af059,COLLABORATOR,"{""enabled_by"": {""login"": ""dcherian"", ""id"": 2448579, ""node_id"": ""MDQ6VXNlcjI0NDg1Nzk="", ""avatar_url"": ""https://avatars.githubusercontent.com/u/2448579?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/dcherian"", ""html_url"": ""https://github.com/dcherian"", ""followers_url"": ""https://api.github.com/users/dcherian/followers"", ""following_url"": ""https://api.github.com/users/dcherian/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/dcherian/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/dcherian/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/dcherian/subscriptions"", ""organizations_url"": ""https://api.github.com/users/dcherian/orgs"", ""repos_url"": ""https://api.github.com/users/dcherian/repos"", ""events_url"": ""https://api.github.com/users/dcherian/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/dcherian/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Raise TypeError if plotting empty data (#7228)"", ""commit_message"": ""* raise TypeError if plotting empty data\r\n\r\n* add to whats-new\r\n\r\n* raise TypeError in all DataArray plot methods\r\n\r\n* maybe fix tests\r\n\r\n* fix test\r\n\r\n* fix mypy\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>""}",13221727,https://github.com/pydata/xarray/pull/7228,
1116634085,PR_kwDOAMm_X85Cjnvl,7276,closed,0,Import nc_time_axis when needed,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #7275
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~New functions/methods are listed in `api.rst`~
",2022-11-09T20:24:45Z,2022-11-10T23:00:15Z,2022-11-10T21:45:27Z,2022-11-10T21:45:27Z,0301ae5d8dcea55e4f1971bd2f5d0eb9b33241bb,,,0,b82337b103b50c4a3457dbaab0468ac81228b74f,cc7e09a3507fa342b3790b5c109e700fa12f0b17,COLLABORATOR,"{""enabled_by"": {""login"": ""mathause"", ""id"": 10194086, ""node_id"": ""MDQ6VXNlcjEwMTk0MDg2"", ""avatar_url"": ""https://avatars.githubusercontent.com/u/10194086?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/mathause"", ""html_url"": ""https://github.com/mathause"", ""followers_url"": ""https://api.github.com/users/mathause/followers"", ""following_url"": ""https://api.github.com/users/mathause/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/mathause/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/mathause/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/mathause/subscriptions"", ""organizations_url"": ""https://api.github.com/users/mathause/orgs"", ""repos_url"": ""https://api.github.com/users/mathause/repos"", ""events_url"": ""https://api.github.com/users/mathause/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/mathause/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Import nc_time_axis when needed (#7276)"", ""commit_message"": ""* import nc_time_axis when needed\r\n\r\n* add to whats-new\r\n\r\n* add nc_time_axis to lazy tests\r\n\r\n* fix mypy\r\n\r\n* Update xarray/plot/utils.py\r\n\r\nCo-authored-by: Illviljan <14371165+Illviljan@users.noreply.github.com>\r\n\r\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\r\n\r\nfor more information, see https://pre-commit.ci\r\n\r\n* fix mypy for real\r\n\r\n* remove importskip of nc_time_axis\r\n\r\nCo-authored-by: Illviljan <14371165+Illviljan@users.noreply.github.com>\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>""}",13221727,https://github.com/pydata/xarray/pull/7276,
1120100069,PR_kwDOAMm_X85Cw17l,7283,closed,0,Fix mypy 0.990 types,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Related to #7270
",2022-11-12T21:34:14Z,2022-11-18T15:42:37Z,2022-11-16T18:41:58Z,2022-11-16T18:41:58Z,c86ffeac58fdc936633f42d6b2d6180e8791acd7,,,0,422a713a7407b26d6e37106a050d87557568a936,6f9e33e94944f247a5c5c5962a865ff98a654b30,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7283,
1133773541,PR_kwDOAMm_X85DlALl,7315,closed,0,Fix polyval overloads,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #7312
- [ ] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~New functions/methods are listed in `api.rst`~

Turns out the default value of arguments is important for overloads, haha.",2022-11-23T16:27:21Z,2022-12-08T20:10:16Z,2022-11-26T15:42:51Z,2022-11-26T15:42:51Z,4e9535ab5d4d16deb128009add343039be82ea66,,,0,802732c1f68737a2b22f500d020393a10ba4bf10,ff6793d975ef4d1d8d5d32b8ad6f4f44e02dda9b,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7315,
1139511392,PR_kwDOAMm_X85D65Bg,7335,closed,0,Enable mypy warn unused ignores,43316012,"This PR adds the mypy option ""warn_unused_ignores"" which will raise an error if a `# type: ignore` is used where it is no longer necessary.

Should enable us to keep our types updated.

I am not sure if this will lead to many issues whenever e.g. numpy changes/improves their typing, so we might get errors whenever there is a new version. Maybe it is not that bad, or maybe we can also remove the option again and only do it manually from time to time?",2022-11-29T20:42:08Z,2022-12-08T20:09:06Z,2022-12-01T16:14:07Z,2022-12-01T16:14:07Z,0e5e3fe0dfa65890cc8e133f34011b6acdb3d08b,,,0,3460448ab7977308b0ff67531acfa141df8adfb8,3aa75c8d00a4a2d4acf10d80f76b937cadb666b7,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7335,
1171363430,PR_kwDOAMm_X85F0ZZm,7392,closed,0,Support complex arrays in xr.corr,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #7340
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~New functions/methods are listed in `api.rst`~
",2022-12-19T21:22:25Z,2023-03-02T20:22:54Z,2023-02-14T16:38:27Z,2023-02-14T16:38:27Z,21d86450b3cec595c74aa410cbcc367c9c7f8a0a,,,0,b2f1cfb21a95c17a6a1547c21d77c89531c5db32,7683442774c8036e0b13851df62bda067b2a65d5,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7392,
1237210594,PR_kwDOAMm_X85JvlXi,7521,closed,0,use numpys SupportsDtype,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #7479

I don't know how I feel about using private numpy classes that might change anytime.
Maybe within a if TYPE_CHECKING block it is not too bad?
",2023-02-10T20:17:10Z,2023-03-18T14:08:20Z,2023-02-28T23:23:46Z,2023-02-28T23:23:46Z,6531b57f8c5cb7f3c564ff895c2e4b6573bb5521,,,0,824d01927f487e7348274928050029aca2f1d149,7683442774c8036e0b13851df62bda067b2a65d5,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7521,
1238092838,PR_kwDOAMm_X85Jy8wm,7523,closed,0,allow refreshing of backends,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #7478
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] New functions/methods are listed in `api.rst`

Don't know yet how to effectively test this, I guess there is some tricky solution with some mocking.",2023-02-12T16:07:05Z,2023-09-13T18:46:56Z,2023-03-31T15:14:56Z,2023-03-31T15:14:56Z,e2e1b29c50b7c61815bdd3a5c9c233c66c947011,,,0,681c06e68221039911557e30fcab49db60b8afab,44488288fd8309e3468ee45a5f7408d75a21f493,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7523,
1268495498,PR_kwDOAMm_X85Lm7SK,7600,closed,0,Enable blacks `skip_magic_trailing_comma` options,43316012,"This little config change will make black remove trailing commas when they are not necessary to fit something into a single line.

It is a pure design choice but personally I like the clean up it does when function signatures simplify (although this happens rarely with more and more type hints added).

I can understand that some people prefer the manual control over what is multiline and what is not.
Feel free to vote on it :)

For me it adds cheap LOCs so it looks like I am working hard, haha.",2023-03-08T21:36:46Z,2023-03-09T20:41:21Z,2023-03-09T20:40:25Z,,04199733de1e3232c971ecf478451c61381d30d4,,,0,a116bbc9afae04c38ccabc02b4dbf5c50fe746c3,6d771fc82228bdaf8a4b77d0ceec1cc444ebd090,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7600,
1272285942,PR_kwDOAMm_X85L1Yr2,7612,closed,0,Fix `pcolormesh` with str coords,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #6775
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] ~New functions/methods are listed in `api.rst`~
",2023-03-12T10:50:35Z,2023-09-13T18:48:08Z,2023-03-16T18:55:30Z,2023-03-16T18:55:30Z,ccbb84de60f1e03fd4b3374760668ec49e287910,,,0,a961c45ec4e48a131b8541c7ea10b07539f6bc6e,87ecc332418b9f8d5d3ea07fbe4ce59068abef5c,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7612,
1272435496,PR_kwDOAMm_X85L19Mo,7616,closed,0,add a test for scatter colorbar extend,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #4975",2023-03-12T20:58:45Z,2023-03-13T19:47:50Z,2023-03-13T19:47:50Z,2023-03-13T19:47:50Z,9bd9044c4f1d112572c81c768e6c0f018a28c7ff,,,0,0b1773d68547f5d75e65ed32c73c56f36deb37d0,485f801d4bbfc8b2b8c20a390a859ae6cd71ba16,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/7616,
1454903589,PR_kwDOAMm_X85WuBEl,8030,closed,0,Fix static typing with Matplotlib 3.8,43316012,"- [x] Closes #7802
- [x] Tests added",2023-07-29T20:32:25Z,2023-09-26T19:01:29Z,2023-09-17T05:02:58Z,2023-09-17T05:02:58Z,babe9ff2674665755009c6288b2a5d98949e71a0,,,0,b1d721c0e5362b20c333c43546c0f3d9c9a60d35,45bce44dcb260c62ab69b11ddb07b011bfa6194c,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/8030,
1516237612,PR_kwDOAMm_X85aX_Ms,8184,closed,0,Fix several warnings in the tests,43316012,"Mainly deprecated ""closed"" argument in `date_range` and passing `pd.MultiIndex` directly to the constructor.",2023-09-14T19:21:37Z,2023-09-26T19:01:13Z,2023-09-15T20:41:03Z,2023-09-15T20:41:03Z,af1c70942bb45ff9340c89e6de6b2a0589520887,,,0,6696d3174988215207017e37b1cdecddfba0d2e6,e00e31b9ea7fcd562f75f6c657d02c4f81867095,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/8184,
1520206395,PR_kwDOAMm_X85anII7,8204,closed,0,Rewrite typed_ops,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Related to #7780
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
",2023-09-18T20:51:22Z,2023-09-26T19:00:49Z,2023-09-25T04:43:54Z,2023-09-25T04:43:54Z,565b23b95beda893e0d66d1e2c6da49984bb0925,,,0,19b14ce3f0547d1f522b488c200e1924b7d1527f,05b3a211d5b93acd45be19eab1d0a6e9c72cff8d,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/8204,
1531240287,PR_kwDOAMm_X85bRN9f,8234,closed,0,Improved typing of align & broadcast,43316012,"- [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst`

This PR improves the typing of align.
Before: the type of the inputs was reduced to the common superclass and the return type was the same. This often required casts or ignores when mixing classes (e.g. `da, ds = xr.align(da, ds)`.
Now: the return types are exactly the same as the input types if the number of passed arguments is <=5.

Only downside: it requires some ugly overloads with type ignores on align. Maybe someone knows how to type this better?",2023-09-26T20:02:22Z,2023-12-18T20:28:03Z,2023-10-09T10:21:40Z,2023-10-09T10:21:40Z,7aa207b250a50d94410c716e6f624286f9887650,,,0,6ad306ed4c9649a54b98a9c147467dc40838ccd7,e09609c234590dffb1b46c8526c3524da561c0ec,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/8234,
1544287643,PR_kwDOAMm_X85cC_Wb,8276,open,0,Give NamedArray Generic dimension type,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Towards #8199
- [ ] Tests added
- [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [ ] New functions/methods are listed in `api.rst`

This aims at making the dimenion type a generic parameter.
I thought I will start with NamedArray when testing this out because it is much less interconnected.",2023-10-05T20:02:56Z,2023-10-16T13:41:45Z,,,f57e0b8dc63a8c6ff634b8b0e644c8dd2dc4d642,,,1,66ba4e8affb38ade7a48f93408718b04a003d90d,bd40c20a5fd025724af5862765eab6bf90eb92f5,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/8276,
1557137686,PR_kwDOAMm_X85c0AkW,8309,open,0,Move variable typed ops to NamedArray,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- xref https://github.com/pydata/xarray/issues/8238

This is highly WIP and probably everything is broken right now...
Just creating this now, so other people don't work on the same :)
Feel free to continue here with me.

@pydata/xarray 
1. what do we do with commonly used functions, is it ok to copy them?
2. Moving the typed ops requires a lot of functions to be added to NamedArray, is there a consensus of what we want to move? Is it basically everything?
3. Slowly the utils module is becomming a graveyard of stuff we dont want to put elsewhere, maybe we should at least move the typing stuff over to a types module.",2023-10-14T20:22:07Z,2023-10-26T21:55:01Z,,,697e42a6962c4cbc5a31c58ac52c1f25ee272404,,,1,3d1e8819155b3748a63ef135894ea7a199cf536a,bb489fa7fbdf5017c1c31a7a8344477c9991c6eb,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/8309,
1626263386,PR_kwDOAMm_X85g7s9a,8501,closed,0,Update to mypy1.7,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #8448
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`

I guess we update manually for now?",2023-12-01T20:08:46Z,2023-12-02T13:08:45Z,2023-12-01T22:02:21Z,2023-12-01T22:02:21Z,abd2068bca8da1e1069790bb47d97b8843260d60,,,0,49a04c69f637bd4e8333ff04d936d3fb6e6ac5c4,4550a01c9dca27dd043d734bab1a78ef972be68b,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/8501,
1626273344,PR_kwDOAMm_X85g7vZA,8502,closed,0,change type of curvefit's p0 and bounds to mapping,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`

Mini PR to improve the typing of curvefit.
Using `dict` is problematic since it is invariant, while Mapping is `covariant`.",2023-12-01T20:18:19Z,2023-12-02T13:08:50Z,2023-12-01T22:02:38Z,2023-12-01T22:02:38Z,5213f0d63465eac228822fb7299046e0c6701acc,,,0,f0b516fea70fb46cb654ca9378288a94211c6888,4550a01c9dca27dd043d734bab1a78ef972be68b,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/8502,
1626323819,PR_kwDOAMm_X85g77tr,8503,open,0,Add option to define custom format of units in plots,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [ ] New functions/methods are listed in `api.rst`

We encountered the issue that we should plot units as `(unit)` instead of `[unit]`.
This PR enables us to do exactly this, easier to change this at the source ;)

I think setting this as a global option is the correct approach, but feel free to propose alternatives :)",2023-12-01T21:09:18Z,2024-02-02T22:09:11Z,,,2b27b717ed9863c79f171bd27ce80707fd7d1693,,,0,dfed0e696aeb2fce613fe1b2603269f6f49cf548,4550a01c9dca27dd043d734bab1a78ef972be68b,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/8503,
1629095553,PR_kwDOAMm_X85hGgaB,8520,open,0,Allow configuring open_dataset via backend instances,43316012,"Support passing instances of `BackendEntryPoints` as the `engine` argument.

Closes #8447

Then instead of passing a long list of options to the `open_dataset` method directly, you can also configure the entrypoint in the constructor and pass it as the engine.

It would look something like this:
```python
engine = NetCDF4BackendEntrypoint(mode=""a"", clobber=False)
ds = xr.open_dataset(""some_file.nc"", engine=engine)
```
While this is actually even more lines of code, the main advantage is to have better discoverability of the options.



TODO:

- [x] Adapt netcdf4 backend
- [x] Adapt h5netcdf backend
  - [x] Find out if h5netcdf backend should have ""autoclose"" and ""mode"" options (https://github.com/pydata/xarray/pull/8520#pullrequestreview-1769368001_)
  - [x] What to do with ""decode_vlen_strings"" option in h5netcdf (was this deprecated?)
- [x] Adapt zarr backend
- [x] Adapt scipy backend
- [x] Adapt  pydap backend
  - [ ] `output_grid` seems to be always set to `True`? is this intentional, why not remove it instead?
  - [x] ~`verify` and `user_charset` are non-existent in pydap?~ > I still had pydap version 3.2, in 3.4 they exist...
  - [x] typing is only my first impression. Not easy if upstream libs are untyped :/
- [x] ~Adapt pynio backend~ > Won't adapt because deprecated
- [x] Fix docstrings to include init options
- [x] Check if `lock=True` is allowed > Not allowed, otherwise scipy backend breaks
- [ ] Change default to `lock=True` instead of `None`? Maybe a later PR?
- [ ] Rename `XXXBackendEntrypoint` > `XXXBackend` ?
- [x] ~The `autoclose` argument seems to do nothing?~ > Actually it is used in `BaseNetCDF4Array`, all good
- [x] ~Move `group` to open_dataset instead of backend option?~ > Its not really a decoder either. Not sure, for now leave it in the init...
- [ ] Improve `_resolve_decoders_kwargs`, this function has a lot of implicit assumtions? Maybe remove `open_dataset_parameters` alltogether?
- [x] Add tests for passing backend directly via engine argument
- [x] `open_dataset` now has `**kwargs` to support backwards compatibility. Probably we should raise if unsupported stuff is added (i.e. typos) otherwise this could be confusing? (i.e. see test in zarr that checks for deprecated `auto_chunk`)",2023-12-04T21:03:12Z,2024-01-14T21:40:38Z,,,40ead5281c725a0963d06be495898652c14d422a,,,0,cec1a88fe9d7403dfcdc72fa90dd74ea30c1cb93,357a44474df6d02555502d600776e27a86a12f3f,COLLABORATOR,,13221727,https://github.com/pydata/xarray/pull/8520,
1649306358,PR_kwDOAMm_X85iTmr2,8559,closed,0,Support non-str Hashables in DataArray,43316012,"<!-- Feel free to remove check-list items aren't relevant to your change -->

- [x] Closes #8546
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`

Probably we should add a whole bunch of tests for this. For now only testing the constructor.
",2023-12-18T21:09:13Z,2024-01-14T20:38:59Z,2024-01-14T20:38:59Z,2024-01-14T20:38:59Z,357a44474df6d02555502d600776e27a86a12f3f,,,0,b33b2b0276788117d2d6e2d87df33213f1cfa439,08c8f9a42bdbac638226ec3a18122271ea9be64b,COLLABORATOR,"{""enabled_by"": {""login"": ""headtr1ck"", ""id"": 43316012, ""node_id"": ""MDQ6VXNlcjQzMzE2MDEy"", ""avatar_url"": ""https://avatars.githubusercontent.com/u/43316012?v=4"", ""gravatar_id"": """", ""url"": ""https://api.github.com/users/headtr1ck"", ""html_url"": ""https://github.com/headtr1ck"", ""followers_url"": ""https://api.github.com/users/headtr1ck/followers"", ""following_url"": ""https://api.github.com/users/headtr1ck/following{/other_user}"", ""gists_url"": ""https://api.github.com/users/headtr1ck/gists{/gist_id}"", ""starred_url"": ""https://api.github.com/users/headtr1ck/starred{/owner}{/repo}"", ""subscriptions_url"": ""https://api.github.com/users/headtr1ck/subscriptions"", ""organizations_url"": ""https://api.github.com/users/headtr1ck/orgs"", ""repos_url"": ""https://api.github.com/users/headtr1ck/repos"", ""events_url"": ""https://api.github.com/users/headtr1ck/events{/privacy}"", ""received_events_url"": ""https://api.github.com/users/headtr1ck/received_events"", ""type"": ""User"", ""site_admin"": false}, ""merge_method"": ""squash"", ""commit_title"": ""Support non-str Hashables in DataArray (#8559)"", ""commit_message"": ""* support hashable dims in DataArray\r\n* add whats-new\r\n* remove uneccessary except ImportErrors\r\n* improve some typing""}",13221727,https://github.com/pydata/xarray/pull/8559,