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 1939241220,PR_kwDOAMm_X85cmBPP,8296,mypy 1.6.0 passing,5635139,closed,0,,,4,2023-10-12T06:04:46Z,2023-10-12T22:13:18Z,2023-10-12T19:06:13Z,MEMBER,,0,pydata/xarray/pulls/8296," I did the easy things, but will need help for the final couple on `_typed_ops.py` Because we don't pin mypy (should we?), this blocks other PRs if we gate them on mypy passing ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8296/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1902155047,PR_kwDOAMm_X85aonTY,8208,Use a bound `TypeVar` for `DataArray` and `Dataset` methods,5635139,closed,0,,,4,2023-09-19T03:46:33Z,2023-09-28T16:46:54Z,2023-09-19T19:20:42Z,MEMBER,,1,pydata/xarray/pulls/8208,"- [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` Edit: I added a [comment](https://github.com/pydata/xarray/pull/8208#issuecomment-1725054516) outlining a problem with this --- I _think_ we should be using a `TypeVar(..., bound=...)` for our typing, since otherwise subtypes aren't allowed. I don't see a compelling reason to have all of `T_DataWithCoords` and `T_DataArrayOrSet` and `T_Xarray`, though I might be missing something. So this unifies all `T_DataWithCoords`, `T_DataArrayOrSet` and `T_Xarray` to `T_Xarray`, and changes that type to be bound on a union of `DataArray` & `Dataset` (similar to the existing `T_DataArrayOrSet`). This covers the bulk of our API — functions which transform either a `DataArray` or `Dataset` and return the input type. This does require some manual casts; I think because when there's a concrete path for both `DataArray` & `Dataset`, mypy doesn't unify them back together. It's also possible I'm missing something. One alternative — a minor change — would be to bound on `DataWithCoords`, like the existing `T_DataWithCoords`, rather than the union. A quick comparison showed each required some additional casts / ignores over the other. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8208/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1410340285,PR_kwDOAMm_X85A3emZ,7166,"Fix doctest warnings, enable errors in CI",5635139,closed,0,,,4,2022-10-16T01:29:36Z,2023-09-20T09:31:58Z,2022-10-16T21:26:46Z,MEMBER,,0,pydata/xarray/pulls/7166," - [x] From https://github.com/pydata/xarray/issues/7164 - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` I'm not confident about the CI change; either we can merge with the ""this is a trial message"" and see how it goes, or split that into a separate PR and discuss. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7166/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1878099779,PR_kwDOAMm_X85ZYBES,8138,Allow `apply_ufunc` to ignore missing core dims,5635139,closed,0,,,4,2023-09-01T22:09:20Z,2023-09-17T08:20:19Z,2023-09-17T08:20:13Z,MEMBER,,0,pydata/xarray/pulls/8138," - [x] Closes #6391 - [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` This probably needs a review and another turn, maybe some more tests on multiple objects etc. There are a couple of questions inline.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8138/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1216982208,PR_kwDOAMm_X8422vsw,6522,Update issue template to include a checklist,5635139,closed,0,,,4,2022-04-27T08:19:49Z,2022-05-01T22:14:35Z,2022-05-01T22:14:32Z,MEMBER,,0,pydata/xarray/pulls/6522,"This replaces https://github.com/pydata/xarray/pull/5787. Please check out the previews in the [most recent comment there](https://github.com/pydata/xarray/pull/5787#issuecomment-1110385272)","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6522/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1218094019,PR_kwDOAMm_X8426dL2,6534,Attempt to improve CI caching,5635139,closed,0,,,4,2022-04-28T02:16:29Z,2022-04-28T23:55:16Z,2022-04-28T06:30:25Z,MEMBER,,0,pydata/xarray/pulls/6534,"Currently about 40% of the time is taken by installing things, hopefully we can cut that down ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6534/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1125026615,PR_kwDOAMm_X84yH6vN,6241,Remove old PR template,5635139,closed,0,,,4,2022-02-05T20:43:01Z,2022-02-06T14:25:35Z,2022-02-05T21:59:06Z,MEMBER,,0,pydata/xarray/pulls/6241,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6241/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 965939431,MDExOlB1bGxSZXF1ZXN0NzA4MjIwNDIy,5690,Change annotations to allow str keys,5635139,closed,0,,,4,2021-08-11T05:17:02Z,2021-08-19T17:55:49Z,2021-08-19T17:27:01Z,MEMBER,,0,pydata/xarray/pulls/5690," - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` IIUC: - [This test](https://github.com/pydata/xarray/pull/5690/files#diff-2db7f6624707083db4aaab1b62eb11352200ec9d3ac1055de84877912226d7b5R6800) below would fail mypy because the key of `Mapping` is invariant (though `Any` still lets anything through) - I've only seen this when the dict is defined in a different expression from the Dataset constructor - Mypy doesn't type-check our test functions, [because the functions don't have any annotations](https://mypy.readthedocs.io/en/stable/common_issues.html#no-errors-reported-for-obviously-wrong-code). If that's correct, we should change all our `Mapping` to use `Any` rather than `Hashable`, and add type annotations to our test functions (even just `-> None`)","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5690/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 728903948,MDExOlB1bGxSZXF1ZXN0NTA5NTEyNjM4,4537,Adjust tests to use updated pandas syntax for offsets,5635139,closed,0,,,4,2020-10-25T00:05:55Z,2021-04-19T06:10:33Z,2021-03-06T23:02:02Z,MEMBER,,0,pydata/xarray/pulls/4537," - [x] Closes #4535 (somewhat) - [x] Tests added - [ ] Passes `isort . && black . && mypy . && flake8` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4537/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 704586766,MDExOlB1bGxSZXF1ZXN0NDg5NDg1ODQw,4435,Release notes for 0.16.1,5635139,closed,0,,,4,2020-09-18T18:54:14Z,2020-09-20T00:08:13Z,2020-09-20T00:06:41Z,MEMBER,,0,pydata/xarray/pulls/4435,"Please make suggestions for any changes! ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4435/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 575078455,MDExOlB1bGxSZXF1ZXN0MzgzMjkxOTgz,3824,Transpose coords by default,5635139,closed,0,,,4,2020-03-04T01:45:23Z,2020-05-06T16:39:39Z,2020-05-06T16:39:35Z,MEMBER,,0,pydata/xarray/pulls/3824," - [x] Closes #3789 - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API After doing this, I realize it needs to wait until 0.16, assuming 0.15.1 is our next release. If so, this should hang out until then.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3824/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 526160032,MDExOlB1bGxSZXF1ZXN0MzQzNjcxODU0,3555,Tweaks to release instructions,5635139,closed,0,,,4,2019-11-20T20:14:20Z,2019-11-21T14:45:26Z,2019-11-21T14:45:21Z,MEMBER,,0,pydata/xarray/pulls/3555,"A few small tweaks, including a script for getting all recent contributors (feel free to edit if my bash is bad).","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3555/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 509660775,MDExOlB1bGxSZXF1ZXN0MzMwMTY0MDg0,3421,Allow ellipsis (...) in transpose,5635139,closed,0,,,4,2019-10-20T22:15:12Z,2019-10-28T23:47:15Z,2019-10-28T21:12:49Z,MEMBER,,0,pydata/xarray/pulls/3421," - [x] Closes https://github.com/pydata/xarray/issues/1081#issuecomment-540477534 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API HT to @crusaderky for the idea!","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3421/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 404829089,MDExOlB1bGxSZXF1ZXN0MjQ4OTIyNzA5,2727,silence a couple of warnings in tests,5635139,closed,0,,,4,2019-01-30T15:37:41Z,2019-01-30T19:06:37Z,2019-01-30T19:06:34Z,MEMBER,,0,pydata/xarray/pulls/2727,"The only other warning is: ``` xarray/tests/test_dataset.py::TestDataset::test_convert_dataframe_with_many_types_and_multiindex /Users/maximilian/workspace/xarray/xarray/core/dataset.py:3146: FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype. In the future, this will return an ndarray with 'object' dtype where each element is a 'pandas.Timestamp' with the correct 'tz'. To accept the future behavior, pass 'dtype=object'. To keep the old behavior, pass 'dtype=""datetime64[ns]""'. data = np.asarray(series).reshape(shape) /usr/local/lib/python3.7/site-packages/pandas/core/apply.py:286: FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype. In the future, this will return an ndarray with 'object' dtype where each element is a 'pandas.Timestamp' with the correct 'tz'. To accept the future behavior, pass 'dtype=object'. To keep the old behavior, pass 'dtype=""datetime64[ns]""'. results[i] = self.f(v) ``` I'm not sure what we want to do here - potentially we should make a choice between: - the worse behavior of `object` - accepting the coercing to naive datetimes - supporting pandas extension arrays","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2727/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 298443020,MDExOlB1bGxSZXF1ZXN0MTcwMDgxNTU5,1925,flake8 passes,5635139,closed,0,,,4,2018-02-20T01:09:05Z,2018-02-22T02:20:58Z,2018-02-20T18:04:59Z,MEMBER,,0,pydata/xarray/pulls/1925,"I was still getting stickler errors for code I hadn't changed. Flake8 should now pass ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1925/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 271991268,MDExOlB1bGxSZXF1ZXN0MTUxMjMyOTA2,1696,ffill & bfill methods,5635139,closed,0,,,4,2017-11-07T21:32:19Z,2017-11-12T00:14:33Z,2017-11-12T00:14:29Z,MEMBER,,0,pydata/xarray/pulls/1696," - [x] Closes #1651 - [x] Tests added / passed - [ ] Passes ``git diff upstream/master **/*py | flake8 --diff`` - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API No docs / docstrings. No backfill. But otherwise is this a reasonable layout? Do we prefer `fillna` with options (back / forward / replacement), or `ffill`, `bfill`, `fillna`? ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1696/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 149229636,MDExOlB1bGxSZXF1ZXN0NjY4OTc3MjI=,832,WIP for transitioning from Panel docs,5635139,closed,0,,,4,2016-04-18T18:16:41Z,2016-08-08T17:08:23Z,2016-08-08T17:08:23Z,MEMBER,,0,pydata/xarray/pulls/832,"A start for some docs on transitioning from pandas Panel to xarray. This is some way from the final version - but putting it out there and will iterate. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/832/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 132237664,MDExOlB1bGxSZXF1ZXN0NTg2NTY0NTA=,749,Retain label type in .to_dataset,5635139,closed,0,,,4,2016-02-08T19:38:59Z,2016-02-16T03:51:06Z,2016-02-14T23:34:56Z,MEMBER,,0,pydata/xarray/pulls/749,"Not sure if this was a deliberate choice (maybe so integer indexing wasn't disrupted?). This allows objects as dataset keys / labels. Let me know your thoughts and I'll add a what's new. (I know I have a few PRs dangling - apologies - will go back and clean them up soon) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/749/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 115364729,MDExOlB1bGxSZXF1ZXN0NDk4NzQyODc=,646,Selection works with PeriodIndex-like indexes ,5635139,closed,0,,,4,2015-11-05T20:13:44Z,2015-11-18T01:03:06Z,2015-11-06T05:44:01Z,MEMBER,,0,pydata/xarray/pulls/646,"Resolves the most pressing issue in #645 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/646/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull