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 36749334,MDExOlB1bGxSZXF1ZXN0MzY3NDkzMzQ=,420,closed,0,allow 'nearest' slice indexing,10194086,"see #418 ",2015-06-02T16:44:40Z,2015-06-02T16:54:27Z,2015-06-02T16:54:27Z,,4454703af6208246911cecde0ef6df82da51a8e3,,,0,7ec0efe396ce54456ea47db081736a76ae4ebf34,f7bc5491f9af88d610b1d5a47f8739f9dfa6ddea,MEMBER,,13221727,https://github.com/pydata/xarray/pull/420, 36750553,MDExOlB1bGxSZXF1ZXN0MzY3NTA1NTM=,421,closed,0,allow 'nearest' slice indexing,10194086,"see #418 ",2015-06-02T16:56:45Z,2015-06-12T22:10:03Z,2015-06-12T22:10:03Z,,fda726954abf9565ff07121a61b9a983015c5871,,,0,bb40fb4c9ba49e805b13b698fe60ea9defb1022a,f7bc5491f9af88d610b1d5a47f8739f9dfa6ddea,MEMBER,,13221727,https://github.com/pydata/xarray/pull/421, 73617159,MDExOlB1bGxSZXF1ZXN0NzM2MTcxNTk=,882,closed,0,add geocolormesh,10194086,"Addresses #880 (partially): Automatically create a cartopy GeoAxis for easier plotting of map data. Works for single plots and for FacetGrids. If a normal pyplot axes is passed, defaults to pcolormesh. Example: ``` import xarray as xr t = xr.tutorial.load_dataset('air_temperature') # simple plot t.isel(time=0).air.plot.geocolormesh() plt.show() # facet grid, no coastlines f = t.isel(time=slice(0, 3)).air.plot.geocolormesh(col='time', coastlines=False) # higher resolution coastlines for ax in f.axes.flatten(): ax.coastlines(resolution='50m') plt.show() import matplotlib.pyplot as plt # if a matplotlib axis is passed, defaults to pcolormesh ax = plt.axes() t.isel(time=0).air.plot.geocolormesh(ax=ax) plt.show() ``` ",2016-06-13T17:59:24Z,2016-08-25T20:42:34Z,2016-08-25T20:42:34Z,,6b2181dcead9a66c8411f6f41085f5fdc8f01641,,,0,97e69dcccc212c90434a21b301984638eb713b12,97e69dcccc212c90434a21b301984638eb713b12,MEMBER,,13221727,https://github.com/pydata/xarray/pull/882, 82453739,MDExOlB1bGxSZXF1ZXN0ODI0NTM3Mzk=,984,closed,0,fix datetime issues,10194086,"fixes: #975 work around: pydata/pandas#14068 I finally found 3 issues: (1) pretty print fails when date is out of bounds (2) pandas Overflow error (https://github.com/pydata/pandas/issues/14068) (3) decode_cf_datetime when first date is in bound but later dates are not ``` import xarray as xr from datetime import datetime # (1) pretty print xr.core.formatting.format_timestamp(datetime(2800, 1, 1)) # (2) overflow error ds = xr.Dataset(coords={'time' : [0, 266 * 365]}) units = 'days since 2000-01-01 00:00:00' ds.time.attrs = dict(units=units) ds_decoded = xr.conventions.decode_cf(ds) ds_decoded.time import netCDF4 as nc import numpy as np import xarray as xr # (3) create netCDF file ncf = nc.Dataset('test_future.nc', 'w') ncf.createDimension('time') ncf.createVariable('time', np.int, dimensions=('time')) ncf.variables['time'].units = 'days since 1850-01-01 00:00:00' ncf.variables['time'].calendar = 'standard' ncf.variables['time'][:] = np.arange(850) * 365 ncf.close() # open with xr ds = xr.open_dataset('test_future.nc') # this works ds # ds.time is a datetime64[ns] object # this fails ds.time ``` ",2016-08-23T22:40:03Z,2016-08-26T06:57:39Z,2016-08-25T22:39:26Z,2016-08-25T22:39:26Z,6cf5d0c73cb4e018184d058f6349eb046aa155fd,,,0,b552b28eda4f14dd59327f7550c43183818c6318,97e69dcccc212c90434a21b301984638eb713b12,MEMBER,,13221727,https://github.com/pydata/xarray/pull/984, 125355129,MDExOlB1bGxSZXF1ZXN0MTI1MzU1MTI5,1451,closed,0,inconsistent time.units fmt in encode_cf_datetime,10194086,"- do not change user-specified units - always format infered units as 'YYYY-mmmm-ddTHH:MM:SS' This is my naïve approach. - [ ] Closes #1449 - [ ] Tests added / passed - [ ] Passes ``git diff upstream/master | flake8 --diff`` - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2017-06-13T12:49:31Z,2021-06-24T08:45:18Z,2021-06-23T16:14:27Z,,d46855454468e908dcc2c2d4fa46113d1e0fefdd,,,0,28eceb007fccd9808c2da6308466d6f4a8bbedc9,aeb4108b1f39cde2bac765ca58c70b5011b188c5,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1451, 177077159,MDExOlB1bGxSZXF1ZXN0MTc3MDc3MTU5,2011,closed,0,rolling: periodic,10194086," - [x] Closes #2007 - [ ] Tests added (for all bug fixes or enhancements) - [ ] Tests passed (for all non-documentation changes) - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API --- Ok, this was easier to do than initially thought, we can use `np.pad(a, pads, mode='wrap')` in `nputils.rolling_window`. However, I'm not sure if that is enough already*. I added an initial test, but could use some pointers where else you want this to be tested. Questions: * is `fill_value='periodic'` a good api? * should the `fill_value` keyvalue be ported to `rolling`? * should this also be mentioned in the docs for `rolling` (I only learned about `rolling.construct` yesterday) --- *`rolling` is present in`core/dataset.py`, `core/dataarray.py`, `core/variable.py`, `core/rolling.py`, `core/dask_array_ops.py`, `core/nputils.py`, `core/ops.py`, `core/common.py`, `core/missing.py`, and `core/duck_array_ops.py` that can be a bit daunting... ",2018-03-23T13:57:25Z,2021-03-30T15:08:22Z,2021-03-30T15:08:18Z,,d04b403053b0d69972bf80fb2963e4b4bbd0a852,,,0,14e60895629388ff4e038a6144e2cf293a23afd2,7bf9df9d75c40bcbf2dd28c47204529a76561a3f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2011, 273971942,MDExOlB1bGxSZXF1ZXN0MjczOTcxOTQy,2922,closed,0,Feature/weighted,10194086," - [X] Closes #422 - [X] Tests added - [X] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API I took a shot at the weighted function - I added a `DataArrayWeighted` class, that currently only implements `mean`. So, there is still quite a bit missing (e.g. `DatasetWeighted`), but let me know what you think. ``` python import numpy as np import xarray as xr da = xr.DataArray([1, 2]) weights = xr.DataArray([4, 6]) da.weighted(weights).mean() # # array(1.6) ``` There are quite a number of difficult edge cases with invalid data, that can be discussed. * I decided to replace all `NaN` in the `weights` with `0`. * if weights sum to `0` it returns `NaN` (and not `inf`) ``` python weights = xr.DataArray([0, 0]) da.weighted(weights).mean() ``` * The following returns `NaN` (could be `1`) ``` python da = xr.DataArray([1, np.nan]) weights = xr.DataArray([1, 0]) da.weighted(weights).mean(skipna=False) ``` It could be good to add all edge-case logic to a separate function but I am not sure if this is possible... ",2019-04-26T17:09:02Z,2021-02-03T14:47:52Z,2020-03-19T14:29:43Z,2020-03-19T14:29:42Z,df614b96082b38966a329b115082cd8dddf9fb29,,,0,8acc78ef91ec2e808eac852a526dd90fe859f39b,65a5bff79479c4b56d6f733236fe544b7f4120a8,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2922, 279971201,MDExOlB1bGxSZXF1ZXN0Mjc5OTcxMjAx,2971,closed,0,Feature/merge errormsg,10194086," - [x] Closes #2948 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-05-17T17:20:35Z,2019-10-29T17:55:15Z,2019-06-12T15:33:26Z,2019-06-12T15:33:26Z,7e4bf8623891c4e564bbaede706e1d69c614b74b,,,0,9567b71264c36ad4f1ae9218b67aa310ffc5dcaf,3429ca2aa2a07cd77797f5a4c036d6a325f2003f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2971, 315533112,MDExOlB1bGxSZXF1ZXN0MzE1NTMzMTEy,3295,closed,0,allow np-array levels and colors in 2D plots,10194086," - [x] Closes #3284 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-09-09T13:31:46Z,2019-10-29T17:55:06Z,2019-09-09T18:31:16Z,2019-09-09T18:31:16Z,9e1c690e6da93314acf801eba649c98a97649c58,,,0,716ce305b2e0d6a37fe6f223bf66c3642304cb85,d1260443d065c3f2ec3f8eb3d999c59a695b35a2,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3295, 330361278,MDExOlB1bGxSZXF1ZXN0MzMwMzYxMjc4,3424,closed,0,enable xr.ALL_DIMS in xr.dot,10194086," - [x] Closes #3423 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API",2019-10-21T11:42:04Z,2020-08-19T13:11:51Z,2019-10-29T19:12:52Z,2019-10-29T19:12:51Z,4d5237ba2d56c316cbc12b25572164afdbaef541,,,0,74ef2d15b8fe42cc9d01e9d0778ea9da8a5db794,74ca69a3b7b53d2b8cc8c88ddaf0fe8c6c7bbf6c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3424, 333948086,MDExOlB1bGxSZXF1ZXN0MzMzOTQ4MDg2,3463,closed,0,unpin cftime,10194086,"I think the cftime problems should be fixed after the release of [v1.0.4.2](https://github.com/Unidata/cftime/releases/tag/v1.0.4.2rel) #3434 ",2019-10-30T00:05:55Z,2020-08-19T13:11:55Z,2019-10-30T01:08:14Z,2019-10-30T01:08:14Z,092d300db7576de2aa96316de42ee6bf293d9855,,,0,aecf9c014c4b3c17e89a0449685079f5449bf88a,11049f568e09c9f0c56c9fb453d9ae9089f5fa5b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3463, 338638320,MDExOlB1bGxSZXF1ZXN0MzM4NjM4MzIw,3496,closed,0,unpin pseudonetcdf,10194086,"It should be possible to run the tests with pseudonetcdf 3.1.0 again. xref #3434, #3409, #3485 thanks @barronh ",2019-11-08T11:38:20Z,2019-11-08T13:09:10Z,2019-11-08T12:14:10Z,2019-11-08T12:14:10Z,3bb0414f1f45890607bfe178f64577c5936d0432,,,0,d28345a93e9da692a6dedcd376837971f19ae303,bb89534687ee5dac54d87c22154d3cfeb030ce21,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3496, 340996051,MDExOlB1bGxSZXF1ZXN0MzQwOTk2MDUx,3532,closed,0,ensure rename does not change index type,10194086," - [x] Closes #3522 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-11-14T14:12:26Z,2020-08-19T13:12:04Z,2019-11-15T19:49:30Z,2019-11-15T19:49:30Z,68b004fe5033f4a991d152190864ee1180845806,,,0,ec7615404a54ce9199780ef371b39c7f01fb0567,c0ef2f616e87e9f924425bcd373ac265f14203cb,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3532, 354099393,MDExOlB1bGxSZXF1ZXN0MzU0MDk5Mzkz,3635,closed,0,Fix/quantile wrong errmsg,10194086," - [x] Closes #3634 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API `np.nanquantile` was added in numpy 1.15.0, the current minimum requirement for numpy is 1.14.0, therefore we have to test this ourselves. ",2019-12-17T13:16:40Z,2021-10-18T14:06:13Z,2019-12-17T13:50:06Z,2019-12-17T13:50:06Z,6295bc6bca1559680544ea86051f35fa2d367fe1,,,0,0b02d87e3dd04c26c40b52c58f85e70d1dba0fab,f2b2f9f62ea0f1020262a7ff563bfe74258ffaa1,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3635, 363772717,MDExOlB1bGxSZXF1ZXN0MzYzNzcyNzE3,3699,closed,0,Feature/align in dot,10194086," - [x] Closes #3694 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API Happy to get feedback @fujiisoup @shoyer ",2020-01-16T17:55:38Z,2020-01-20T12:55:51Z,2020-01-20T12:09:27Z,2020-01-20T12:09:27Z,aa0f96383062c48cb17f46ef951075c0494c9c0a,,,0,400773e02ec1dfcd66e8a98eae54213aebc17ca5,5c97641dd129a9dcc4346a137bcf32a5a982d37a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3699, 370947218,MDExOlB1bGxSZXF1ZXN0MzcwOTQ3MjE4,3749,closed,0,remove seaborn.apionly compatibility,10194086," - [x] Closes #3747 - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2020-02-04T16:58:33Z,2020-02-14T10:53:35Z,2020-02-05T16:03:52Z,2020-02-05T16:03:52Z,52ee5dfe73b51b55cc90f2140f2cd54a2e7946a0,,,0,b248bacb4a269b3b9e68854c562fc8216007363d,4c96d53e6caa78d56b785f4edee49bbd4037a82f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3749, 381002156,MDExOlB1bGxSZXF1ZXN0MzgxMDAyMTU2,3805,closed,0,un-xfail tests that append to netCDF files with scipy,10194086," - [x] Closes #2019 - [ ] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API - [x] reverts #2021 Let's see if this passes....",2020-02-27T18:23:56Z,2021-10-18T14:06:14Z,2020-03-09T07:18:07Z,2020-03-09T07:18:07Z,f4ebbfef8f317205fba9edecadaac843dfa131f7,,,0,63f1efb2fd7d5d58aaef47e13c673c9fc2f7f3bd,203c3f4ee1b4220b3fa3a073b5412fb7bd72525b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3805, 385522912,MDExOlB1bGxSZXF1ZXN0Mzg1NTIyOTEy,3849,closed,0,update installation instruction,10194086," - [x] Closes #3756 - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2020-03-09T11:14:13Z,2021-10-18T14:06:16Z,2020-03-09T14:07:03Z,2020-03-09T14:07:03Z,1db010bb1f84c63c45c1317a78e89362587e1423,,,0,d80e734d43553692d8d5c97ac43581b351d34d92,9f97c4384f6456a5582f2bf7277c90be110fce92,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3849, 399271341,MDExOlB1bGxSZXF1ZXN0Mzk5MjcxMzQx,3938,closed,0,allow multiindex levels in plots,10194086," - [x] Closes #3927 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2020-04-05T22:10:33Z,2020-08-19T13:11:31Z,2020-05-25T16:32:15Z,2020-05-25T16:32:15Z,bdb1d331ac685fbc1371a3b98a795545e1682e7e,,,0,7d34b6ee0bd18695628939747adcaf729ba9fd07,f3ffab7ee4593c97e2ae63f22140d0a823a64b6d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3938, 412618805,MDExOlB1bGxSZXF1ZXN0NDEyNjE4ODA1,4022,closed,0,Fix/apply ufunc meta dtype,10194086," - [x] Closes #4015 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2020-05-03T15:21:09Z,2020-08-19T13:11:43Z,2020-08-14T08:32:43Z,,c9faa16b8439fd50fac7a366f9a1dc76fa926dfe,,,0,1e7256a9cec359a9aa65bd4f0078fbea90da8eea,7bf9df9d75c40bcbf2dd28c47204529a76561a3f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4022, 419675455,MDExOlB1bGxSZXF1ZXN0NDE5Njc1NDU1,4075,closed,0,Fix bool weights,10194086," - [x] Closes #4074 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2020-05-18T18:42:05Z,2020-08-19T13:11:40Z,2020-05-23T21:06:19Z,2020-05-23T21:06:19Z,f3ffab7ee4593c97e2ae63f22140d0a823a64b6d,,,0,5650db2b9076787d848fa180e4b752aa578629c4,19b088636eb7d3f65ab7a1046ac672e0689371d8,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4075, 431208334,MDExOlB1bGxSZXF1ZXN0NDMxMjA4MzM0,4130,closed,0,Fix: apply_ufunc with exclude_dims and vectorize,10194086," - [x] Closes #3890 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API This would be pretty useful when using `apply_ufunc` for e.g. statistical tests that require `vectorize=True` and can consume data of unequal length (i.e. uses `exclude_dims`). This should also extend to dask arrays with `dask=""parallelized""` once #4060 is implemented.",2020-06-08T15:03:04Z,2020-08-24T13:37:54Z,2020-08-24T13:37:50Z,2020-08-24T13:37:49Z,a75248a499f9445fee9b994b0ce688e377712086,,,0,0d98e3d5e7fef4e6ff3822a51d97f5de1046943b,34aa056320654868e1f4591e1c8f466bae85efb7,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4130, 468005724,MDExOlB1bGxSZXF1ZXN0NDY4MDA1NzI0,4339,closed,0,str accessor inconsistencies #4334,10194086," - [x] Closes #4334 - [x] Tests added - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` ",2020-08-14T14:09:56Z,2020-08-15T16:39:37Z,2020-08-15T10:28:05Z,2020-08-15T10:28:05Z,e6c111355137a123488c8dad48d473b32e9e5366,,,0,965bdb8a40ee0e97adf00f69663b607880943903,3b5a8ee46be7fd00d7ea9093d1941cb6c3be191c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4339, 468208998,MDExOlB1bGxSZXF1ZXN0NDY4MjA4OTk4,4340,closed,0,pin matplotlib in ci/requirements/doc.yml,10194086,"I realised that matplotlib is not listed in `ci/requirements/doc.yml` I think it is drawn as cartopy is required. But that's not the reason for this PR - matplotlib 3.3.1 came out 3 hours ago (https://anaconda.org/conda-forge/matplotlib) and I think this breaks the doc build. So let's test this. ",2020-08-14T22:29:34Z,2020-08-14T23:18:15Z,2020-08-14T23:11:26Z,2020-08-14T23:11:26Z,3b5a8ee46be7fd00d7ea9093d1941cb6c3be191c,,,0,7a127b51df00e15feb74caaa916367d362dda660,38b01446842993117baa19e3363f20dd0caf2032,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4340, 468515533,MDExOlB1bGxSZXF1ZXN0NDY4NTE1NTMz,4346,closed,0,annotate concat,10194086," - [x] Closes #4238 - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` The issue mentions `xr.Dataset.to_dataframe` and `xr.concat`. `xr.Dataset.to_dataframe` was [annotated](https://github.com/pydata/xarray/blob/26547d19d477cc77461c09b3aadd55f7eb8b4dbf/xarray/core/dataset.py#L4566) in #4333, so only `xr.concat` is left. ",2020-08-16T23:52:14Z,2020-08-19T20:32:42Z,2020-08-19T20:32:37Z,2020-08-19T20:32:37Z,68d0e0d25b498da14414af6e56e33f55ae4674f1,,,0,f88ac4ba44bdc4481d4bbc11dbecfac7858b8ea1,26547d19d477cc77461c09b3aadd55f7eb8b4dbf,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4346, 471878653,MDExOlB1bGxSZXF1ZXN0NDcxODc4NjUz,4365,closed,0,Silence plot warnings,10194086," - [x] Towards #3266 - [x] Tests added - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` I gave a try to silence some of the warning for the plotting functions. I brought it down from 67 to 5 (4 of which come from external libraries). - [x] `MatplotlibDeprecationWarning: The 'extend' parameter to Colorbar has no effect because it is overridden by the mappable; it is deprecated since 3.3 and will be removed two minor releases later.` - [x] `MatplotlibDeprecationWarning: You are modifying the state of a globally registered colormap. In future versions, you will not be able to modify a registered colormap in-place. To remove this warning, you can make a copy of the colormap first. cmap = copy.copy(mpl.cm.get_cmap(""viridis""))` - [x] `MatplotlibDeprecationWarning: Passing parameters norm and vmin/vmax simultaneously is deprecated since 3.3 and will become an error two minor releases later. Please pass vmin/vmax directly to the norm when creating it.` - [ ] `MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading']. This will become an error two minor releases later.` See #4364 - [x] `UserWarning: Requested projection is different from current axis projection, creating new axis with requested projection.` - [x] Made sure all figures are closed at the end of a test. - [x] Added a meta-test to ensure all figures will be closed if tests are added in the future I cannot exclude that one of these changes has an effect on the plots that is not tested in the suite... Tests pass locally for py38 and py36-bare-minimum. ",2020-08-21T22:21:40Z,2020-08-24T16:05:13Z,2020-08-24T16:00:42Z,2020-08-24T16:00:42Z,d3536b9a6e92f97401865d9daf5d48cee52e40da,,,0,f87631a3d803ce2bd00cd10b6b9fac37d258d5bf,43a2a4bdf3a492d89aae9f2c5b0867932ff51cef,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4365, 472318350,MDExOlB1bGxSZXF1ZXN0NDcyMzE4MzUw,4371,closed,0,mention all ignored flake8 errors,10194086,"and put the comment on the same line ",2020-08-24T07:17:03Z,2021-10-18T14:06:18Z,2020-08-24T10:45:05Z,2020-08-24T10:45:05Z,ece8f4a7b356e8e63598c9e17ec82be8dc4be80f,,,0,6d01156c40589a652069f1a831d516ee7d5696a5,34aa056320654868e1f4591e1c8f466bae85efb7,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4371, 486644599,MDExOlB1bGxSZXF1ZXN0NDg2NjQ0NTk5,4423,closed,0,fix: min_counts for non-nan sum and prod,10194086," - [x] Closes #4352 - [x] Tests added - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` I see two methods how to fix this (see code). I would prefer Method 1 - but maybe you don't want to add method-specific code to `_create_nan_agg_method`? Anyone an opinion?",2020-09-14T14:04:49Z,2020-10-02T20:11:12Z,2020-10-02T09:28:27Z,2020-10-02T09:28:27Z,333e8dba55f0165ccadf18f2aaaee9257a4d716b,,,0,dcd494b0fca0b332f671c6f9782d09da960b9bc9,5296ed18272a856d478fbbb3d3253205508d1c2d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4423, 486825758,MDExOlB1bGxSZXF1ZXN0NDg2ODI1NzU4,4424,closed,0,fix doc dataarray to netcdf,10194086," - [x] Closes #4413 Or would you prefer to have the parameter documentation from `Dataset.to_netcdf` copied over? @raybellwaves @keewis https://xray--4424.org.readthedocs.build/en/4424/generated/xarray.DataArray.to_netcdf.html#xarray.DataArray.to_netcdf",2020-09-14T19:10:50Z,2020-09-17T12:59:13Z,2020-09-17T12:59:09Z,2020-09-17T12:59:09Z,b0d8d93665dbb6d28e33dfd28ad27036c20c60bf,,,0,c84b78d314f67ca6fafd4096480c990a118b6420,66ab0ae4f3aa3c461357a5a895405e81357796b1,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4424, 497994039,MDExOlB1bGxSZXF1ZXN0NDk3OTk0MDM5,4488,closed,0,unpin matplotlib for docs again,10194086," - [x] Closes #4342 mpl 3.3.2 is out so we can try to unpin the version of the docs again. #4313",2020-10-05T17:06:07Z,2020-10-06T14:43:54Z,2020-10-06T14:43:50Z,2020-10-06T14:43:50Z,544bbe204362709fb6c2d0a4176e1646954ceb9a,,,0,e736421cb2f24d9bd6911f17fec6737ae52f8852,45aab423b61c99278dd9b4d8a21915647afae623,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4488, 498591767,MDExOlB1bGxSZXF1ZXN0NDk4NTkxNzY3,4492,closed,0,remove pynio from most test envs,10194086," - xref #4491 ",2020-10-06T14:31:11Z,2020-10-12T12:08:51Z,2020-10-11T15:16:28Z,2020-10-11T15:16:28Z,026bc0b186da71c08a3c1180e7b734a5a440d07f,,,0,617519572fda83bc9c32e4b28b8c401e6531be7f,45aab423b61c99278dd9b4d8a21915647afae623,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4492, 501206299,MDExOlB1bGxSZXF1ZXN0NTAxMjA2Mjk5,4503,closed,0,combine_by_coords: error on differing calendars,10194086," - [x] Closes #4495 - [x] Tests added - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` Let's see if all tests pass or if the `numeric_only` keyword is new in pandas.",2020-10-11T21:06:37Z,2020-10-13T07:03:37Z,2020-10-13T07:03:24Z,2020-10-13T07:03:24Z,92e49f9f941de0d9511064ad05819dc6c4fcfed0,,,0,9c979706d48fdd8ddba5bdc80f617f5b4a73b38a,569a4da18229aed391886ef768132f3d6d64fb30,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4503, 501388801,MDExOlB1bGxSZXF1ZXN0NTAxMzg4ODAx,4504,closed,0,maint: remove stray spaces,10194086," - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` Removes stray spaces. Mostly from black removing newlines, e.g.: ```python raise ValueError(""this text was "" ""formerly on two lines."") ``` also found one potential bug (missing comma)",2020-10-12T07:45:46Z,2020-10-13T10:07:25Z,2020-10-12T16:12:33Z,2020-10-12T16:12:33Z,98e96923293aa8d21e2339e5c890df8c2633493f,,,0,69f127f285b8e5bf3a60c83ce5928e10d20f27ea,569a4da18229aed391886ef768132f3d6d64fb30,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4504, 501770968,MDExOlB1bGxSZXF1ZXN0NTAxNzcwOTY4,4505,closed,0,workaround for failing dask zeros_like,10194086," - [x] Closes #4502 - [x] Passes `isort . && black . && mypy . && flake8` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst`",2020-10-12T19:34:59Z,2020-10-16T12:18:59Z,2020-10-16T12:18:54Z,,6b5051be785ce2d1b9198e3ceabf89a8b9f6cccd,,,1,277be41ca3aa6af241b7f41d36b0e5c99ba4e0e0,98e96923293aa8d21e2339e5c890df8c2633493f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4505, 503704682,MDExOlB1bGxSZXF1ZXN0NTAzNzA0Njgy,4510,closed,0,rolling keep_attrs & default True,10194086," - [x] Closes #4497 - [x] Tests added - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` Only global attributes were retained for `rolling` operations. `DataArray`s would loose their attrs. As per https://github.com/pydata/xarray/issues/3891#issuecomment-612522628 I also changed the default to `True`. Note #4497 also mentions propagation of the name. This is not yet implemented. ",2020-10-14T23:12:16Z,2020-11-09T19:10:24Z,2020-11-09T15:35:41Z,2020-11-09T15:35:41Z,17358922d480c038e66430735bf4c365a7677df8,,,0,a44af888f548e3c2bd346f01d3d015750179f11e,7ce0110f727b37a776d509174365cf0905163234,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4510, 503711499,MDExOlB1bGxSZXF1ZXN0NTAzNzExNDk5,4511,closed,0,fix all-but-dask tests,10194086," - [x] Closes #4509 - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` ",2020-10-14T23:33:24Z,2020-10-18T15:31:05Z,2020-10-18T15:30:59Z,2020-10-18T15:30:59Z,d7f445e46abaf42c296f68aa36b14c38b3c8155f,,,0,b74fc41df885cc5c501900701aae545c4744b7d3,db4f03e467d13229512f8f7924dc142db1b9486b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4511, 505481955,MDExOlB1bGxSZXF1ZXN0NTA1NDgxOTU1,4520,closed,0,doc.yml: pin eccodes,10194086," Fixes the failing doc builds, see #4521 ",2020-10-18T14:30:04Z,2020-10-18T17:48:04Z,2020-10-18T15:29:47Z,2020-10-18T15:29:46Z,dfe5de7ebd49ad105f3ae48750afbf784013060f,,,0,7d5b28bfad6620ad4bfa005be788222c32c7774e,15537497136345ed67e9e8b089bcd4573df0b2ea,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4520, 506277998,MDExOlB1bGxSZXF1ZXN0NTA2Mjc3OTk4,4525,closed,0,unpin eccodes again,10194086," - [x] Closes #4521 - [x] Passes `isort . && black . && mypy . && flake8` That was fast - eccodes already fixed the issue.",2020-10-19T21:07:23Z,2021-10-18T14:06:27Z,2020-10-19T22:21:13Z,2020-10-19T22:21:13Z,2ce1cfc3e33f4ac7b420a51ac54f39dff1ce008c,,,0,6a6d908e7dae4ef8933ed139a982235ad5e8265a,0f0a5ed8521172bd1e9e217c6fd6db8e23d5be56,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4525, 511361163,MDExOlB1bGxSZXF1ZXN0NTExMzYxMTYz,4546,closed,0,maint: pandas can now index with np.timedelta64,10194086,"pandas-dev/pandas#20393 was resolved in pandas version 0.23, so this should no longer be necessary. The relevant test is https://github.com/pydata/xarray/blob/063606b90946d869e90a6273e2e18ed24bffb052/xarray/tests/test_dataarray.py#L955-L957 so let's see if this passes",2020-10-28T08:11:20Z,2020-10-30T14:04:20Z,2020-10-30T10:32:50Z,2020-10-30T10:32:49Z,ef910b9f40f7ebe6528781a1418ddc40915952bb,,,0,6dc41c7fd8f3cefe0b99993cd6948f7d795046b8,063606b90946d869e90a6273e2e18ed24bffb052,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4546, 517650295,MDExOlB1bGxSZXF1ZXN0NTE3NjUwMjk1,4568,closed,0,pd.Index: replace set operations,10194086," - [x] Closes #4565 - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` Pandas will change `pd.Index.__or__` and `pd.Index.__and__`. Use `pd.Index.union` and `pd.Index.intersection` inseated. There should be no change in functionality. ",2020-11-09T10:18:32Z,2020-11-09T21:26:44Z,2020-11-09T19:08:36Z,2020-11-09T19:08:35Z,f10a6fe273402015a7caab26bf66d6923b35169b,,,0,2fe6495a2ebf3747bf384c12ff01ab7241ac9448,7ce0110f727b37a776d509174365cf0905163234,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4568, 517704926,MDExOlB1bGxSZXF1ZXN0NTE3NzA0OTI2,4569,closed,0,pin h5py to v2.10,10194086,"There is a compatibility issue with h5py v3. Pin h5py to version 2 for the moment. I can open an issue shortly. ",2020-11-09T11:46:39Z,2021-10-18T14:06:28Z,2020-11-09T12:52:27Z,2020-11-09T12:52:27Z,7ce0110f727b37a776d509174365cf0905163234,,,0,f5982578cba612ff8bb1516373fad28d07261b89,c02b805499a16a0cd3d745734d59ec70d76e1293,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4569, 520605452,MDExOlB1bGxSZXF1ZXN0NTIwNjA1NDUy,4581,closed,0,update mypy to 0.790,10194086," - [x] Closes #4571 ",2020-11-13T14:14:51Z,2020-11-13T20:09:17Z,2020-11-13T19:38:06Z,2020-11-13T19:38:05Z,dd9fe2a8a414ddefa3b04b934163c9ccc628c5c7,,,0,8c6832681066d313fc9289f48b8bdfb3d79ed5e6,b76a13f042571d01ca07461f13125a030f7297ea,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4581, 523159163,MDExOlB1bGxSZXF1ZXN0NTIzMTU5MTYz,4590,closed,0,suppress 'ambiguous reference date string' warning,10194086," Follow up to #4506 Suppress some `""Ambiguous reference date string""` warnings. See e.g.: https://dev.azure.com/xarray/xarray/_build/results?buildId=4233&view=logs&j=2280efed-fda1-53bd-9213-1fa8ec9b4fa8&t=175181ee-1928-5a6b-f537-168f7a8b7c2d&l=361 ",2020-11-18T12:44:52Z,2020-12-13T13:16:55Z,2020-11-19T16:46:39Z,2020-11-19T16:46:39Z,19c2626f4beb1678180489275b152f9bb1673721,,,0,8725db689825e937f29fe950c78be79e63eb778b,764ffc95af41602b7ba216bad4be438330c3dc45,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4590, 523486346,MDExOlB1bGxSZXF1ZXN0NTIzNDg2MzQ2,4592,closed,0,rolling_exp: keep_attrs and typing,10194086," - [x] Towards #4513 - [x] Tests added - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` ",2020-11-18T21:29:12Z,2020-11-23T10:04:22Z,2020-11-20T19:39:11Z,2020-11-20T19:39:11Z,4be6653a0cebc368998e4fe69c0f35231aa39621,,,0,2276992026db7686ae181c106227d3e0c613c6c9,764ffc95af41602b7ba216bad4be438330c3dc45,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4592, 526493552,MDExOlB1bGxSZXF1ZXN0NTI2NDkzNTUy,4606,closed,0,update sphinx to v3.3,10194086," - [x] Closes #4487 Thanks for the pointer @keewis. Let's see if this works.",2020-11-24T13:51:31Z,2020-11-24T15:02:00Z,2020-11-24T14:52:10Z,2020-11-24T14:52:09Z,bad150f515df5fbb82f586f8901458bff529985c,,,0,99b4c4a995747a766123bfb3a056319ad58e8b94,603c37d037bc3f97665484b86ff62cd4e173844a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4606, 529078404,MDExOlB1bGxSZXF1ZXN0NTI5MDc4NDA0,4616,closed,0,don't type check __getattr__,10194086," - [x] Closes #4601 - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` It's not pretty as I had to define a number of empty methods... I think this should wait for 0.17",2020-11-29T08:53:09Z,2022-01-26T08:41:18Z,2021-10-18T14:06:30Z,,5b4035194d3c7471eb3ac85639d3b0f0f4ba0aea,,,1,6cdae75aa00fefc069ffe056e08c3661a4958892,1a4f7bd3a61072784456d51431d75c65ac3500f9,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4616, 529139245,MDExOlB1bGxSZXF1ZXN0NTI5MTM5MjQ1,4617,closed,0,weighted: de-parameterize tests,10194086,I feel I overdid it a bit with the parameterizations of the weighted tests. This brings the number of tests of `test_weighted.py` from about 1000 down to less than 200 without changing the coverage.,2020-11-29T17:01:36Z,2020-12-01T09:06:34Z,2020-12-01T09:06:31Z,2020-12-01T09:06:30Z,a41edc7bf5302f2ea327943c0c48c532b12009bc,,,0,d8470353f43498637d5beb98ab106a849661c234,1a4f7bd3a61072784456d51431d75c65ac3500f9,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4617, 530821997,MDExOlB1bGxSZXF1ZXN0NTMwODIxOTk3,4640,closed,0,pin pip for upstream-dev,10194086,"Our upstream-dev is failing again. See numpy/numpy#17885 and pypa/pip#9186 for the probable cause. So this will need to be fixed upstream first. ",2020-12-02T07:45:42Z,2020-12-02T17:14:08Z,2020-12-02T16:52:30Z,2020-12-02T16:52:29Z,7152b41fa80a56db0ce88b241fbe4092473cfcf0,,,0,f44a498112ac6ca82989a3df4dd675422c19e3f9,9396605d8358a621c89478dbbd286b1b4cd72e64,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4640, 533274467,MDExOlB1bGxSZXF1ZXN0NTMzMjc0NDY3,4656,closed,0,unpin pip 20.2 again,10194086,Another enormous PR from my side ;) unpin pip again. numpy probably fixed the issue re the name of the nightly build. But I also need to doublecheck if scipy is ok.,2020-12-06T22:00:12Z,2021-10-18T14:06:34Z,2021-04-18T21:42:25Z,2021-04-18T21:42:25Z,90014d4280b23b0f993d0c9b46967cb78030ab24,,,0,ca178e7b838ca102b1bed2e3728e65eb462d7422,3cbd21aa8fd3a57c0dd324f2a276d83829518331,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4656, 535078632,MDExOlB1bGxSZXF1ZXN0NTM1MDc4NjMy,4664,closed,0,rasterio no geotransform: update warning message,10194086," rasterio slightly changed an error message, so it's no longer ignored. Also switched to `pytest.mark.filterwarnings`. This makes the diff larger but saves a level of indendation. https://github.com/pydata/xarray/runs/1508035460#step:6:322",2020-12-09T10:34:52Z,2020-12-11T22:31:49Z,2020-12-11T22:31:45Z,2020-12-11T22:31:45Z,e61672c44c62ee23eb89868cd7b89c0d577386ae,,,0,2021f51810c166d40be98f80a9071b1b3e85818e,ff6b1f542e52dc330e294fd367f846e02c2955a2,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4664, 535180047,MDExOlB1bGxSZXF1ZXN0NTM1MTgwMDQ3,4666,closed,0,upstream-dev: mention sparse,10194086,"sparse is removed as conda package but not re-installed (https://github.com/pydata/xarray/blob/9802411b35291a6149d850e8e573cde71a93bfbf/ci/install-upstream-wheels.sh) I assume this is not intentional, @andersy005?",2020-12-09T13:28:32Z,2020-12-10T09:47:00Z,2020-12-10T09:46:57Z,2020-12-10T09:46:57Z,8915058f683c1b4928101a9fcd89bdcbe90da039,,,0,fd8bd12078452e0c1a8d684f80d14530ab6f92d6,9802411b35291a6149d850e8e573cde71a93bfbf,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4666, 535961051,MDExOlB1bGxSZXF1ZXN0NTM1OTYxMDUx,4672,closed,0,CI setup: use mamba and matplotlib-base,10194086,"Closes #4671 ok let's start with the simplest one - [x] switch to the newest windows image (does not help) - [x] use mamba to resolve dependencies - [x] use matplotlib-base - [x] find the slowest tests using `py.test xarray/tests/ --durations=100` - [ ] de-parametrize tests with a slow setup (if possible) - [x] reduce the number of xfails (#4685) - [ ] other ideas?",2020-12-10T14:05:29Z,2020-12-15T16:40:42Z,2020-12-15T16:40:38Z,2020-12-15T16:40:37Z,51ef2a66c4e0896eab7d2b03e3dfb3963e338e3c,,,0,03191f30259076172ed6627bee6c1ab380a3e79e,96e1aea0271aeeeda7c8f33a8491d5e2a06f9ddc,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4672, 539838538,MDExOlB1bGxSZXF1ZXN0NTM5ODM4NTM4,4694,closed,0,CI: run tests in parallel (pytest-xdist),10194086," - [x] Closes #3263, potentially part of #4671 It's worth a try. ",2020-12-14T22:23:04Z,2020-12-17T22:54:37Z,2020-12-17T22:33:46Z,2020-12-17T22:33:46Z,5bd1a42451759d9f4e1eb7b640bc7e176f5b4f95,,,0,f5104bb099aa6b7319a75bbd09512e7b38444f37,138679748558f41cd28f82a25046bc96b1c4d1ef,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4694, 542181825,MDExOlB1bGxSZXF1ZXN0NTQyMTgxODI1,4706,closed,0,use conda for upstream dev uninstall again,10194086,"#4694 was just merged a bit too soon. Unfortunately using `mamba` to uninstall the packages for upstream dev did not work - it uninstalled too much, thus switch back to conda. I'll just merge right away. @dcherian",2020-12-17T22:54:04Z,2020-12-17T22:54:18Z,2020-12-17T22:54:15Z,2020-12-17T22:54:15Z,20d51cc7a49f14ff5e16316dcf00d1ade6a1c940,,,0,0d93c4f954adf08806dca78469fbaa8a2ba5df74,5bd1a42451759d9f4e1eb7b640bc7e176f5b4f95,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4706, 542997241,MDExOlB1bGxSZXF1ZXN0NTQyOTk3MjQx,4716,closed,0,.coveragerc omit: wildcards,10194086," - [x] Closes #4693 ",2020-12-20T00:26:59Z,2021-04-19T20:34:07Z,2020-12-20T00:48:43Z,2020-12-20T00:48:43Z,c45415a2c14776167f80c60dd4f2b05f4fbb6bbf,,,0,129056d91ef26e080092c4fa80a5c70d1177f917,f075345e1b83663a7af292cfee4a167c2881e273,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4716, 548186360,MDExOlB1bGxSZXF1ZXN0NTQ4MTg2MzYw,4759,closed,0,coords: retain str dtype,10194086," - [x] Closes #2658, closes #4543 - [x] Tests added - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` `pd.Index(""a"")` has dtype `object`. Therefore string coords change their dtype on certain operations - e.g. `align`, `__setitem__` (& `assign`), `IndexVariable.concat`. This can be avoided by using the coords instead of the index in some cases but in two instances it was unavoidable to cast a `pd.Index` back to a `np.array`. I probably did not catch all of these conversions. What I am not sure: does this somehow contradict the index refactor? ",2021-01-04T11:17:53Z,2021-01-13T17:18:28Z,2021-01-13T17:09:06Z,2021-01-13T17:09:05Z,fb67358ceb0c386560e6a6991dd937292ba54d46,,,0,4f23a3c1d18286adcd6677e44a030b1547cd9435,f52a95cbe694336fe47bc5a42c713bee8ad74d64,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4759, 548225043,MDExOlB1bGxSZXF1ZXN0NTQ4MjI1MDQz,4760,closed,0,WIP: testing.assert_* check dtype,10194086," - [x] Closes #4727 - [ ] Tests added - [ ] Passes `isort . && black . && mypy . && flake8` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` --- This adds a dtype check for `equal`, `identical`, `broadcast_equal`, and the `xr.testing.assert_*` functions. It is far from complete: tests and documentation are still missing, but I wanted to get it online for feedback. When I set `check_dtype=True` there are around 600 failures. Fixing that is for another PR. #4759 should help a bit. - [ ] I added the checks to `lazy_array_equiv`, however, sometimes dask can get the dtype wrong before the compute (see below). Do you think I need to put it in the non-lazy part? ```python import numpy as np import xarray as xr da = xr.DataArray(np.array([0, np.nan], dtype=object)).chunk() da.prod().dtype # -> dtype('O') da.prod().compute().dtype # -> dtype('int64') ``` - [ ] `check_dtype` is still missing from `assert_duckarray_allclose` & `assert_duckarray_equal` - do you think there are required? - [ ] The dtypes of array elements are not tested (see below). I don't think I'll implement that here. ```python da0 = xr.DataArray(np.array([0], dtype=object)) da1 = xr.DataArray(np.array([0.], dtype=object)) xr.testting.assert_equal(da0, da1, check_dtype=True) ``` ",2021-01-04T12:45:00Z,2022-01-26T08:41:17Z,2021-10-18T14:06:38Z,,0d1ec605581a431a3af7d992f7a73f4120af3a97,,,1,acacfb0c784e5fb66f282423b5bb95e9b9d82545,2bb5d20fb2b4158390ab05aa6bf598b78f2caa9d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4760, 550573638,MDExOlB1bGxSZXF1ZXN0NTUwNTczNjM4,4773,closed,0,CI: ignore some warnings,10194086," - [x] Part of #3266 - [x] Passes `isort . && black . && mypy . && flake8` Supresses 3 warnings we get in the test suite. Two are trivial. The third is `PytestUnraisableExceptionWarning: Exception ignored in: CachingFileManager.__del__`: - The test triggers an error is in `CachingFileManager.__init__`: https://github.com/pydata/xarray/blob/31d540f9d668fc5f8c1c92165f950c568778db01/xarray/tests/test_backends_file_manager.py#L205-L207 - It then tries to run `__del__` but there is an error because an attribute is not available (as `__init__` failed) https://github.com/pydata/xarray/blob/31d540f9d668fc5f8c1c92165f950c568778db01/xarray/backends/file_manager.py#L238 - However, errors in `__del__` are ignored, therefore we get a `PytestUnraisableExceptionWarning` I decided to suppress the error and not fix `CachingFileManager` as I think that's nothing user-facing...",2021-01-06T17:34:05Z,2021-01-07T21:00:31Z,2021-01-07T21:00:27Z,2021-01-07T21:00:27Z,01a0fafdb385872c52473262bb980f933ed570d6,,,0,9e643cb00ea8078c4d5448942e0112335304d497,31d540f9d668fc5f8c1c92165f950c568778db01,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4773, 553809536,MDExOlB1bGxSZXF1ZXN0NTUzODA5NTM2,4802,closed,0,fix decode for scale/ offset list,10194086," - [x] Closes #4631 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` cc @gerritholl, @rabernat

Overriding CI behaviors

By default, the upstream dev CI is disabled on pull request and push events. You can override this behavior per commit by adding a `[test-upstream]` tag to the first line of the commit message. For documentation-only commits, you can skip the CI per commit by adding a `[skip-ci]` tag to the first line of the commit message
",2021-01-12T22:50:26Z,2021-01-19T15:05:04Z,2021-01-15T18:19:56Z,2021-01-15T18:19:56Z,a2b1712afd957deaf189c9b1a04e469596d853c9,,,0,bfb53866913d7b4d083316fca9668ef217594d41,84df75d366edaaa0af172047145a3409cac9bb3a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4802, 556198867,MDExOlB1bGxSZXF1ZXN0NTU2MTk4ODY3,4818,closed,0,weighted: small improvements,10194086,Small improvement to `weighted` - more accurate typing and using `_to_temp_dataset` & `map`. No user facing changes.,2021-01-16T16:30:38Z,2021-01-27T08:05:34Z,2021-01-27T08:05:31Z,2021-01-27T08:05:31Z,9fea799761ae178e586c59d1a67f480abecf2637,,,0,3c547ed36cb91e74328c1a74ccedc893f3ac862c,a0c71c1508f34345ad7eef244cdbbe224e031c1b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4818, 561876989,MDExOlB1bGxSZXF1ZXN0NTYxODc2OTg5,4845,closed,0,iris update doc url,10194086," iris moved its documentation to https://scitools-iris.readthedocs.io/en/stable/",2021-01-26T15:51:18Z,2021-10-18T14:06:31Z,2021-01-26T17:30:20Z,2021-01-26T17:30:20Z,d524d72c6cc97a87787117dd39c642254754bac4,,,0,63d2f4f21fa63d8ad0009a7d7beffb4b5b0b3fee,a0c71c1508f34345ad7eef244cdbbe224e031c1b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4845, 568538684,MDExOlB1bGxSZXF1ZXN0NTY4NTM4Njg0,4864,closed,0,ensure warnings cannot become errors in assert_,10194086," - [ ] see https://github.com/pydata/xarray/pull/4760#issuecomment-774101639 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` ",2021-02-05T18:36:07Z,2021-02-08T20:08:12Z,2021-02-08T17:33:38Z,2021-02-08T17:33:38Z,45c3618050ed303228e4bb8011d3068eb2b80f3c,,,0,604c8114a6c3a4fa177ffd9234a84e101f9c006f,4e97b33cd0f2f272d5c4c17db9caf7a8cb84ca2d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4864, 568550411,MDExOlB1bGxSZXF1ZXN0NTY4NTUwNDEx,4865,closed,0,fix da.pad example for numpy 1.20,10194086," - [x] Closes #4858 - [x] Passes `pre-commit run --all-files`",2021-02-05T19:00:04Z,2021-10-18T14:06:33Z,2021-02-07T21:57:34Z,2021-02-07T21:57:34Z,ec7f628bf38b37df213fe3b5ad68d3f70824b864,,,0,1c181f91ad400af44165a7d372e8a8a4b67b824f,5735e163bea43ec9bc3c2e640fbf25a1d4a9d0c0,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4865, 569044732,MDExOlB1bGxSZXF1ZXN0NTY5MDQ0NzMy,4878,closed,0,typing for numpy 1.20,10194086,"numpy v1.20.0 introduced type hints which leads to some mypy errors in xarray. This is the minimum set of changes to make mypy happy again. I tried to avoid `#type: ignore` and `Any` but in some instances I think it was not worth it. I am sure there is much more fun to be had with numpy typing ;-) ",2021-02-07T20:32:27Z,2021-02-23T20:52:50Z,2021-02-23T20:52:47Z,2021-02-23T20:52:47Z,0f65307d6bd611767863edc50a2a755b9bb819ff,,,0,90aa55ddf7a858a0165e59713b82eddb8ffb9b2f,348eb481976673ea772bb8424dd2c3c33c0356c2,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4878, 569635121,MDExOlB1bGxSZXF1ZXN0NTY5NjM1MTIx,4883,closed,0,update pre-commit hooks (mypy),10194086," mypy v0.800 was ignoring our config (https://github.com/pydata/xarray/pull/4874#issuecomment-774771523)... Adding an (empty) `[mypy]` section to `setup.cfg` seems to do the trick, this is in contrast to the [documentation](https://mypy.readthedocs.io/en/stable/config_file.html#config-file-format) and may get changed again (c.f. python/mypy#9940), but it does not hurt either. @keewis ",2021-02-08T17:13:07Z,2021-02-08T17:47:18Z,2021-02-08T17:42:41Z,2021-02-08T17:42:41Z,59088a0a5dbbb6c62ba248caf19f984d05b18bc6,,,0,124ea3207048facae4e69d87830753dff257ca35,4e97b33cd0f2f272d5c4c17db9caf7a8cb84ca2d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4883, 575917663,MDExOlB1bGxSZXF1ZXN0NTc1OTE3NjYz,4923,closed,0,[skip-ci] doc: fix pynio warning,10194086," Small doc fix, see http://xarray.pydata.org/en/stable/io.html#formats-supported-by-pynio (the `..note::` did not get picked up) ",2021-02-18T19:09:00Z,2021-02-18T19:23:23Z,2021-02-18T19:23:20Z,2021-02-18T19:23:20Z,ae0a71b757ec82ed734f070f3c2d0e61b076ca6e,,,0,dc21871cb53a2bf833bb0b24b7f0ae2eeead3c37,c9b9eec73a033e275b6012e7d391dd42591ccf52,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4923, 576616335,MDExOlB1bGxSZXF1ZXN0NTc2NjE2MzM1,4929,closed,0,CI: run mypy in full env,10194086," - [x] Closes #4881 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` I only added one run for py3.8 latest. To be entirely sure we could also check the typing `py37-min-all-deps` but it feels like overkill... --- Ok, looks good - the failure is expected - see #4878. ",2021-02-19T17:47:28Z,2021-02-22T16:42:09Z,2021-02-22T16:33:51Z,2021-02-22T16:33:50Z,200c2b2df28bd477dbec863ac0837b901535c955,,,0,92854f4fe8b309bace97dd702b783e7dd4d0c7ef,88c5fd2638cd731fa90014a5b0f376ab190441d7,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4929, 578740336,MDExOlB1bGxSZXF1ZXN0NTc4NzQwMzM2,4946,closed,0,Upstream CI: limit runtime,10194086," - xref #4945 Try to limit the time of ""CI Upstream"" to avoid a silent failure.",2021-02-23T20:40:34Z,2021-02-24T14:37:04Z,2021-02-23T22:37:07Z,2021-02-23T22:37:07Z,df052e7431540fb435ac8742aabc32754a00a7f5,,,0,b4c170e2436ccfaafd33226c5ea2efaca4607efa,348eb481976673ea772bb8424dd2c3c33c0356c2,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4946, 582919852,MDExOlB1bGxSZXF1ZXN0NTgyOTE5ODUy,4982,closed,0,pin netCDF4=1.5.3 in min-all-deps,10194086," - [x] Closes #4970 The clean thing here would be to update `min_deps_check.py` so it works properly for this case. I am not sure it's really worth it.",2021-03-02T10:36:18Z,2021-03-08T09:10:20Z,2021-03-08T00:20:38Z,2021-03-08T00:20:38Z,7905c514a12fcbcaaeb634cab94733c7cbdd6ff2,,,0,b16183434f9bd8b905cfced6a30eef4315f50eae,48378c4b11c5c2672ff91396d4284743165b4fbe,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4982, 602632280,MDExOlB1bGxSZXF1ZXN0NjAyNjMyMjgw,5090,closed,0,ensure combine_by_coords raises on different types,10194086," - [x] Part of #5077 - [x] Tests added - [x] Passes `pre-commit run --all-files` ",2021-03-29T10:13:34Z,2021-03-31T15:53:23Z,2021-03-31T13:36:44Z,2021-03-31T13:36:44Z,57a4479fcd3ebc579cf00e0d6bf85007eda44b56,,,0,c0ca0a57a9dc30e2ab4c7cb75205c4929361799f,2bbac154ddacd6d6ec989b040130cd9afb8dc0a1,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5090, 604426161,MDExOlB1bGxSZXF1ZXN0NjA0NDI2MTYx,5096,closed,0,type: ignore - use error codes,10194086," - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` Adds error codes to all `# type: ignore` comments. mypy should raise if a different type of error is encountered. Also enable showing the error code for typing errors. See: [mypy: displaying-error-codes](https://mypy.readthedocs.io/en/stable/error_codes.html#displaying-error-codes). Also remove some `# type: ignore` that are no longer necessary.",2021-03-30T20:53:50Z,2021-04-01T10:23:56Z,2021-04-01T10:23:53Z,2021-04-01T10:23:53Z,1736e8f98d1cd5647b12f195a1e1ab2655e72094,,,0,5cd471013dce73efd42d128534fcac04eb2a77b1,ba47216ec1cd2f170fd85a10f232be7bf3ecc578,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5096, 625074609,MDExOlB1bGxSZXF1ZXN0NjI1MDc0NjA5,5227,closed,0,coarsen: better keep_attrs,10194086," - [x] Part of #4513 (maybe the last one - need to double check) - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` As per https://github.com/pydata/xarray/issues/3891#issuecomment-612522628 I also changed the default to `True`. ",2021-04-28T09:56:45Z,2021-10-18T14:06:35Z,2021-04-29T17:40:57Z,2021-04-29T17:40:57Z,9ce95a8ef3e63f553da33d4df7ed92afc5f182bb,,,0,31371034b3c80272b3c571b2ae73132f5f570482,0021cdab91f7466f4be0fb32dae92bf3f8290e19,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5227, 631170728,MDExOlB1bGxSZXF1ZXN0NjMxMTcwNzI4,5265,closed,0,Warn ignored keep attrs,10194086," - [x] Part of #4513 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` This PR warns when passing ` keep_attrs` to `resample(..., keep_attrs=True)` and `rolling_exp(..., keep_attrs=True)` as they have no effect (rightfully). Also removes `keep_attrs` from the docstring of `resample`.",2021-05-06T07:20:16Z,2021-10-18T14:06:37Z,2021-05-06T16:31:05Z,2021-05-06T16:31:05Z,477fc2f761f44e35782a4dfae4b35608b6138f0c,,,0,cc07493685ea70fd8a82bd70c8a0d0c22e370045,b883fead71757227ead714dcd490e5e2674c5964,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5265, 663805042,MDExOlB1bGxSZXF1ZXN0NjYzODA1MDQy,5449,closed,0,fix dask meta and output_dtypes error,10194086," - [x] Closes #5444 This was changed in dask/dask#7669. Looks like they did not deprecate this behavior (i.e. passing both `meta` and `output_dtypes`). I'd suggest to follow dask's example here and not add a deprecation cycle. Thoughts? ",2021-06-07T18:25:20Z,2021-06-08T07:51:50Z,2021-06-07T21:05:24Z,2021-06-07T21:05:24Z,34dc57717c82a86455a9e5abb0a47df782266c7e,,,0,a4cef6dac3fa5a84f144e56c63ce4b3b903681b4,ce01f42134962b63d453657c5cb649ebf152283d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5449, 663880225,MDExOlB1bGxSZXF1ZXN0NjYzODgwMjI1,5450,closed,0,plt.gca() no longer accepts kwargs,10194086,"matplotlib warns: `Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or plt.subplot().` This only uses `plt.gca()` if there are active axes, else it calls `plt.axes(**kwargs)`. Note that this can silently ignore some arguments. However, that this is already the case. ",2021-06-07T20:10:57Z,2021-06-09T17:27:02Z,2021-06-09T17:26:58Z,2021-06-09T17:26:58Z,136d6546415e5368be809fc66f127497b74b3f6a,,,0,ce0c36f125fac86023529f36f8daa2a76822e3a7,34dc57717c82a86455a9e5abb0a47df782266c7e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5450, 663916440,MDExOlB1bGxSZXF1ZXN0NjYzOTE2NDQw,5451,closed,0,Silence some test warnings,10194086," Silences a number of warnings that accumulated in our test suite (c.f. #3266). The changes are mostly unrelated but small. ",2021-06-07T21:12:50Z,2021-06-09T17:55:48Z,2021-06-09T17:27:21Z,2021-06-09T17:27:21Z,ff1fbf5fc5ccef03fe724a743e8b4e30cb1ae5d4,,,0,38f8d65e45039dfc19008b421606c0261869306f,34dc57717c82a86455a9e5abb0a47df782266c7e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5451, 676529648,MDExOlB1bGxSZXF1ZXN0Njc2NTI5NjQ4,5522,closed,0,typing for numpy 1.21,10194086," - [x] Closes #5517 - [x] Passes `pre-commit run --all-files` The minimal typing for numpy 1.21. As always I am by no means a typing specialist. ",2021-06-23T18:40:28Z,2021-10-18T14:05:47Z,2021-06-24T08:58:07Z,2021-06-24T08:58:06Z,c5ae48848b1fcf778e7a143b98ec30cf7a5a6ca8,,,0,36da00e9ddd12f1e19f803c143a9c38d56626ef0,27560080c6758469396f7e15e36b21801c6cd2c3,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5522, 760488221,PR_kwDOAMm_X84tVCEd,5875,closed,0,fix test with pseudonetcdf 3.2,10194086,"Fixes one part of #5872 pseudoNETCDF adds two attrs to ict files, which breaks the following two tests: Test 1: https://github.com/pydata/xarray/blob/07de257c5884df49335496ee6347fb633a7c302c/xarray/tests/test_backends.py#L3944 Test 2: https://github.com/pydata/xarray/blob/07de257c5884df49335496ee6347fb633a7c302c/xarray/tests/test_backends.py#L4030 I reproduced the test file so that the tests pass again. To reproduce the file I used the following bit of code: ```python import xarray as xr from xarray.tests import test_backends fN = ""xarray/tests/data/example.ict"" fmtkw = {""format"": ""ffi1001""} ds = xr.open_dataset(fN, engine=""pseudonetcdf"", backend_kwargs={""format"": ""ffi1001""}) c = test_backends.TestPseudoNetCDFFormat() c.save(ds, fN, **fmtkw) ``` The `save` method is here: https://github.com/pydata/xarray/blob/07de257c5884df49335496ee6347fb633a7c302c/xarray/tests/test_backends.py#L4124 @barronh I would appreciate your review here - I am not sure if this is the right approach. ",2021-10-18T13:49:23Z,2021-10-22T21:24:09Z,2021-10-22T21:23:34Z,2021-10-22T21:23:34Z,29e38db1758d522e220a1407079c6bac9ef691d2,,,0,d72c3be1d25ab1cefad057b391fc7157043e35c1,07de257c5884df49335496ee6347fb633a7c302c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5875, 766454369,PR_kwDOAMm_X84tryph,5899,closed,0,[test-upstream] fix pd skipna=None,10194086," - [x] Closes #5872 - [x] Passes `pre-commit run --all-files` pandas will disallow `skipna=None` (pandas-dev/pandas#44178) - this fixes a test which relies on this. I don't think we have any user facing use of this. AFAIK we don't use pandas for reductions anywhere)",2021-10-26T13:16:21Z,2021-10-28T11:54:49Z,2021-10-28T11:46:04Z,2021-10-28T11:46:04Z,c210f8b9e3356590ee0d4e25dbb21b93cf7a5309,,,0,2896fa98b1e82b465e5757da449c78864564b80f,fdabf3bea5c750939a4a2ae60f80ed34a6aebd58,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5899, 768993052,PR_kwDOAMm_X84t1ecc,5914,closed,0, #5740 follow up: supress xr.ufunc warnings in tests,10194086," #5740 changed `PendingDeprecationWarning` to `FutureWarning` - suppress the warnings again in the test suite. https://github.com/pydata/xarray/blob/36f05d70c864ee7c61603c8a43ba721bf7f434b3/xarray/ufuncs.py#L47-L49 ",2021-10-29T07:53:07Z,2022-01-26T08:41:41Z,2021-10-29T15:16:03Z,2021-10-29T15:16:03Z,ba00852d061a330adbb922a2485c4de92a99540d,,,0,4c8b551378c920c529c803ebf4e53fd1a83e2080,36f05d70c864ee7c61603c8a43ba721bf7f434b3,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5914, 801681886,PR_kwDOAMm_X84vyLHe,6077,closed,0,disable pytest-xdist (to check CI failure),10194086," Our CI fails with some pytest-xdist error. Let's see if we get a clearer picture when disabling parallel tests. (Maybe some interaction between dask and pytest-xdist?). ",2021-12-13T20:43:38Z,2022-01-03T08:30:02Z,2021-12-22T12:55:23Z,2021-12-22T12:55:23Z,5e8de55321171f95ed9684c33aa47112bb2519ac,,,0,6199a88d062af22ff6bef30140f0479fbcc99df1,f7bfd21c0becb172550d6d0282821526fcc4c4e3,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6077, 805386736,PR_kwDOAMm_X84wATnw,6082,closed,0,cftime: 'gregorian' -> 'standard' [test-upstream],10194086," - [x] Closes #6016 cftime 1.5.2 renames ""gregorian"" to ""standard"". AFAIK this only changes the repr of cftime indices and does not seem to influence the creation of cftime indices.",2021-12-17T13:51:07Z,2022-01-26T08:41:33Z,2021-12-22T11:40:05Z,2021-12-22T11:40:05Z,feaccc45756a762d6e4cf4894cade8bf352f03e2,,,0,2fa40562f530ca3935ecf59e83116264dbd7366c,dbc02d4e51fe404e8b61656f2089efadbf99de28,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6082, 807987394,PR_kwDOAMm_X84wKOjC,6096,closed,0,Replace distutils.version with packaging.version,10194086," - [x] Closes #6092 - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` One change is that it is no longer possible to compare to a string, i.e. `version.parse(xr.__version__) < ""0.20.0""` errors. As mentioned in #6092 there are 3 options - if there is a preference I am happy to update this PR. ```python from distutils.version import LooseVersion from packaging import version LooseVersion(xr.__version__) version.parse(xr.__version__) version.Version(xr.__version__) # currently: if LooseVersion(mod.__version__) < LooseVersion(minversion): pass # options: if version.parse(mod.__version__) < version.parse(minversion): pass if version.Version(mod.__version__) < version.Version(minversion): pass if Version(mod.__version__) < Version(minversion): pass ``` ",2021-12-22T00:51:21Z,2023-01-20T21:00:42Z,2021-12-24T14:50:48Z,2021-12-24T14:50:47Z,a2d968b8fc5e0749f3db58862296716068ce934d,,,0,a2d8c6d615f73f975a790b776d5a72faddc181c8,ddc500aaf6d6ab47fbd983f56bba7b5cf52d51d0,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6096, 807998825,PR_kwDOAMm_X84wKRVp,6097,closed,0,fix tests for h5netcdf v0.12,10194086," h5netcdf no longer warns for invalid netCDF (unless passing `save_kwargs = {""invalid_netcdf"": True}`. We need to adapt our tests. @kmuehlbauer --- edit: I added h5netcdf to the upstream tests - I can also revert this change if you prefer. ",2021-12-22T01:22:09Z,2021-12-23T20:29:33Z,2021-12-23T20:29:12Z,2021-12-23T20:29:12Z,ddc500aaf6d6ab47fbd983f56bba7b5cf52d51d0,,,0,1243470e53c2f418372eebc96e39409e6b43adba,5e8de55321171f95ed9684c33aa47112bb2519ac,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6097, 809757123,PR_kwDOAMm_X84wQ-nD,6107,closed,0,is_dask_collection: micro optimization,10194086,"In #6096 I realized that `DuckArrayModule(""dask"")` is called a lot in our tests - 145'835 times. Most of those are from `is_dask_collection` (`is_duck_dask_array`) This change avoids that the instance needs to be built every time. ```python import xarray as xr %timeit xr.core.pycompat.DuckArrayModule(""dask"").available %timeit xr.core.pycompat.dsk.available ``` ``` 18.9 µs ± 97.7 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each) 77.1 ns ± 1.22 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each) ``` Which leads to an incredible speed up of our tests of about 2.7 s :grin: ((18.9 - 0.0771) * 145835 / 1e6).",2021-12-24T15:04:42Z,2022-01-26T08:41:28Z,2021-12-29T16:27:55Z,2021-12-29T16:27:55Z,e391f131451ca8962106f2a146abd024b91e21e2,,,0,fa137f2473ac19309ddf06606ecf2a03a5012d36,a2d968b8fc5e0749f3db58862296716068ce934d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6107, 809904107,PR_kwDOAMm_X84wRifr,6108,closed,0,quantile: rename interpolation arg to method,10194086," numpy/numpy#20327 introduces some changes to `np.quantile` (and related) for the upcoming numpy release (v1.22.0). It renames the `interpolation` keyword to `method` and offers some new interpolation methods. This PR does two things 1. it restores compatibility with numpy 1.22 2. it renames the `interpolation` keyword to `method` in xarray - this change is not strictly necessary but I thought better to be consistent with numpy - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` (Side note in `dask.array.percentile` the `method` keyword is used differently from the `interpolation` keyword ([docs](https://docs.dask.org/en/stable/generated/dask.array.percentile.html#dask.array.percentile)). However, xarray does not use the dask function.) --- TODO: need to import `ArrayLike` from npcompat. ",2021-12-25T15:06:44Z,2022-02-08T17:09:47Z,2022-02-07T09:40:05Z,2022-02-07T09:40:05Z,d47cf0c850cb70429373782b3c1e0329d14fd05a,,,0,cb929d0c46d07a99950923c1cc7dd04f1241b4b5,1d2ed220da3c50846a3b5e69098e55aa768d75f1,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6108, 811679334,PR_kwDOAMm_X84wYT5m,6127,closed,0,"Revert ""disable pytest-xdist (to check CI failure)""",10194086,"- [x] Closes #6101 Reverts pydata/xarray#6077 (after dask has been pinned in #6111)",2021-12-29T21:15:36Z,2022-01-03T08:29:52Z,2022-01-03T08:29:49Z,2022-01-03T08:29:48Z,c5a2c687c0cd0e68e21ad606b8ba8868eb08eb81,,,0,71a124acd727a2106e0dad5530062902a08d243d,f85ec665940291c9ac368f5e1b8a0711e2d9952d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6127, 818814277,PR_kwDOAMm_X84wzh1F,6155,closed,0,typing fixes for mypy 0.931 and numpy 1.22,10194086,typing fixes for mypy 0.931 and numpy 1.22. Also tested with numpy 1.20 which probably many still have installed.,2022-01-11T15:19:43Z,2022-01-13T17:13:00Z,2022-01-13T17:12:57Z,2022-01-13T17:12:57Z,4c865d607e6e03605b7050d9fb6991e86346bf08,,,0,c22b80f0e1b9121a3383b246a0c7d0c98438fd0a,5c08ab296bf9bbcfb5bd3c262e3fdcce986d69ab,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6155, 825935447,PR_kwDOAMm_X84xOsZX,6171,closed,0,unpin dask again,10194086," - dask 2022.01 is out, so we can remove the pin",2022-01-18T22:37:31Z,2022-01-26T08:41:02Z,2022-01-18T23:39:12Z,2022-01-18T23:39:12Z,d3b6aa6d8b997df115a53c001d00222a0f92f63a,,,0,907bf51d7659d7926af0a0f224d8a157f771430c,3666a6fb7226601002f408d56e81837ab69b8d4e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6171, 827761450,PR_kwDOAMm_X84xVqMq,6177,closed,0,remove no longer necessary version checks,10194086," I hunted down some version checks that should no longer be necessary as we have moved beyond the minimum versions.",2022-01-20T17:24:21Z,2022-01-26T08:40:55Z,2022-01-21T18:00:51Z,2022-01-21T18:00:51Z,c54123772817875678ec7ad769e6d4d6612aeb92,,,0,08f221efcc23b4ddf56852ae7a5d583c7caa273f,0ffb0f42282a1b67c4950e90e1e4ecd146307aa8,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6177, 831892857,PR_kwDOAMm_X84xla15,6192,closed,0,fix cftime doctests,10194086," Fixes the doctests for the newest version of cftime. @spencerkclark This of course means that the doctests will fail for environments with older versions of cftime present. I don't think there is anything we can do. Thanks for pytest-accept b.t.w @max-sixty ",2022-01-25T21:43:55Z,2022-01-26T21:45:19Z,2022-01-26T21:45:17Z,2022-01-26T21:45:16Z,10bfa77425c459691abac26477e25c5681dc396f,,,0,48355114e0b74dd4e563a2d448ce64989942ea1e,c54123772817875678ec7ad769e6d4d6612aeb92,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6192, 831900644,PR_kwDOAMm_X84xlcvk,6193,closed,0,don't install bottleneck wheel for upstream CI,10194086," - [x] see #6186 I think it would be good to re-enable the upstream CI, even if this means we have to stick to py3.9 for the moment. I just subscribed to pydata/bottleneck#378, so I should see when we can switch to 3.10.",2022-01-25T21:55:49Z,2022-01-26T08:31:42Z,2022-01-26T08:31:39Z,2022-01-26T08:31:39Z,23faa50f8c5c75193657b130a6c9d506225af0de,,,0,c16e5895c82f208a9f4bd38b1242440d73025e82,c54123772817875678ec7ad769e6d4d6612aeb92,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6193, 831911853,PR_kwDOAMm_X84xlfet,6194,closed,0,doc: fix pd datetime parsing warning [skip-ci],10194086," And another tiny one... The somewhat ambiguous date string triggers a warning in pandas which makes our doc build fail. ",2022-01-25T22:12:53Z,2022-01-28T08:37:18Z,2022-01-28T05:41:49Z,2022-01-28T05:41:49Z,e50e575a798df5f6f98c647a16411a866401fe35,,,0,b580617ea8e8c47c5118cace46946178226a7c5f,4692c59679ae6cef370012aeb0f3d5f58efd3b4d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6194, 832430411,PR_kwDOAMm_X84xneFL,6195,closed,0,MAINT: pandas 1.4: no longer use get_loc with method,10194086," - [x] Closes #5721 - [ ] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` Fixed as per @shoyer & @spencerkclark suggestion from https://github.com/pydata/xarray/issues/5721#issuecomment-903095007 Now that pandas 1.4 is out it would be good to get this fixed (there are about 5000 warnings in our tests, mostly because of `interp`, though). Also leads to a warning in our docs which breaks them (although that can also be fixed with an `:okwarning:` directive). ",2022-01-26T13:35:04Z,2022-01-27T22:11:04Z,2022-01-27T21:06:40Z,2022-01-27T21:06:40Z,4692c59679ae6cef370012aeb0f3d5f58efd3b4d,,,0,ed20d1a46a16afe191115041dd3401f15130c94d,23faa50f8c5c75193657b130a6c9d506225af0de,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6195, 835087160,PR_kwDOAMm_X84xxms4,6208,closed,0,"Revert ""MNT: prepare h5netcdf backend for (coming) change in dimension handling""",10194086,Reverts pydata/xarray#6200,2022-01-29T10:27:11Z,2022-01-29T13:48:17Z,2022-01-29T13:20:51Z,,f402910285089adba5c9b7d529c05c7df492072a,,,0,f7947aa92d293b771095c5781a0c0165253a6d48,5470d933452d88deb17cc9294a164c4a03f55dec,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6208, 835589346,PR_kwDOAMm_X84xzhTi,6212,closed,0,better warning filter for assert_*,10194086,"In #4864 I added a a decorator for the `xarray.testing.assert_*` functions to ensure warnings that were to errors (`pytest.mark.filterwarnings(""error"")`) do not error in `assert_*` (see https://github.com/pydata/xarray/pull/4760#issuecomment-774101639). As a solution I added https://github.com/pydata/xarray/blob/5470d933452d88deb17cc9294a164c4a03f55dec/xarray/testing.py#L32 However, this is sub-optimal because this now removes all `ignore` filters! As dask stuff only gets evaluated in `assert_*` filters like `warnings.filterwarnings(""ignore"", ""Mean of empty slice"")` don't work for dask arrays! I thought of setting ```python warnings.simplefilter(""ignore"") ``` but this could suppress warnings we want to keep. So now I remove all `""error""` warning filters and keep the rest. Note that the original filters get restored after `with warnings.catch_warnings():`. (). --- I am not sure I expressed myself very clearly... let me know and I can try again. @keewis you had a look at #4864 maybe you can review this PR as well? ",2022-01-31T00:22:37Z,2022-09-05T07:52:09Z,2022-09-05T07:52:06Z,2022-09-05T07:52:06Z,a6a6ac09c6d4b3f80aeccb1638ad26ceadda1d29,,,0,06fc8c9b8dcf2b0b950c30bad514f2b6420c3da7,3c4a00cc123ceb6fba442cf721650ffa6b473cbb,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6212, 835619057,PR_kwDOAMm_X84xzojx,6213,closed,0,fix or suppress test warnings,10194086,"Fixes or suppresses a number of warnings that turn up in our upstream CI. `pd.Index.is_monotonic` is an alias for `pd.Index.is_monotonic_increasing` and does _not_ stand for `pd.Index.is_monotonic_increasing or pd.Index.is_monotonic_decreasing`. ",2022-01-31T01:34:20Z,2022-02-01T09:40:15Z,2022-02-01T09:40:11Z,2022-02-01T09:40:11Z,86328a1cfe5296f8e478b17e52ba884db2384872,,,0,00b3289e966277049213f5a2e2cb2db2a3d285eb,aab856bf7429d6b0feae795b53fde5a551f184e0,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6213, 841446515,PR_kwDOAMm_X84yJ3Rz,6248,closed,0,test bottleneck master in upstream CI [test-upstream] [skip-ci],10194086," - [x] Closes #6186 pydata/bottleneck#378 was merged - so this should work again.",2022-02-07T08:25:35Z,2022-02-07T09:05:28Z,2022-02-07T09:05:24Z,2022-02-07T09:05:24Z,52a051a784249377698ca2eb50c800513a30e7ba,,,0,88e3738aa235f219b4517a953e61a405c67d9f56,1d2ed220da3c50846a3b5e69098e55aa768d75f1,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6248, 841813564,PR_kwDOAMm_X84yLQ48,6251,closed,0,use `warnings.catch_warnings(record=True)` instead of `pytest.warns(None)`,10194086," pytest v7.0.0 no longer want's us to use ` pytest.warns(None)` to test for no warning, so we can use `warnings.catch_warnings(record=True)` instead. ",2022-02-07T14:42:26Z,2022-02-18T16:51:58Z,2022-02-18T16:51:55Z,2022-02-18T16:51:55Z,33fbb648ac042f821a11870ffa544e5bcb6e178f,,,0,162fec45cf0edea2ad8cd477473184864b1a4ee5,d47cf0c850cb70429373782b3c1e0329d14fd05a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6251, 862804422,PR_kwDOAMm_X84zbVnG,6302,closed,0,from_dict: doctest,10194086," - [x] Closes #6136 Convert the code block in `xr.DataArray.from_dict` and `xr.Dataset.from_dict` to doctest/ examples.",2022-02-24T20:17:24Z,2022-02-28T09:11:05Z,2022-02-28T09:11:02Z,2022-02-28T09:11:01Z,4292bdebd7c9c461b0814605509e90453fe47754,,,0,7f4e42f7a721f03cd8a19d01783ce654438483a2,de965f342e1c9c5de92ab135fbc4062e21e72453,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6302,