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 81029307,MDExOlB1bGxSZXF1ZXN0ODEwMjkzMDc=,963,closed,0,Align broadcast,6213168,"- Removed partial_align() - Added exclude and indexes optional parameters to align() public API - Added exclude optional parameter to broadcast() public API - Added various unit tests to check that align() and broadcast() do not perform needless data copies - broadcast() to automatically align inputs Note: there is a failed unit test, TestDataset.test_broadcast_nocopy, which shows broadcast on dataset doing a data copy whereas it shouldn't. Could you look into it? ",2016-08-11T20:55:29Z,2016-08-20T20:22:03Z,2016-08-14T23:24:15Z,2016-08-14T23:24:15Z,56abba54ca4e89af570fd9cacc8f3ffcf5a5c4c7,,,0,1a5c21f1496acb83c4cbd21ce455dc3583fcc585,9fe2aff89494f0f268dc98bcb549246837d0ae89,MEMBER,,13221727,https://github.com/pydata/xarray/pull/963, 82087855,MDExOlB1bGxSZXF1ZXN0ODIwODc4NTU=,977,closed,0,sync to upstream,6213168,,2016-08-20T19:53:31Z,2016-08-20T19:53:53Z,2016-08-20T19:53:53Z,,,,,0,b359503ecae7469b4526c5df3958a46ef6392f62,584e70378c64e3fa861e5b4b4fd61d21639661c6,MEMBER,,13221727,https://github.com/pydata/xarray/pull/977, 86657767,MDExOlB1bGxSZXF1ZXN0ODY2NTc3Njc=,1018,closed,0,Disabled auto-caching on dask; new .compute() method,6213168,"Disabled auto-caching dask arrays when pickling and when invoking the .values property. Added new method .compute() to Variable, DataArray and Dataset. ",2016-09-25T18:14:51Z,2016-10-01T11:08:49Z,2016-10-01T11:02:13Z,,dbbe4cf50c7ba6e3c4e2e4df40139da42c193fea,,,0,91b808460b3d1eb0e9182e30bacaeb8a5944b76e,525e086097171aa8a904d54ea2ee8dc76f2a69ef,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1018, 87517333,MDExOlB1bGxSZXF1ZXN0ODc1MTczMzM=,1022,closed,0,Dask broadcast,6213168," Applying broadcast() to an xarray object based on the dask backend won't accidentally convert the array from dask to numpy anymore ",2016-09-30T15:41:33Z,2016-10-01T11:07:40Z,2016-09-30T16:52:52Z,,fd97e8e1cd03a6f0877a0d14e8444ecd77de4608,,,0,f0758dc4b8fb79d3fa8b532bebf6ad8cab070d89,fbb4f0618eade20981bd5cfb9771b82fd88a8db5,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1022, 87528837,MDExOlB1bGxSZXF1ZXN0ODc1Mjg4Mzc=,1023,closed,0,Applying broadcast() to an xarray object based on the dask backend wo…,6213168,"…n't accidentally convert the array from dask to numpy anymore ",2016-09-30T16:52:42Z,2016-10-01T11:02:14Z,2016-09-30T18:02:27Z,2016-09-30T18:02:27Z,525e086097171aa8a904d54ea2ee8dc76f2a69ef,,,0,be5d79cb5874135096b9155bf7a91c340791a6e9,fbb4f0618eade20981bd5cfb9771b82fd88a8db5,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1023, 87599100,MDExOlB1bGxSZXF1ZXN0ODc1OTkxMDA=,1024,closed,0,Disable automatic cache with dask,6213168,"Disabled auto-caching on dask; new .compute() method Fixes #902 ",2016-10-01T11:08:24Z,2016-11-16T19:33:08Z,2016-11-14T16:56:44Z,2016-11-14T16:56:44Z,d66f673ab25fe0fc0483bd5d67479fc94a14e46d,,,0,376200a48e642b1a8097085eee3f47a1792b3787,95bca6297ce28ec256910344cab27f67938c8f46,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1024, 93876116,MDExOlB1bGxSZXF1ZXN0OTM4NzYxMTY=,1124,closed,0,"full_like, zeros_like, ones_like",6213168,New top-level functions. Fixes #1102,2016-11-16T00:10:03Z,2016-12-09T20:37:28Z,2016-11-28T03:42:39Z,2016-11-28T03:42:39Z,a306252c80c337279348ba69ddd2800e05af4a6f,,,0,e974c2e94064180d87b70f2835781e39f95b660a,1936ea39f22333bd5fd766d125429ba1cab37f1e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1124, 137960410,MDExOlB1bGxSZXF1ZXN0MTM3OTYwNDEw,1532,closed,0,Avoid computing dask variables on __repr__ and __getattr__,6213168," - [x] Fixes #1522 - [x] Tests added / passed - [x] Passes ``git diff upstream/master | flake8 --diff`` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API Stop dataset data vars and non-index dataset/dataarray coords from being loaded by repr() and getattr(). The latter is particularly acute when working in Jupyter, which does a dozen or so getattr() when printing an object.",2017-08-28T14:37:20Z,2017-09-21T22:30:02Z,2017-09-21T20:55:43Z,2017-09-21T20:55:43Z,7611ed9b678c4004855856d2ec6dc6eb7ac59123,,2415632,0,7b1b265f803c0a409501dec711762db5f7eb52af,31921fad66698c167b4fe9049963c8bea3fb33ca,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1532, 139029731,MDExOlB1bGxSZXF1ZXN0MTM5MDI5NzMx,1551,closed,0,Load nonindex coords ahead of concat(),6213168," - [x] Closes #1521 - [x] Tests added / passed - [x] Passes ``git diff upstream/master | flake8 --diff`` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API",2017-09-02T23:19:03Z,2017-10-09T23:32:50Z,2017-10-09T21:15:31Z,2017-10-09T21:15:31Z,14b5f1ca84b41696b7e8e3ec5e07d8064acc9a55,,2415632,0,2f80cef14d0ede182e9521c096f37f88a4e69488,772f7e0564430169afcd1afb4ae869bcc0f9d0c9,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1551, 142761325,MDExOlB1bGxSZXF1ZXN0MTQyNzYxMzI1,1589,closed,0,Fix concat of mixed numpy and dask arrays,6213168," - [x] Closes #1588 - [x] Tests added / passed - [x] Passes ``git diff upstream/master | flake8 --diff`` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2017-09-24T16:48:12Z,2017-10-09T20:55:41Z,2017-09-25T00:55:36Z,2017-09-25T00:55:35Z,3a91442afe2a805b6aea5a3b9be3f72eb7245354,,,0,1a082db2f6869124af6f5b63158abe69d508cf62,dc7d733bcc10ce935304d65d03124471661243a3,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1589, 142762908,MDExOlB1bGxSZXF1ZXN0MTQyNzYyOTA4,1590,closed,0,Dataset.copy() to preserve encoding,6213168," - [x] Closes #1586 - [x] Tests added / passed - [x] Passes ``git diff upstream/master | flake8 --diff`` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API",2017-09-24T17:33:39Z,2017-10-09T20:55:56Z,2017-10-08T16:01:20Z,2017-10-08T16:01:20Z,772f7e0564430169afcd1afb4ae869bcc0f9d0c9,,,0,ac9cdc52ced62d3655e1757234872d85de10a447,5bd40151fd92e4342c43ba7cd6039e63e1611812,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1590, 169512255,MDExOlB1bGxSZXF1ZXN0MTY5NTEyMjU1,1915,closed,0,h5netcdf new API support,6213168,"Closes #1536 Support arbitrary compression plugins through the h5netcdf new API. Done: - public API and docstrings (untested) - implementation - unit tests - What's New",2018-02-15T23:15:55Z,2018-05-11T23:49:00Z,2018-05-08T02:25:40Z,2018-05-08T02:25:40Z,c6977f18341e3872ba69360045ee3ef8212eb1bf,,,0,9a5101245c36f0e9fb2176e5366ba9e46e9b4f87,98373f0a1e38fee04e6d9737a1483b878f949f82,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1915, 184746182,MDExOlB1bGxSZXF1ZXN0MTg0NzQ2MTgy,2089,closed,0,xarray.dot is now based on da.einsum,6213168,"Closes #2074 Requires dask >= 0.17.3",2018-04-27T23:09:32Z,2018-05-04T21:51:01Z,2018-05-04T21:51:00Z,2018-05-04T21:51:00Z,98373f0a1e38fee04e6d9737a1483b878f949f82,,,0,e55239a75f8ea8664c06856bc534ae6d0f59f1c7,c42cbe787d530db48575d73fe7a3910b0a0e4fd8,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2089, 186113739,MDExOlB1bGxSZXF1ZXN0MTg2MTEzNzM5,2106,closed,0,xarray.dot to pass **kwargs to einsum,6213168,Late addition to #2089,2018-05-04T22:01:04Z,2018-05-17T13:54:41Z,2018-05-14T21:06:38Z,2018-05-14T21:06:38Z,218ad549a25fb30b836aabdfdda412450fdc9585,,,0,ac316db8e3e3ee3ffaf973441b29de488209164a,d63001cdbc3bd84f4d6d90bd570a2215ea9e5c2e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2106, 188769951,MDExOlB1bGxSZXF1ZXN0MTg4NzY5OTUx,2150,closed,0,WIP: Fix regression in to_netcdf encoding parameter,6213168,"Fixes #2149 DONE: unit tests triggering the issue. The new tests are all successful against 0.10.3. TODO: actual bugfix",2018-05-17T15:09:16Z,2018-06-02T10:06:11Z,2018-06-02T10:06:11Z,,53f99b0b324f4437b3bc724727eab5ffb73ac429,,,0,00ddd49932e7b602977a7384a9080839f3247d3a,0a766b38de1d11f4c3110b267db72cb73e238d07,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2150, 192192060,MDExOlB1bGxSZXF1ZXN0MTkyMTkyMDYw,2212,closed,0,Trivial documentation fix,6213168,,2018-06-02T10:47:20Z,2018-06-07T23:49:44Z,2018-06-02T12:15:33Z,2018-06-02T12:15:33Z,69c9c45bf7a9d572200c4649605a5875e96b650c,,,0,4c73b5c4ec12e580897944b3e11a4afc5295aa9e,1e6984b247a08c5c98baa808dcc7552eb1c372a0,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2212, 268152820,MDExOlB1bGxSZXF1ZXN0MjY4MTUyODIw,2877,closed,0,WIP: type annotations,6213168,Fixes #2869,2019-04-08T00:55:31Z,2019-04-24T14:54:07Z,2019-04-10T18:41:50Z,2019-04-10T18:41:50Z,3fb22cbf86e49be4a444fa062350bf7570abd6da,,,0,81701abda565edee8904ec21e2451fc21b235476,e7ec0870b15114b0443c28bf7e32d42717808c98,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2877, 274455843,MDExOlB1bGxSZXF1ZXN0Mjc0NDU1ODQz,2929,closed,0,Typing for DataArray/Dataset,6213168,"Status: * I'm generally not pleased with the amount of added verbosity. Happy to accept suggestions on how to improve. * Switching all variable names from str to Hashable. Without proper unit tests however (out of scope) non-string hashables are expected not to work most of the times. My preference would still be to stay limited on str... * DataArray done. * Dataset not done (except where it was hindering DataArray). * mypy passes with the only error ``""Mapping[...]"" has no attribute ""copy""``. This is due to the fact that I can't see a way to use ``typing.OrderedDict`` without breaking compatibility with python < 3.7.2. * py.test should be successful @shoyer any early feedback is appreciated",2019-04-29T17:19:35Z,2019-06-30T10:08:39Z,2019-06-25T22:03:40Z,2019-06-25T22:03:40Z,d3f6db9d1eee54b51d2b0cd9a0a01a411d2148b7,,,0,cbe0e7b3b7c97837c327a4e720f58ef945e7a0dc,b054c317f86639cd3b889a96d77ddb3798f8584e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2929, 277331241,MDExOlB1bGxSZXF1ZXN0Mjc3MzMxMjQx,2950,closed,0,Base classes in Python 3 don't need to subclass object,6213168," - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-05-09T10:14:38Z,2019-07-09T20:06:21Z,2019-05-09T16:01:37Z,2019-05-09T16:01:37Z,24d49fcd723f20b09998c302dc6003b8de69e595,,,0,c88b4a325e493433723c1a32c0d258fbf7174ae0,c04234d4892641e1da89e47c7164cdcf5e4777a4,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2950, 293101841,MDExOlB1bGxSZXF1ZXN0MjkzMTAxODQx,3065,closed,0,kwargs.pop() cleanup,6213168,"- Clean up everywhere the pattern ``` def my_func(*args, **kwargs): my_optional_arg = kwargs.pop('my_optional_arg', None) ``` which was inherited from not being able to put named keyword arguments after ``*args`` in Python 2. - Fix bug in SplineInterpolator where the ``__init__`` method would write to the class attributes of BaseInterpolator. - ``map_dataarray`` was unintentionally and subtly relying on ``_process_cmap_cbar_kwargs`` to modify the kwargs in place. ``_process_cmap_cbar_kwargs`` is now strictly read-only and the modifications in kwargs have been made explicit in the caller function. - Rename all 'kwds' to 'kwargs' for sake of coherency",2019-06-30T12:47:07Z,2019-07-09T20:06:13Z,2019-07-01T01:58:50Z,2019-07-01T01:58:50Z,406c16263f9854bda88f92308611b1a586551761,,,0,74ed80e6200a829db6cb6669ae4e3ad153a589c3,2b3489b9ac91f1567aaa94c9fdbdc8fd617cda79,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3065, 295088231,MDExOlB1bGxSZXF1ZXN0Mjk1MDg4MjMx,3088,closed,0,More annotations,6213168,"A little incremental addition to type annotations. By no means complete, but it should be ready for merge in its own right nonetheless.",2019-07-07T08:40:15Z,2019-07-09T20:04:37Z,2019-07-09T16:23:12Z,2019-07-09T16:23:11Z,681893ed96685052e5f5822cc867245aaf138b32,,,0,ca71e50fd186532b427a6cc5a8316a5107e5bf2a,23fc0d6f8a5affefb84e5f20dc0bef7ace4542e2,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3088, 295935786,MDExOlB1bGxSZXF1ZXN0Mjk1OTM1Nzg2,3090,closed,0,WIP: more annotations,6213168,,2019-07-09T22:02:44Z,2019-07-11T08:40:34Z,2019-07-11T04:20:56Z,2019-07-11T04:20:56Z,8f0d9e5c9909c93a90306ed7cb5a80c1c2e1c97d,,,0,e702376b0a5bca82b7fa0749424ec05cb6201813,681893ed96685052e5f5822cc867245aaf138b32,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3090, 296545208,MDExOlB1bGxSZXF1ZXN0Mjk2NTQ1MjA4,3093,closed,0,Increase minimum Python version to 3.5.3,6213168,"Closes #3089 ",2019-07-11T09:12:02Z,2019-07-13T23:54:48Z,2019-07-13T21:58:31Z,2019-07-13T21:58:31Z,f7e299f665dada1934e0f53d4294902103dcec74,,,0,d9b8e20b8928ecaa1b0442196a7fd7810b8f39d3,b3ba4ba5f9508e4b601d9cf5dbcd9024993adf37,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3093, 296645182,MDExOlB1bGxSZXF1ZXN0Mjk2NjQ1MTgy,3095,closed,0,Fix regression: IndexVariable.copy(deep=True) casts dtype=U to object,6213168," - [x] Closes #3094 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-07-11T13:16:16Z,2019-08-02T14:37:52Z,2019-08-02T14:02:50Z,2019-08-02T14:02:50Z,dba85bdfc1ac311349bbfcabccb02a71747a97b2,,,0,da45c3b7c902b19cff83b5c9a7df22ff31490e2a,1757dffac2fa493d7b9a074b84cf8c830a706688,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3095, 297340512,MDExOlB1bGxSZXF1ZXN0Mjk3MzQwNTEy,3112,closed,0,More annotations in Dataset,6213168,,2019-07-13T19:06:49Z,2019-08-01T10:41:51Z,2019-07-31T17:48:00Z,2019-07-31T17:48:00Z,1757dffac2fa493d7b9a074b84cf8c830a706688,,,0,7a36ff55bd7af922bad9578044cb1fd54e555722,1d7bcbdc75b6d556c04e2c7d7a042e4379e15303,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3112, 303294911,MDExOlB1bGxSZXF1ZXN0MzAzMjk0OTEx,3173,closed,0,Fix distributed.Client.compute applied to DataArray,6213168," - [x] Closes #3171 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-08-01T09:22:39Z,2019-08-02T05:04:51Z,2019-08-01T21:43:11Z,2019-08-01T21:43:11Z,7b76f163394a35c9cd8013e835e9d0b2050fd9a6,,,0,5299aa754f581c82a29e3af55bf8acc5cada2ffe,1757dffac2fa493d7b9a074b84cf8c830a706688,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3173, 303818887,MDExOlB1bGxSZXF1ZXN0MzAzODE4ODg3,3177,closed,0,More annotations,6213168,,2019-08-02T14:49:50Z,2019-08-09T08:50:13Z,2019-08-06T01:19:36Z,2019-08-06T01:19:36Z,d1935ffd24fd83e9b5a1347aed11773da03c878e,,,0,816e13cb273d35739d85e14a6708e5248a7c064b,dba85bdfc1ac311349bbfcabccb02a71747a97b2,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3177, 305062350,MDExOlB1bGxSZXF1ZXN0MzA1MDYyMzUw,3190,closed,0,pyupgrade one-off run,6213168,"A one-off, manually vetted and tweaked run of pyupgrade",2019-08-07T09:32:57Z,2019-08-09T08:50:22Z,2019-08-07T17:26:01Z,2019-08-07T17:26:01Z,8a9c4710b2ee389a41e08a665108aca05ef02544,,,0,58121fa5e584cccb85c4fe25bfc3f608a5c9c55d,1ab7569561db50eaccbae977b0ef69993e0c0d0c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3190, 305907396,MDExOlB1bGxSZXF1ZXN0MzA1OTA3Mzk2,3196,closed,0,One-off isort run,6213168,"A one-off, manually vetted and tweaked isort run",2019-08-09T09:17:39Z,2019-09-09T08:28:05Z,2019-08-23T20:33:04Z,2019-08-23T20:33:04Z,79dc7dc461c7540cc0b84a98543c6f7796c05268,,,0,be40d086c27d86bb1d94bfa214fa2ef012b3402d,76d4a6710a1e22c6af112d0c3f5a81a7b435448d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3196, 305911806,MDExOlB1bGxSZXF1ZXN0MzA1OTExODA2,3197,closed,0,Enforce mypy compliance in CI,6213168,,2019-08-09T09:29:55Z,2019-08-11T08:49:02Z,2019-08-10T09:48:33Z,2019-08-10T09:48:33Z,befc72f052a189c114695b4ae9a1c66533617336,,,0,c8aae3d605623e4f8939b7ae3e5936e354bb2d48,58001d72000b3d4a872cc63bd10a5b48d27658b2,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3197, 305975638,MDExOlB1bGxSZXF1ZXN0MzA1OTc1NjM4,3198,closed,0,Ignore example.grib.0112.idx,6213168,"``open_dataset("".grib"", engine=""cfgrib"")`` creates a new file in the same directory called ``.grib..idx``",2019-08-09T12:47:12Z,2019-08-09T12:49:02Z,2019-08-09T12:48:08Z,2019-08-09T12:48:08Z,c517bc3752384f68ff62a31e9bb799130e2eef8c,,,0,5769787a3771ac49d313199dae0c38c208cede09,d3f1ced1aa84cb0a0f3e47e7ee67492e203fcce5,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3198, 306273567,MDExOlB1bGxSZXF1ZXN0MzA2MjczNTY3,3202,closed,0,chunk sparse arrays,6213168,"Closes #3191 @shoyer I completely disabled wrapping in ImplicitToExplicitIndexingAdapter for sparse arrays, cupy arrays, etc. I'm not sure if it's desirable; the chief problem is that I don't think I understand the purpose of ImplicitToExplicitIndexingAdapter to begin with... some enlightenment would be appreciated.",2019-08-11T11:19:16Z,2019-08-12T21:02:31Z,2019-08-12T21:02:25Z,2019-08-12T21:02:24Z,c782637ec2e4758de1ed63bbd36610cba1a57db8,6213168,,0,38efffc3b152c2e9a4a34c4cf49bf60b5519b813,fc44bae87856a357e669a519915486f7e46733c1,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3202, 306274153,MDExOlB1bGxSZXF1ZXN0MzA2Mjc0MTUz,3203,closed,0,Match mypy version between CI and pre-commit hook,6213168,Pre-commit hook is currently failing because of an issue detected by mypy 0.720 but not by mypy 0.650,2019-08-11T11:30:36Z,2019-08-12T21:03:11Z,2019-08-11T22:32:41Z,2019-08-11T22:32:41Z,b0df4d901ad7625b0ffabc8d85775efaca9d2c2f,,,0,cb3fb8fcc2ba8e7a2ffd44fb11e7f17621765e81,097306bae06118d837c1cb57ac8cc11cbf87a972,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3203, 306448820,MDExOlB1bGxSZXF1ZXN0MzA2NDQ4ODIw,3207,closed,0,Annotations for .data_vars() and .coords(),6213168,,2019-08-12T11:08:45Z,2019-08-13T04:01:26Z,2019-08-12T20:49:02Z,2019-08-12T20:49:02Z,14f1a97dae777463bed7967aa1fcc2533d7f9107,,,0,c229086b8fb90866da6be24502fe17153fce6079,b0df4d901ad7625b0ffabc8d85775efaca9d2c2f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3207, 310361933,MDExOlB1bGxSZXF1ZXN0MzEwMzYxOTMz,3250,closed,0,__slots__,6213168,"What changes: - Most classes now define ``__slots__`` - removed ``_initialized`` property - Enforced checks that all subclasses must also define ``__slots__``. For third-party subclasses, this is for now a DeprecationWarning and should be changed into a hard crash later on. - 22% reduction in RAM usage - 5% performance speedup for a DataArray method that performs a ``_to_temp_dataset`` roundtrip **DISCUSS:** support for third party subclasses is very poor at the moment (#1097). Should we skip the deprecation altogether? Performance benchmark: ```python import timeit import psutil import xarray a = xarray.DataArray([1, 2], dims=['x'], coords={'x': [10, 20]}) RUNS = 10000 t = timeit.timeit(""a.roll(x=1, roll_coords=True)"", globals=globals(), number=RUNS) print(""{:.0f} us"".format(t / RUNS * 1e6)) p = psutil.Process() N = 100000 rss0 = p.memory_info().rss x = [ xarray.DataArray([1, 2], dims=['x'], coords={'x': [10, 20]}) for _ in range(N) ] rss1 = p.memory_info().rss print(""{:.0f} bytes"".format((rss1 - rss0) / N)) ``` Output: | test | env | master | slots | |:-------------:|:---:|:----------:| ----------:| | DataArray.roll | py35-min | 332 us | 360 us | | DataArray.roll | py37 | 354 us | 337 us | | RAM usage of a DataArray | py35-min | 2755 bytes | 2074 bytes | | RAM usage of a DataArray | py37 | 1970 bytes | 1532 bytes | The performance degradation on Python 3.5 is caused by the deprecation mechanism - see changes to common.py. I honestly never realised that xarray objects are measured in kilobytes (vs. 32 bytes of underlying buffers!) ",2019-08-23T12:16:44Z,2019-08-30T12:13:28Z,2019-08-29T17:14:20Z,2019-08-29T17:14:20Z,41fecd8658ba50ddda0a52e04c21cec5e53415ac,,,0,3fc792074c681fe9265a74f83567694ed8e08c4b,aaeea6250b89e3605ee1d1a160ad50d6ed657c7e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3250, 318808682,MDExOlB1bGxSZXF1ZXN0MzE4ODA4Njgy,3318,closed,0,Allow weakref,6213168," - [x] Closes #3317 - [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-18T13:19:09Z,2019-10-03T13:39:35Z,2019-09-18T15:53:51Z,2019-09-18T15:53:51Z,fddced063b7ecbea6254dc1008bb4db15a5d9304,,,0,cda02a58ada386307dedc9499c3ae67c4994d847,fedc95ff760f1bb6a8325e318e548ceeae9900bf,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3318, 320980720,MDExOlB1bGxSZXF1ZXN0MzIwOTgwNzIw,3340,closed,0,CI environments overhaul,6213168,"Propaedeutic CI work to #3222. - py36 and py37 are now identical - Many optional dependencies were missing in one test suite or another (see details below) - Tests that require hypothesis now always run if hypothesis is installed - py37-windows.yml requirements file has been rebuilt starting from py37.yml - Sorted requirements files alphabetically for better maintainability - Added black. This is not needed by CI, but I personally use these yaml files to deploy my dev environment and I would expect many more developers to do the same. Alternatively, we could go the other way around and remove flake8 from everywhere and mypy from py36 and py37-windows. IMHO the marginal speedup would not be worth the complication. Added packages to py36.yml (net of changes in order): + black + hypothesis + nc-time-axis + numba + numbagg + pynio (https://github.com/pydata/xarray/issues/3154 seems to be now fixed upstream) + sparse Added packages to py37.yml (net of changes in order): + black + cdms2 + hypothesis + iris>=1.10 + numba (previously implicitly installed from pip by numbagg; now installed from conda) + pynio Added packages to py37-windows.yml (net of changes in order): + black + bottleneck + flake8 + hypothesis + iris>=1.10 + lxml + mypy==0.720 + numba + numbagg + pseudonetcdf>=3.0.1 + pydap + sparse ",2019-09-24T22:01:10Z,2019-09-25T01:50:08Z,2019-09-25T01:40:55Z,2019-09-25T01:40:55Z,85c9a40c2dac6b83a687f97639f8abfe0ab17f46,,,0,552e5de42925fb5e10f7d937e36f4f7736dad55c,e1183e8d75b5a46e08442b69f0b67cd187399a07,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3340, 321339215,MDExOlB1bGxSZXF1ZXN0MzIxMzM5MjE1,3346,closed,0,CI test suites with pinned minimum dependencies,6213168,"Second step towards resolving #3222. Added two suites of CI tests: - Pinned minimum versions for all optional dependencies, except NEP18-dependant ones - Pinned minimum versions for NEP18 optional dependencies - at the moment only sparse; soon also pint (#3238) **All versions are the frozen snapshot of what py36.yml deploys today**. This PR ensures that we won't have accidental breakages _from this moment on_. I made no effort to try downgrading to sensible obsolete versions, as that would require a completely different order of magnitude of work. I would suggest to proceed with the downgrades (and consequent bugfixes) over several small, iterative future PRs that build upon this framework. ",2019-09-25T16:38:44Z,2019-09-26T09:38:59Z,2019-09-26T09:38:47Z,2019-09-26T09:38:47Z,16fdac93c09036b44f90201d9078b17808f819e0,,,0,551f96d1fafc6325fdf41176f97b5324445e4684,85c9a40c2dac6b83a687f97639f8abfe0ab17f46,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3346, 323020965,MDExOlB1bGxSZXF1ZXN0MzIzMDIwOTY1,3358,closed,0,Rolling minimum dependency versions policy,6213168,"Closes #3222 Closes #3293 - Drop support for Python 3.5 - Upgrade numpy to 1.14 (24 months old) - Upgrade pandas to 0.24 (12 months old) - Downgrade scipy to 1.0 (policy allows for 1.2, but it breaks numpy=1.14) - Downgrade dask to 1.2 (6 months old) - Other upgrades/downgrades to comply with the policy - CI tool to verify that the minimum dependencies requirements in CI are compliant with the policy - Overhaul CI environment for readthedocs Out of scope: - Purge away all OrderedDict's",2019-09-30T23:50:39Z,2019-10-09T02:02:29Z,2019-10-08T21:23:47Z,2019-10-08T21:23:47Z,6fb272c0fde4bfaca9b6322b18ac2cf962e26ee3,6213168,,0,b20349c302cb81ad58df37f68e2aa11763c95f8b,4254b4af33843f711459e5242018cd1d678ad3a0,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3358, 323175994,MDExOlB1bGxSZXF1ZXN0MzIzMTc1OTk0,3359,closed,0,Revisit # noqa annotations,6213168,"Revisit all ``# noqa`` annotation. Remove useless ones; replace blanket ones with specific error messages. Work around https://github.com/PyCQA/pyflakes/issues/453. note: ``# noqa: F811`` on the ``@overload``'ed functions works around a pyflakes bug already fixed in git master (https://github.com/PyCQA/pyflakes/pull/435) but not in a release yet, so it has to stay for now.",2019-10-01T09:35:15Z,2019-10-01T18:13:59Z,2019-10-01T18:13:56Z,2019-10-01T18:13:56Z,21705e61503fb49f000186c0d556e5623bd5ac82,,,0,16b5e576cd1fc8e27f1c28904495a34be00722bf,fb575eb8ceb85a3c12df87bad278748ab9271985,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3359, 323285880,MDExOlB1bGxSZXF1ZXN0MzIzMjg1ODgw,3360,closed,0,WIP: Fix codecov.io upload on Windows,6213168,Closes #3354,2019-10-01T13:53:19Z,2019-10-01T15:13:21Z,2019-10-01T14:11:22Z,2019-10-01T14:11:22Z,fb575eb8ceb85a3c12df87bad278748ab9271985,,,0,d9edaf67467d0edef3d7e88a612c025f6c786c3b,1ab2279769554b7d18e9e33763bee31aa8329e85,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3360, 323729291,MDExOlB1bGxSZXF1ZXN0MzIzNzI5Mjkx,3365,closed,0,Demo: CI offline?,6213168,,2019-10-02T12:34:38Z,2019-10-02T17:32:18Z,2019-10-02T17:32:13Z,,cb3d0f76e4a1a22e0b7c5ef7393463f6441ec7f3,,,0,03e5d6b3f20f5bd28b0f420fdf887216e84aca58,21705e61503fb49f000186c0d556e5623bd5ac82,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3365, 324592815,MDExOlB1bGxSZXF1ZXN0MzI0NTkyODE1,3373,closed,0,Lint,6213168,Minor cosmetic changes,2019-10-04T09:29:46Z,2019-10-04T22:18:48Z,2019-10-04T22:17:57Z,2019-10-04T22:17:57Z,4254b4af33843f711459e5242018cd1d678ad3a0,,,0,ab2c40811ac4b57ab764820dc3f93672bb3cd1db,dfdeef79d82e81357a276120a7d34738db460e48,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3373, 325076349,MDExOlB1bGxSZXF1ZXN0MzI1MDc2MzQ5,3375,closed,0,Speed up isel and __getitem__,6213168,"First iterative improvement for #2799. Speed up Dataset.isel up to 33% and DataArray.isel up to 25% (when there are no indices and the numpy array is small). 15% speedup when there are indices. Benchmarks can be found in #2799.",2019-10-06T21:27:42Z,2019-10-10T09:21:56Z,2019-10-09T18:01:30Z,2019-10-09T18:01:30Z,3f0049ffc51e4c709256cf174c435f741370148d,6213168,,0,1e99f83e4664982a976be400cd4a4f2f95bb22c2,132733a917171fcb1f269406eb9e6668cbb7e376,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3375, 327484946,MDExOlB1bGxSZXF1ZXN0MzI3NDg0OTQ2,3395,closed,0,Annotate LRUCache,6213168,Very minor type annotations work,2019-10-12T17:44:43Z,2019-10-12T20:05:36Z,2019-10-12T20:05:33Z,2019-10-12T20:05:33Z,6851e3ef2e8e95d43580481f1398e3462aa28e3d,,,0,5f9acabcf435abcd07970dd727a11fad3115da70,4c05d38459dcf20ac4dc7fb32bb8cef4d7627c8b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3395, 330160042,MDExOlB1bGxSZXF1ZXN0MzMwMTYwMDQy,3420,closed,0,Restore crashing CI tests on pseudonetcdf-3.1,6213168,"Related to #3409 The crashes caused by pseudonetcdf-3.1 are blocking all PRs. Sorry I don't know anything about pseudonetcdf. This PR takes the issue out of the critical path so that whoever knows about the library can deal with it in due time.",2019-10-20T21:26:40Z,2019-10-21T01:32:54Z,2019-10-20T22:42:36Z,2019-10-20T22:42:36Z,9886e3c84051772ce62a50aa7067ee2f5b68f8cd,,,0,8f577e076d9ba4cd6dea7d93c793ddf2a3c61e1e,0f7ab0e909d9b6272f734a0b6fa4318e9522d3a2,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3420, 330885396,MDExOlB1bGxSZXF1ZXN0MzMwODg1Mzk2,3429,closed,0,minor lint tweaks,6213168,"- Ran pyflakes 2.1.1 - Some f-string tweaks - Ran black -t py36 - Ran mypy 0.740. We'll need to skip it and jump directly to 0.750 once it's released because of https://github.com/python/mypy/issues/7735 ",2019-10-22T09:15:03Z,2019-10-24T12:53:24Z,2019-10-24T12:53:21Z,2019-10-24T12:53:21Z,652dd3ca77dd19bbd1ab21fe556340c1904ec382,,,0,79a4c69a599fd7433748ee28b33e4f4e9233a5a8,52e4ef1a79ecf51691887e3c4bf3994be9a231ee,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3429, 331258241,MDExOlB1bGxSZXF1ZXN0MzMxMjU4MjQx,3436,closed,0,MAGA (Make Azure Green Again),6213168,"Let all CI tests become green again to avoid hindering developers who are working on PRs unrelated to the present incompatibilities (numpy=1.18, cftime=1.0.4, pseudonetcdf=3.1.0).",2019-10-22T22:56:21Z,2019-10-24T09:57:59Z,2019-10-23T01:06:10Z,2019-10-23T01:06:10Z,c8dac5866d2c54ee6b262b5060a701e0be1e40cb,,,0,359670a4b40e1fb481411fa111ffb0275bf63f17,72be873857a0a56659c905ce491ca1f94b44fd5c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3436, 331986350,MDExOlB1bGxSZXF1ZXN0MzMxOTg2MzUw,3442,closed,0,pandas-dev workaround,6213168,Temporary hack around #3440 to get green CI,2019-10-24T10:59:55Z,2019-10-24T11:43:42Z,2019-10-24T11:43:36Z,2019-10-24T11:43:36Z,52e4ef1a79ecf51691887e3c4bf3994be9a231ee,,,0,34d9a5c213e461dbeb3c9934998c0b427d9f45d3,35c75f557a510b7e81c70fcaad8cad419a12ee2e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3442, 340145984,MDExOlB1bGxSZXF1ZXN0MzQwMTQ1OTg0,3515,closed,0,Recursive tokenization,6213168,"After misreading the dask documentation , I was under the impression that the output of ``__dask_tokenize__`` would be recursively parsed, like it happens for ``__getstate__`` or ``__reduce__``. That's not the case - the output of ``__dask_tokenize__`` is just fed into a str() function so it has to be made explicitly recursive!",2019-11-12T22:35:13Z,2019-11-13T00:54:32Z,2019-11-13T00:53:27Z,2019-11-13T00:53:27Z,e70138b61033081e3bfab3aaaec5997716cd7109,6213168,,0,36ad4f7d4d2f238cccb20d48c83d604ad431c49d,b74f80ca2df4920f711f9fe5762458c53ce3c2c6,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3515, 340910247,MDExOlB1bGxSZXF1ZXN0MzQwOTEwMjQ3,3531,closed,0,Leave empty slot when not using accessors,6213168,"Save a few bytes and nanoseconds for the overwhelming majority of the users that don't use accessors. Lay the groundwork for potential future use of ``@pandas.utils.cache_readonly``. xref https://github.com/pydata/xarray/issues/3514",2019-11-14T10:54:55Z,2019-11-15T17:43:57Z,2019-11-15T17:43:54Z,2019-11-15T17:43:54Z,aa876cfd6b3b97ee5028d089ec741d057e3ed688,,,0,66352a5bb37f06b7e00915af602016e9a87f75b1,8b240376fd91352a80b068af606850e8d57d1090,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3531, 341037589,MDExOlB1bGxSZXF1ZXN0MzQxMDM3NTg5,3533,closed,0,2x~5x speed up for isel() in most cases,6213168,"Yet another major improvement for #2799. Achieve a 2x to 5x boost in isel performance when slicing small arrays by int, slice, list of int, scalar ndarray, or 1-dimensional ndarray. ```python import xarray da = xarray.DataArray([[1, 2], [3, 4]], dims=['x', 'y']) v = da.variable a = da.variable.values ds = da.to_dataset(name=""d"") ds_with_idx = xarray.Dataset({ 'x': [10, 20], 'y': [100, 200], 'd': (('x', 'y'), [[1, 2], [3, 4]]) }) da_with_idx = ds_with_idx.d # before -> after %timeit a[0] # 121 ns %timeit v[0] # 7 µs %timeit v.isel(x=0) # 10 µs %timeit da[0] # 65 µs -> 15 µs %timeit da.isel(x=0) # 63 µs -> 13 µs %timeit ds.isel(x=0) # 48 µs -> 24 µs %timeit da_with_idx[0] # 209 µs -> 82 µs %timeit da_with_idx.isel(x=0, drop=False) # 135 µs -> 34 µs %timeit da_with_idx.isel(x=0, drop=True) # 101 µs -> 34 µs %timeit ds_with_idx.isel(x=0, drop=False) # 90 µs -> 49 µs %timeit ds_with_idx.isel(x=0, drop=True) # 65 µs -> 49 µs ``` Marked as WIP because this commands running the asv suite to verify there are no regressions for large arrays. (on a separate note, we really need to add the small size cases to asv - as discussed in #3382). This profoundly alters one of the most important methods in xarray and I must confess it makes me nervous, particularly as I am unsure if the test coverage of DataArray.isel() is as through as that for Dataset.isel().",2019-11-14T15:34:24Z,2019-12-05T16:45:40Z,2019-12-05T16:39:40Z,2019-12-05T16:39:40Z,87a25b64898c94ea1e2a2e7a06d31ef602b116bf,,,0,1b814e9d20557a9d80bcef290eb40df00dccad27,577d3a75ea8bb25b99f9d31af8da14210cddff78,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3533, 341442128,MDExOlB1bGxSZXF1ZXN0MzQxNDQyMTI4,3537,closed,0,Numpy 1.18 support,6213168,"Fix mean() and nanmean() for datetime64 arrays on numpy backend when upgrading from numpy 1.17 to 1.18. All other nan-reductions on datetime64s were broken before and remain broken. mean() on datetime64 and dask was broken before and remains broken. - [x] Closes #3409 - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-11-15T12:17:32Z,2019-11-19T14:06:50Z,2019-11-19T14:06:46Z,2019-11-19T14:06:46Z,45fd0e63f43cf313b022a33aeec7f0f982e1908b,,,0,7767fec9e5cd1e3478c2d153e4e86da30ddfb630,980a1d26969b603d4be61033791781abd702d02a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3537, 343261484,MDExOlB1bGxSZXF1ZXN0MzQzMjYxNDg0,3551,closed,0,Clarify conda environments for new contributors,6213168," - [x] Closes #3549",2019-11-20T09:47:15Z,2019-11-20T14:50:48Z,2019-11-20T09:47:57Z,2019-11-20T09:47:57Z,6b70107ab3063187b663290538c0d5a4107dab6e,,,0,7381e1d9922cbae208dc41c6745d2e44852db469,7466be623fbb4bbb5efc389d31436bd38e53d198,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3551, 364238136,MDExOlB1bGxSZXF1ZXN0MzY0MjM4MTM2,3703,closed,0,hardcoded xarray.__all__,6213168,Closes #3695,2020-01-17T17:09:45Z,2020-01-18T00:58:06Z,2020-01-17T20:42:25Z,2020-01-17T20:42:25Z,e646dd987f414e9c1b12b106e17ba650762fa6b6,,,0,63a120058dbe0b3719c37450fa30a5fc91174ab0,46dfb779df2663c4b012124ae2ec193cca086c35,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3703, 364247243,MDExOlB1bGxSZXF1ZXN0MzY0MjQ3MjQz,3704,closed,0,Bump mypy to v0.761,6213168,,2020-01-17T17:35:09Z,2020-01-17T22:59:19Z,2020-01-17T18:51:51Z,2020-01-17T18:51:51Z,924c05212223defe0720c9da7cdb7583c2c5b696,,,0,f314cd5670c4beed8f877fef50cb4cd148f8c847,46dfb779df2663c4b012124ae2ec193cca086c35,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3704, 364247617,MDExOlB1bGxSZXF1ZXN0MzY0MjQ3NjE3,3705,closed,0,One-off isort run,6213168,,2020-01-17T17:36:10Z,2020-01-17T22:59:26Z,2020-01-17T21:00:24Z,2020-01-17T21:00:24Z,c32e58b4fff72816c6b554db51509bea6a891cdc,,,0,0b1ccba4ed445164f55233dea376aa5c193253f8,46dfb779df2663c4b012124ae2ec193cca086c35,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3705, 365835247,MDExOlB1bGxSZXF1ZXN0MzY1ODM1MjQ3,3714,closed,0,setuptools-scm and one-liner setup.py,6213168,"- Closes #3369 - Replace versioneer with setuptools-scm - Replace setup.py with setup.cfg - Drop pytest-runner as instructed by deprecation notice on the project webpage ",2020-01-22T12:46:43Z,2020-01-27T07:42:36Z,2020-01-22T15:40:34Z,2020-01-22T15:40:33Z,27a392906f12af5fa60d21bb327d739ee8411c82,,,0,17b52a158b3418e5456faaedc47e1744c7f3c760,aa0f96383062c48cb17f46ef951075c0494c9c0a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3714, 366763347,MDExOlB1bGxSZXF1ZXN0MzY2NzYzMzQ3,3720,closed,0,setuptools-scm and isort tweaks,6213168,"Follow-up on https://github.com/pydata/xarray/pull/3714 - Fix regression in mypy if pip creates a zipped archive - Avoid breakage in the extremely unlikely event that setuptools is not installed - Guarantee ``xarray.__version__`` to be always PEP440-compatible. This prevents a breakage if you run pandas without xarray installed and with the xarray sources folder in PYTHONPATH. - Apply isort to ``xarray.__init__`` ",2020-01-24T10:12:03Z,2020-01-24T15:34:34Z,2020-01-24T15:28:48Z,2020-01-24T15:28:48Z,ecd67f457240db5bc3316c092ca0bb3a134b4239,,,0,3d7b315645f79f8af34da74fc21b46a43c1bd32f,6d1434e9b9e9766d6fcafceb05e81734b29994ea,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3720, 366775823,MDExOlB1bGxSZXF1ZXN0MzY2Nzc1ODIz,3721,closed,0,Add isort to CI,6213168,,2020-01-24T10:41:54Z,2020-01-30T12:22:53Z,2020-01-28T19:41:52Z,2020-01-28T19:41:52Z,20dd7dc83a20ca63390a92f1866bfe67697dd14c,,,0,dda2b296737f0f5236b8644de46b45e05009b64a,6d1434e9b9e9766d6fcafceb05e81734b29994ea,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3721, 367637350,MDExOlB1bGxSZXF1ZXN0MzY3NjM3MzUw,3724,closed,0,setuptools-scm (3),6213168,"Fix https://github.com/pydata/xarray/pull/3714#issuecomment-578626605 @shoyer I have no way of testing if this fixes github - please see by yourself after merging to master.",2020-01-27T18:26:11Z,2020-02-14T12:07:22Z,2020-01-27T18:51:50Z,2020-01-27T18:51:50Z,b350561522c9f6f07999ffc31bf25bd898056c1c,,,0,fb67d9d305294d6198a939151a0775865c5eb800,73b46de262b8489307ce88f220f902f254af8c3a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3724, 368681280,MDExOlB1bGxSZXF1ZXN0MzY4NjgxMjgw,3726,closed,0,Avoid unsafe use of pip,6213168,Closes #3725,2020-01-29T17:33:48Z,2020-01-30T12:23:05Z,2020-01-29T23:39:40Z,2020-01-29T23:39:39Z,1491685a99b7355135093c685cf52e605e71f742,,,0,ad14099eab2044b2dd1467f92ec4641bbdcb8bd0,28577dd2e84f77adeac698e2d60187c69f7f4fa0,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3726, 368688103,MDExOlB1bGxSZXF1ZXN0MzY4Njg4MTAz,3727,closed,0,Python 3.8 CI,6213168,"- Run full-fat suite of tests for Python 3.8 - Move asv, MacOSX tests, readthedocs, binder, and more to Python 3.8 - Test windows against latest numpy version - Windows tests remain on Python 3.7 because of a couple of Python 3.8 tests that fail exclusively in CI. Will investigate later. ",2020-01-29T17:50:52Z,2020-02-10T09:41:07Z,2020-01-31T15:52:19Z,2020-01-31T15:52:19Z,4c96d53e6caa78d56b785f4edee49bbd4037a82f,,,0,6cc75f83af89a3db9f2bb026156a220a8ec6d656,95e4f6c7a636878c94b892ee8d49866823d0748f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3727, 461335401,MDExOlB1bGxSZXF1ZXN0NDYxMzM1NDAx,4296,closed,0,Increase support window of all dependencies,6213168,"Closes #4295 Increase width of the sliding window for minimum supported version: - setuptools from 6 months sliding window to hardcoded >= 38.4, and to 42 months sliding window starting from July 2021 - dask and distributed from 6 months sliding window to hardcoded >= 2.9, and to 12 months sliding window starting from January 2021 - all other libraries from 6 months to 12 months sliding window",2020-08-01T18:55:54Z,2020-08-14T09:52:46Z,2020-08-14T09:52:42Z,2020-08-14T09:52:42Z,8fab5a2449d8368251f96fc2b9d1eaa3040894e6,6213168,,0,b4f4644ca774ce49555304cb241f88be03fd3fec,1791c3b6f9852edca977c68c0bf52ed4406ef7b0,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4296, 461438023,MDExOlB1bGxSZXF1ZXN0NDYxNDM4MDIz,4297,closed,0,Lazily load resource files,6213168,"- Marginal speed-up and RAM footprint reduction when not running in Jupyter Notebook - Closes #4294",2020-08-01T21:31:36Z,2020-09-22T05:32:38Z,2020-08-02T07:05:15Z,2020-08-02T07:05:15Z,f99c6cca2df959df3db3c57592db97287fd28f15,6213168,,0,90c1563f4e37c9d289c149066fdc05aa08874baa,9058114f70d07ef04654d1d60718442d0555b84b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4297, 461766905,MDExOlB1bGxSZXF1ZXN0NDYxNzY2OTA1,4299,closed,0,Support PyCharm deployment over SSH,6213168,Fix ``pip install .`` when no ``.git`` directory exists; namely when the xarray source directory has been rsync'ed by PyCharm Professional for a remote deployment over SSH.,2020-08-02T06:19:09Z,2020-08-03T19:41:36Z,2020-08-03T19:41:29Z,2020-08-03T19:41:29Z,04958ea777ac493fa3e493124b3874130f899d31,,,0,1ddeab6edbdac099275f75d3d7bc1f8140605706,5200a182f324be21423fd2f8214b8ef04b5845ce,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4299, 570419623,MDExOlB1bGxSZXF1ZXN0NTcwNDE5NjIz,4884,closed,0,Compatibility with dask 2021.02.0,6213168,"Closes #4860 Reverts #4873 Restore compatibility with dask 2021.02.0 by avoiding improper assumptions on the implementation details of ``da.Array.__dask_postpersist__()``. This PR *does not* align xarray to the new dask collection spec (https://github.com/dask/dask/issues/7093), as I just realized that Datasets violate the rule of having all dask keys with the same name if they contain more than one dask variable - and cannot do otherwise. So I have to change the dask collection spec again to accommodate them.",2021-02-09T16:12:02Z,2021-02-11T18:33:03Z,2021-02-11T18:32:59Z,2021-02-11T18:32:59Z,2a34bfbbd586882ebe892ae12c72de36318714d5,,,0,628263d3034ad190e4f52429ae55fb41564bdea8,10f0227a1667c5ab3c88465ff1572065322cde77,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4884, 580791572,MDExOlB1bGxSZXF1ZXN0NTgwNzkxNTcy,4965,closed,0,Support for dask.graph_manipulation,6213168,"Second iteration upon https://github.com/pydata/xarray/pull/4884 CI is currently failing vs. dask git tip because of https://github.com/dask/dask/issues/7263 (unrelated to this PR)",2021-02-26T11:19:09Z,2021-03-05T09:24:17Z,2021-03-05T09:24:14Z,2021-03-05T09:24:14Z,37522e991a32ee3c0ad1a5ff8afe8e3eb1885550,,,0,c88c949911f3c9f42740b6b5367940433ec0a8c7,48378c4b11c5c2672ff91396d4284743165b4fbe,MEMBER,,13221727,https://github.com/pydata/xarray/pull/4965, 690872595,MDExOlB1bGxSZXF1ZXN0NjkwODcyNTk1,5610,closed,0,Fix gen_cluster failures; dask_version tweaks,6213168,"- fixes one of the issues reported in #5600 - ``distributed.utils_test.gen_cluster`` no longer accepts timeout=None for the sake of robustness - deleted ancient dask backwards compatibility code - clean up code around ``dask.__version__``",2021-07-15T16:26:21Z,2021-07-15T18:04:00Z,2021-07-15T17:25:43Z,2021-07-15T17:25:43Z,bc92331b7a7dc6d42e742cfb837fecef63b5b9da,,,0,504bfef34486f3c789cbcd3b1156f2709687314f,8539b294d30c4fea780393da2eb932d41809fc99,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5610, 720501593,MDExOlB1bGxSZXF1ZXN0NzIwNTAxNTkz,5740,closed,0,Remove ad-hoc handling of NEP18 libraries in CI,6213168,sparse and pint are mature enough that it is no longer necessary to have a separate CI environment for them.,2021-08-26T13:04:36Z,2021-09-04T10:53:39Z,2021-08-31T10:14:35Z,2021-08-31T10:14:34Z,675f362c9b7fc0c67d8ea15426c6ab6d070547f7,,,0,ffddb2e137d3b308d870026a0bc7054cdb1ce09b,4fd81b51101aceaad08570f1368ad4b50a946da5,MEMBER,,13221727,https://github.com/pydata/xarray/pull/5740, 854427736,PR_kwDOAMm_X84y7YhY,6282,closed,0,Remove xfail from tests decorated by @gen_cluster,6213168,``@gen_cluster`` has now been fixed upstream.,2022-02-16T13:47:56Z,2023-04-25T14:53:35Z,2022-02-16T16:32:35Z,2022-02-16T16:32:35Z,07456ed71b89704a438b17cb3bcf442f5f208d5a,,,0,538f8a2744f0994bb305662596b511681a0594c8,7790863435c612f3e1205292bd7f4efa847fd310,MEMBER,,13221727,https://github.com/pydata/xarray/pull/6282, 1327282579,PR_kwDOAMm_X85PHLmT,7785,closed,0,Remove pandas<2 pin,6213168,XREF #7650,2023-04-25T14:55:12Z,2023-04-26T17:51:53Z,2023-04-25T15:03:10Z,2023-04-25T15:03:10Z,7c53a94f53c4c01155c432c8b287f3d0b318a7c7,,,0,84add19c51ca3de37174af8894933baf99cb6c41,c733955716aef7ee103559044142587fced5975e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/7785, 1676653484,PR_kwDOAMm_X85j77Os,8606,closed,0,Clean up Dims type annotation,6213168,,2024-01-12T15:05:40Z,2024-01-18T18:14:15Z,2024-01-16T10:26:08Z,2024-01-16T10:26:08Z,1580c2c47cca425d47e3a4c2777a625dadba0a8f,6213168,,0,cdb693e30856667947f32efb760c51940e26f250,357a44474df6d02555502d600776e27a86a12f3f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/8606, 1684677511,PR_kwDOAMm_X85kaiOH,8618,closed,0,Re-enable mypy checks for parse_dims unit tests,6213168,"As per https://github.com/pydata/xarray/pull/8606#discussion_r1452680454 ",2024-01-18T11:32:28Z,2024-01-19T15:49:33Z,2024-01-18T15:34:23Z,2024-01-18T15:34:23Z,f4d2609979e8d0fbeee9821ce140898cf3d54e80,6213168,,0,bc7ad7425265128ad08d5844dd8963cf8f4fb81c,24ad846b89faa4e549a0cc6382b4735c872c371d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/8618, 1749654587,PR_kwDOAMm_X85oSZw7,8797,closed,0,tokenize() should ignore difference between None and {} attrs,6213168,- Closes #8788,2024-02-29T12:22:24Z,2024-03-01T11:15:30Z,2024-03-01T03:29:51Z,2024-03-01T03:29:51Z,604bb6d08b942f774a3ba2a2900061959d2e091d,6213168,,0,4eb05f0f73c535455f457e650036c86cdfaf4aa2,a241845c0dfcb8a5a0396f5ef7602e9dae6155c0,MEMBER,,13221727,https://github.com/pydata/xarray/pull/8797,