id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 2161133346,PR_kwDOAMm_X85oSZw7,8797,tokenize() should ignore difference between None and {} attrs,6213168,closed,0,6213168,,1,2024-02-29T12:22:24Z,2024-03-01T11:15:30Z,2024-03-01T03:29:51Z,MEMBER,,0,pydata/xarray/pulls/8797,- Closes #8788,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8797/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 2088095900,PR_kwDOAMm_X85kaiOH,8618,Re-enable mypy checks for parse_dims unit tests,6213168,closed,0,6213168,,1,2024-01-18T11:32:28Z,2024-01-19T15:49:33Z,2024-01-18T15:34:23Z,MEMBER,,0,pydata/xarray/pulls/8618,"As per https://github.com/pydata/xarray/pull/8606#discussion_r1452680454 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8618/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 2079054085,PR_kwDOAMm_X85j77Os,8606,Clean up Dims type annotation,6213168,closed,0,6213168,,1,2024-01-12T15:05:40Z,2024-01-18T18:14:15Z,2024-01-16T10:26:08Z,MEMBER,,0,pydata/xarray/pulls/8606,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8606/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1683335751,PR_kwDOAMm_X85PHLmT,7785,Remove pandas<2 pin,6213168,closed,0,,,1,2023-04-25T14:55:12Z,2023-04-26T17:51:53Z,2023-04-25T15:03:10Z,MEMBER,,0,pydata/xarray/pulls/7785,XREF #7650,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7785/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1140046499,PR_kwDOAMm_X84y7YhY,6282,Remove xfail from tests decorated by @gen_cluster,6213168,closed,0,,,1,2022-02-16T13:47:56Z,2023-04-25T14:53:35Z,2022-02-16T16:32:35Z,MEMBER,,0,pydata/xarray/pulls/6282,``@gen_cluster`` has now been fixed upstream.,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6282/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 980223048,MDExOlB1bGxSZXF1ZXN0NzIwNTAxNTkz,5740,Remove ad-hoc handling of NEP18 libraries in CI,6213168,closed,0,,,1,2021-08-26T13:04:36Z,2021-09-04T10:53:39Z,2021-08-31T10:14:35Z,MEMBER,,0,pydata/xarray/pulls/5740,sparse and pint are mature enough that it is no longer necessary to have a separate CI environment for them.,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5740/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 945560052,MDExOlB1bGxSZXF1ZXN0NjkwODcyNTk1,5610,Fix gen_cluster failures; dask_version tweaks,6213168,closed,0,,,5,2021-07-15T16:26:21Z,2021-07-15T18:04:00Z,2021-07-15T17:25:43Z,MEMBER,,0,pydata/xarray/pulls/5610,"- 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__``","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5610/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 817271773,MDExOlB1bGxSZXF1ZXN0NTgwNzkxNTcy,4965,Support for dask.graph_manipulation,6213168,closed,0,,,1,2021-02-26T11:19:09Z,2021-03-05T09:24:17Z,2021-03-05T09:24:14Z,MEMBER,,0,pydata/xarray/pulls/4965,"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)","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4965/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 804694945,MDExOlB1bGxSZXF1ZXN0NTcwNDE5NjIz,4884,Compatibility with dask 2021.02.0,6213168,closed,0,,,0,2021-02-09T16:12:02Z,2021-02-11T18:33:03Z,2021-02-11T18:32:59Z,MEMBER,,0,pydata/xarray/pulls/4884,"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.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4884/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 671216158,MDExOlB1bGxSZXF1ZXN0NDYxNDM4MDIz,4297,Lazily load resource files,6213168,closed,0,6213168,,4,2020-08-01T21:31:36Z,2020-09-22T05:32:38Z,2020-08-02T07:05:15Z,MEMBER,,0,pydata/xarray/pulls/4297,"- Marginal speed-up and RAM footprint reduction when not running in Jupyter Notebook - Closes #4294","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4297/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 671108068,MDExOlB1bGxSZXF1ZXN0NDYxMzM1NDAx,4296,Increase support window of all dependencies,6213168,closed,0,6213168,,7,2020-08-01T18:55:54Z,2020-08-14T09:52:46Z,2020-08-14T09:52:42Z,MEMBER,,0,pydata/xarray/pulls/4296,"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","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4296/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 671561223,MDExOlB1bGxSZXF1ZXN0NDYxNzY2OTA1,4299,Support PyCharm deployment over SSH,6213168,closed,0,,,3,2020-08-02T06:19:09Z,2020-08-03T19:41:36Z,2020-08-03T19:41:29Z,MEMBER,,0,pydata/xarray/pulls/4299,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.,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4299/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 555752381,MDExOlB1bGxSZXF1ZXN0MzY3NjM3MzUw,3724,setuptools-scm (3),6213168,closed,0,,,3,2020-01-27T18:26:11Z,2020-02-14T12:07:22Z,2020-01-27T18:51:50Z,MEMBER,,0,pydata/xarray/pulls/3724,"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.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3724/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 557020666,MDExOlB1bGxSZXF1ZXN0MzY4Njg4MTAz,3727,Python 3.8 CI,6213168,closed,0,,,6,2020-01-29T17:50:52Z,2020-02-10T09:41:07Z,2020-01-31T15:52:19Z,MEMBER,,0,pydata/xarray/pulls/3727,"- 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. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3727/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 557012230,MDExOlB1bGxSZXF1ZXN0MzY4NjgxMjgw,3726,Avoid unsafe use of pip,6213168,closed,0,,,3,2020-01-29T17:33:48Z,2020-01-30T12:23:05Z,2020-01-29T23:39:40Z,MEMBER,,0,pydata/xarray/pulls/3726,Closes #3725,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3726/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 554662467,MDExOlB1bGxSZXF1ZXN0MzY2Nzc1ODIz,3721,Add isort to CI,6213168,closed,0,,,9,2020-01-24T10:41:54Z,2020-01-30T12:22:53Z,2020-01-28T19:41:52Z,MEMBER,,0,pydata/xarray/pulls/3721,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3721/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 553518018,MDExOlB1bGxSZXF1ZXN0MzY1ODM1MjQ3,3714,setuptools-scm and one-liner setup.py,6213168,closed,0,,,12,2020-01-22T12:46:43Z,2020-01-27T07:42:36Z,2020-01-22T15:40:34Z,MEMBER,,0,pydata/xarray/pulls/3714,"- 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 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3714/reactions"", ""total_count"": 2, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 2, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 554647652,MDExOlB1bGxSZXF1ZXN0MzY2NzYzMzQ3,3720,setuptools-scm and isort tweaks,6213168,closed,0,,,2,2020-01-24T10:12:03Z,2020-01-24T15:34:34Z,2020-01-24T15:28:48Z,MEMBER,,0,pydata/xarray/pulls/3720,"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__`` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3720/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 551532886,MDExOlB1bGxSZXF1ZXN0MzY0MjM4MTM2,3703,hardcoded xarray.__all__,6213168,closed,0,,,4,2020-01-17T17:09:45Z,2020-01-18T00:58:06Z,2020-01-17T20:42:25Z,MEMBER,,0,pydata/xarray/pulls/3703,Closes #3695,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3703/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 551544665,MDExOlB1bGxSZXF1ZXN0MzY0MjQ3NjE3,3705,One-off isort run,6213168,closed,0,,,4,2020-01-17T17:36:10Z,2020-01-17T22:59:26Z,2020-01-17T21:00:24Z,MEMBER,,0,pydata/xarray/pulls/3705,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3705/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 551544199,MDExOlB1bGxSZXF1ZXN0MzY0MjQ3MjQz,3704,Bump mypy to v0.761,6213168,closed,0,,,1,2020-01-17T17:35:09Z,2020-01-17T22:59:19Z,2020-01-17T18:51:51Z,MEMBER,,0,pydata/xarray/pulls/3704,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3704/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 522935511,MDExOlB1bGxSZXF1ZXN0MzQxMDM3NTg5,3533,2x~5x speed up for isel() in most cases,6213168,closed,0,,,7,2019-11-14T15:34:24Z,2019-12-05T16:45:40Z,2019-12-05T16:39:40Z,MEMBER,,0,pydata/xarray/pulls/3533,"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().","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3533/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 525689517,MDExOlB1bGxSZXF1ZXN0MzQzMjYxNDg0,3551,Clarify conda environments for new contributors,6213168,closed,0,,,1,2019-11-20T09:47:15Z,2019-11-20T14:50:48Z,2019-11-20T09:47:57Z,MEMBER,,0,pydata/xarray/pulls/3551," - [x] Closes #3549","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3551/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 523438384,MDExOlB1bGxSZXF1ZXN0MzQxNDQyMTI4,3537,Numpy 1.18 support,6213168,closed,0,,,13,2019-11-15T12:17:32Z,2019-11-19T14:06:50Z,2019-11-19T14:06:46Z,MEMBER,,0,pydata/xarray/pulls/3537,"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 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3537/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 522780826,MDExOlB1bGxSZXF1ZXN0MzQwOTEwMjQ3,3531,Leave empty slot when not using accessors,6213168,closed,0,,,1,2019-11-14T10:54:55Z,2019-11-15T17:43:57Z,2019-11-15T17:43:54Z,MEMBER,,0,pydata/xarray/pulls/3531,"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","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3531/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 521842949,MDExOlB1bGxSZXF1ZXN0MzQwMTQ1OTg0,3515,Recursive tokenization,6213168,closed,0,6213168,,1,2019-11-12T22:35:13Z,2019-11-13T00:54:32Z,2019-11-13T00:53:27Z,MEMBER,,0,pydata/xarray/pulls/3515,"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!","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3515/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 510527025,MDExOlB1bGxSZXF1ZXN0MzMwODg1Mzk2,3429,minor lint tweaks,6213168,closed,0,,,4,2019-10-22T09:15:03Z,2019-10-24T12:53:24Z,2019-10-24T12:53:21Z,MEMBER,,0,pydata/xarray/pulls/3429,"- 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 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3429/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 511869575,MDExOlB1bGxSZXF1ZXN0MzMxOTg2MzUw,3442,pandas-dev workaround,6213168,closed,0,,,0,2019-10-24T10:59:55Z,2019-10-24T11:43:42Z,2019-10-24T11:43:36Z,MEMBER,,0,pydata/xarray/pulls/3442,Temporary hack around #3440 to get green CI,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3442/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 510974193,MDExOlB1bGxSZXF1ZXN0MzMxMjU4MjQx,3436,MAGA (Make Azure Green Again),6213168,closed,0,,,3,2019-10-22T22:56:21Z,2019-10-24T09:57:59Z,2019-10-23T01:06:10Z,MEMBER,,0,pydata/xarray/pulls/3436,"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).","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3436/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 509655174,MDExOlB1bGxSZXF1ZXN0MzMwMTYwMDQy,3420,Restore crashing CI tests on pseudonetcdf-3.1,6213168,closed,0,,,5,2019-10-20T21:26:40Z,2019-10-21T01:32:54Z,2019-10-20T22:42:36Z,MEMBER,,0,pydata/xarray/pulls/3420,"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.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3420/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 506216396,MDExOlB1bGxSZXF1ZXN0MzI3NDg0OTQ2,3395,Annotate LRUCache,6213168,closed,0,,,0,2019-10-12T17:44:43Z,2019-10-12T20:05:36Z,2019-10-12T20:05:33Z,MEMBER,,0,pydata/xarray/pulls/3395,Very minor type annotations work,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3395/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 503163130,MDExOlB1bGxSZXF1ZXN0MzI1MDc2MzQ5,3375,Speed up isel and __getitem__,6213168,closed,0,6213168,,5,2019-10-06T21:27:42Z,2019-10-10T09:21:56Z,2019-10-09T18:01:30Z,MEMBER,,0,pydata/xarray/pulls/3375,"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.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3375/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 500582648,MDExOlB1bGxSZXF1ZXN0MzIzMDIwOTY1,3358,Rolling minimum dependency versions policy,6213168,closed,0,6213168,,24,2019-09-30T23:50:39Z,2019-10-09T02:02:29Z,2019-10-08T21:23:47Z,MEMBER,,0,pydata/xarray/pulls/3358,"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","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3358/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 502530652,MDExOlB1bGxSZXF1ZXN0MzI0NTkyODE1,3373,Lint,6213168,closed,0,,,1,2019-10-04T09:29:46Z,2019-10-04T22:18:48Z,2019-10-04T22:17:57Z,MEMBER,,0,pydata/xarray/pulls/3373,Minor cosmetic changes,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3373/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 495221393,MDExOlB1bGxSZXF1ZXN0MzE4ODA4Njgy,3318,Allow weakref,6213168,closed,0,,,2,2019-09-18T13:19:09Z,2019-10-03T13:39:35Z,2019-09-18T15:53:51Z,MEMBER,,0,pydata/xarray/pulls/3318," - [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 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3318/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 501461219,MDExOlB1bGxSZXF1ZXN0MzIzNzI5Mjkx,3365,Demo: CI offline?,6213168,closed,0,,,0,2019-10-02T12:34:38Z,2019-10-02T17:32:18Z,2019-10-02T17:32:13Z,MEMBER,,0,pydata/xarray/pulls/3365,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3365/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 500777641,MDExOlB1bGxSZXF1ZXN0MzIzMTc1OTk0,3359,Revisit # noqa annotations,6213168,closed,0,,,1,2019-10-01T09:35:15Z,2019-10-01T18:13:59Z,2019-10-01T18:13:56Z,MEMBER,,0,pydata/xarray/pulls/3359,"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.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3359/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 500912288,MDExOlB1bGxSZXF1ZXN0MzIzMjg1ODgw,3360,WIP: Fix codecov.io upload on Windows,6213168,closed,0,,,1,2019-10-01T13:53:19Z,2019-10-01T15:13:21Z,2019-10-01T14:11:22Z,MEMBER,,0,pydata/xarray/pulls/3360,Closes #3354,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3360/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 498399866,MDExOlB1bGxSZXF1ZXN0MzIxMzM5MjE1,3346,CI test suites with pinned minimum dependencies,6213168,closed,0,,,2,2019-09-25T16:38:44Z,2019-09-26T09:38:59Z,2019-09-26T09:38:47Z,MEMBER,,0,pydata/xarray/pulls/3346,"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. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3346/reactions"", ""total_count"": 3, ""+1"": 3, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 497945632,MDExOlB1bGxSZXF1ZXN0MzIwOTgwNzIw,3340,CI environments overhaul,6213168,closed,0,,,7,2019-09-24T22:01:10Z,2019-09-25T01:50:08Z,2019-09-25T01:40:55Z,MEMBER,,0,pydata/xarray/pulls/3340,"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 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3340/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 478886013,MDExOlB1bGxSZXF1ZXN0MzA1OTA3Mzk2,3196,One-off isort run,6213168,closed,0,,,5,2019-08-09T09:17:39Z,2019-09-09T08:28:05Z,2019-08-23T20:33:04Z,MEMBER,,0,pydata/xarray/pulls/3196,"A one-off, manually vetted and tweaked isort run","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3196/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 484499801,MDExOlB1bGxSZXF1ZXN0MzEwMzYxOTMz,3250,__slots__,6213168,closed,0,,,10,2019-08-23T12:16:44Z,2019-08-30T12:13:28Z,2019-08-29T17:14:20Z,MEMBER,,0,pydata/xarray/pulls/3250,"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!) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3250/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 479587855,MDExOlB1bGxSZXF1ZXN0MzA2NDQ4ODIw,3207,Annotations for .data_vars() and .coords(),6213168,closed,0,,,0,2019-08-12T11:08:45Z,2019-08-13T04:01:26Z,2019-08-12T20:49:02Z,MEMBER,,0,pydata/xarray/pulls/3207,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3207/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 479359871,MDExOlB1bGxSZXF1ZXN0MzA2Mjc0MTUz,3203,Match mypy version between CI and pre-commit hook,6213168,closed,0,,,0,2019-08-11T11:30:36Z,2019-08-12T21:03:11Z,2019-08-11T22:32:41Z,MEMBER,,0,pydata/xarray/pulls/3203,Pre-commit hook is currently failing because of an issue detected by mypy 0.720 but not by mypy 0.650,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3203/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 479359010,MDExOlB1bGxSZXF1ZXN0MzA2MjczNTY3,3202,chunk sparse arrays,6213168,closed,0,6213168,,4,2019-08-11T11:19:16Z,2019-08-12T21:02:31Z,2019-08-12T21:02:25Z,MEMBER,,0,pydata/xarray/pulls/3202,"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.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3202/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 478891507,MDExOlB1bGxSZXF1ZXN0MzA1OTExODA2,3197,Enforce mypy compliance in CI,6213168,closed,0,,,6,2019-08-09T09:29:55Z,2019-08-11T08:49:02Z,2019-08-10T09:48:33Z,MEMBER,,0,pydata/xarray/pulls/3197,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3197/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 478969353,MDExOlB1bGxSZXF1ZXN0MzA1OTc1NjM4,3198,Ignore example.grib.0112.idx,6213168,closed,0,,,0,2019-08-09T12:47:12Z,2019-08-09T12:49:02Z,2019-08-09T12:48:08Z,MEMBER,,0,pydata/xarray/pulls/3198,"``open_dataset("".grib"", engine=""cfgrib"")`` creates a new file in the same directory called ``.grib..idx``","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3198/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 477814538,MDExOlB1bGxSZXF1ZXN0MzA1MDYyMzUw,3190,pyupgrade one-off run,6213168,closed,0,,,2,2019-08-07T09:32:57Z,2019-08-09T08:50:22Z,2019-08-07T17:26:01Z,MEMBER,,0,pydata/xarray/pulls/3190,"A one-off, manually vetted and tweaked run of pyupgrade","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3190/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 476218350,MDExOlB1bGxSZXF1ZXN0MzAzODE4ODg3,3177,More annotations,6213168,closed,0,,,6,2019-08-02T14:49:50Z,2019-08-09T08:50:13Z,2019-08-06T01:19:36Z,MEMBER,,0,pydata/xarray/pulls/3177,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3177/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 466886456,MDExOlB1bGxSZXF1ZXN0Mjk2NjQ1MTgy,3095,Fix regression: IndexVariable.copy(deep=True) casts dtype=U to object,6213168,closed,0,,,6,2019-07-11T13:16:16Z,2019-08-02T14:37:52Z,2019-08-02T14:02:50Z,MEMBER,,0,pydata/xarray/pulls/3095," - [x] Closes #3094 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3095/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 475571573,MDExOlB1bGxSZXF1ZXN0MzAzMjk0OTEx,3173,Fix distributed.Client.compute applied to DataArray,6213168,closed,0,,,1,2019-08-01T09:22:39Z,2019-08-02T05:04:51Z,2019-08-01T21:43:11Z,MEMBER,,0,pydata/xarray/pulls/3173," - [x] Closes #3171 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3173/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 467756080,MDExOlB1bGxSZXF1ZXN0Mjk3MzQwNTEy,3112,More annotations in Dataset,6213168,closed,0,,,10,2019-07-13T19:06:49Z,2019-08-01T10:41:51Z,2019-07-31T17:48:00Z,MEMBER,,0,pydata/xarray/pulls/3112,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3112/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 466765652,MDExOlB1bGxSZXF1ZXN0Mjk2NTQ1MjA4,3093,Increase minimum Python version to 3.5.3,6213168,closed,0,,,2,2019-07-11T09:12:02Z,2019-07-13T23:54:48Z,2019-07-13T21:58:31Z,MEMBER,,0,pydata/xarray/pulls/3093,"Closes #3089 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3093/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 466004569,MDExOlB1bGxSZXF1ZXN0Mjk1OTM1Nzg2,3090,WIP: more annotations,6213168,closed,0,,,3,2019-07-09T22:02:44Z,2019-07-11T08:40:34Z,2019-07-11T04:20:56Z,MEMBER,,0,pydata/xarray/pulls/3090,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3090/reactions"", ""total_count"": 2, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 2, ""eyes"": 0}",,,13221727,pull 442159309,MDExOlB1bGxSZXF1ZXN0Mjc3MzMxMjQx,2950,Base classes in Python 3 don't need to subclass object,6213168,closed,0,,,3,2019-05-09T10:14:38Z,2019-07-09T20:06:21Z,2019-05-09T16:01:37Z,MEMBER,,0,pydata/xarray/pulls/2950," - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2950/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 462401539,MDExOlB1bGxSZXF1ZXN0MjkzMTAxODQx,3065,kwargs.pop() cleanup,6213168,closed,0,,,7,2019-06-30T12:47:07Z,2019-07-09T20:06:13Z,2019-07-01T01:58:50Z,MEMBER,,0,pydata/xarray/pulls/3065,"- 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","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3065/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 464929212,MDExOlB1bGxSZXF1ZXN0Mjk1MDg4MjMx,3088,More annotations,6213168,closed,0,,,3,2019-07-07T08:40:15Z,2019-07-09T20:04:37Z,2019-07-09T16:23:12Z,MEMBER,,0,pydata/xarray/pulls/3088,"A little incremental addition to type annotations. By no means complete, but it should be ready for merge in its own right nonetheless.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3088/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 438421176,MDExOlB1bGxSZXF1ZXN0Mjc0NDU1ODQz,2929,Typing for DataArray/Dataset,6213168,closed,0,,,25,2019-04-29T17:19:35Z,2019-06-30T10:08:39Z,2019-06-25T22:03:40Z,MEMBER,,0,pydata/xarray/pulls/2929,"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","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2929/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 430214243,MDExOlB1bGxSZXF1ZXN0MjY4MTUyODIw,2877,WIP: type annotations,6213168,closed,0,,,12,2019-04-08T00:55:31Z,2019-04-24T14:54:07Z,2019-04-10T18:41:50Z,MEMBER,,0,pydata/xarray/pulls/2877,Fixes #2869,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2877/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 328734143,MDExOlB1bGxSZXF1ZXN0MTkyMTkyMDYw,2212,Trivial documentation fix,6213168,closed,0,,,1,2018-06-02T10:47:20Z,2018-06-07T23:49:44Z,2018-06-02T12:15:33Z,MEMBER,,0,pydata/xarray/pulls/2212,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2212/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 324066244,MDExOlB1bGxSZXF1ZXN0MTg4NzY5OTUx,2150,WIP: Fix regression in to_netcdf encoding parameter,6213168,closed,0,,,0,2018-05-17T15:09:16Z,2018-06-02T10:06:11Z,2018-06-02T10:06:11Z,MEMBER,,0,pydata/xarray/pulls/2150,"Fixes #2149 DONE: unit tests triggering the issue. The new tests are all successful against 0.10.3. TODO: actual bugfix","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2150/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 320443090,MDExOlB1bGxSZXF1ZXN0MTg2MTEzNzM5,2106,xarray.dot to pass **kwargs to einsum,6213168,closed,0,,,3,2018-05-04T22:01:04Z,2018-05-17T13:54:41Z,2018-05-14T21:06:38Z,MEMBER,,0,pydata/xarray/pulls/2106,Late addition to #2089,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2106/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 297631403,MDExOlB1bGxSZXF1ZXN0MTY5NTEyMjU1,1915,h5netcdf new API support,6213168,closed,0,,,13,2018-02-15T23:15:55Z,2018-05-11T23:49:00Z,2018-05-08T02:25:40Z,MEMBER,,0,pydata/xarray/pulls/1915,"Closes #1536 Support arbitrary compression plugins through the h5netcdf new API. Done: - public API and docstrings (untested) - implementation - unit tests - What's New","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1915/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 318574154,MDExOlB1bGxSZXF1ZXN0MTg0NzQ2MTgy,2089,xarray.dot is now based on da.einsum,6213168,closed,0,,,3,2018-04-27T23:09:32Z,2018-05-04T21:51:01Z,2018-05-04T21:51:00Z,MEMBER,,0,pydata/xarray/pulls/2089,"Closes #2074 Requires dask >= 0.17.3","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2089/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 254841785,MDExOlB1bGxSZXF1ZXN0MTM5MDI5NzMx,1551,Load nonindex coords ahead of concat(),6213168,closed,0,,2415632,7,2017-09-02T23:19:03Z,2017-10-09T23:32:50Z,2017-10-09T21:15:31Z,MEMBER,,0,pydata/xarray/pulls/1551," - [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","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1551/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 260101264,MDExOlB1bGxSZXF1ZXN0MTQyNzYyOTA4,1590,Dataset.copy() to preserve encoding,6213168,closed,0,,,2,2017-09-24T17:33:39Z,2017-10-09T20:55:56Z,2017-10-08T16:01:20Z,MEMBER,,0,pydata/xarray/pulls/1590," - [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","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1590/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 260098491,MDExOlB1bGxSZXF1ZXN0MTQyNzYxMzI1,1589,Fix concat of mixed numpy and dask arrays,6213168,closed,0,,,2,2017-09-24T16:48:12Z,2017-10-09T20:55:41Z,2017-09-25T00:55:36Z,MEMBER,,0,pydata/xarray/pulls/1589," - [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 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1589/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 253349435,MDExOlB1bGxSZXF1ZXN0MTM3OTYwNDEw,1532,Avoid computing dask variables on __repr__ and __getattr__,6213168,closed,0,,2415632,8,2017-08-28T14:37:20Z,2017-09-21T22:30:02Z,2017-09-21T20:55:43Z,MEMBER,,0,pydata/xarray/pulls/1532," - [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.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1532/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 189544925,MDExOlB1bGxSZXF1ZXN0OTM4NzYxMTY=,1124,"full_like, zeros_like, ones_like",6213168,closed,0,,,5,2016-11-16T00:10:03Z,2016-11-28T03:42:47Z,2016-11-28T03:42:39Z,MEMBER,,0,pydata/xarray/pulls/1124,New top-level functions. Fixes #1102,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1124/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 180451196,MDExOlB1bGxSZXF1ZXN0ODc1OTkxMDA=,1024,Disable automatic cache with dask,6213168,closed,0,,,22,2016-10-01T11:08:24Z,2016-11-16T19:33:08Z,2016-11-14T16:56:44Z,MEMBER,,0,pydata/xarray/pulls/1024,"Disabled auto-caching on dask; new .compute() method Fixes #902 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1024/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 179099875,MDExOlB1bGxSZXF1ZXN0ODY2NTc3Njc=,1018,Disabled auto-caching on dask; new .compute() method,6213168,closed,0,,,3,2016-09-25T18:14:51Z,2016-10-01T11:08:49Z,2016-10-01T11:02:13Z,MEMBER,,0,pydata/xarray/pulls/1018,"Disabled auto-caching dask arrays when pickling and when invoking the .values property. Added new method .compute() to Variable, DataArray and Dataset. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1018/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 180351845,MDExOlB1bGxSZXF1ZXN0ODc1Mjg4Mzc=,1023,Applying broadcast() to an xarray object based on the dask backend wo…,6213168,closed,0,,,1,2016-09-30T16:52:42Z,2016-09-30T18:02:29Z,2016-09-30T18:02:27Z,MEMBER,,0,pydata/xarray/pulls/1023,"…n't accidentally convert the array from dask to numpy anymore ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1023/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 180336128,MDExOlB1bGxSZXF1ZXN0ODc1MTczMzM=,1022,Dask broadcast,6213168,closed,0,,,1,2016-09-30T15:41:33Z,2016-09-30T16:52:52Z,2016-09-30T16:52:52Z,MEMBER,,0,pydata/xarray/pulls/1022," Applying broadcast() to an xarray object based on the dask backend won't accidentally convert the array from dask to numpy anymore ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1022/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 172287768,MDExOlB1bGxSZXF1ZXN0ODIwODc4NTU=,977,sync to upstream,6213168,closed,0,,,0,2016-08-20T19:53:31Z,2016-08-20T19:53:53Z,2016-08-20T19:53:53Z,MEMBER,,0,pydata/xarray/pulls/977,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/977/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 170744285,MDExOlB1bGxSZXF1ZXN0ODEwMjkzMDc=,963,Align broadcast,6213168,closed,0,,,4,2016-08-11T20:55:29Z,2016-08-14T23:25:02Z,2016-08-14T23:24:15Z,MEMBER,,0,pydata/xarray/pulls/963,"- 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? ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/963/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull