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 2266442492,PR_kwDOAMm_X85t4NhR,8976,Migration of datatree/ops.py -> datatree_ops.py,479480,closed,0,,,4,2024-04-26T20:14:11Z,2024-05-02T19:49:39Z,2024-05-02T19:49:39Z,CONTRIBUTOR,,0,pydata/xarray/pulls/8976,"I considered wedging this into core/ops.py, but it didn't look like it fit there. This is a basic lift and shift from datatree_/ops.py to core/datatree_ops.py I did fix the document addendum injection and added a couple of tests. - [x] Contributes to migration step for miscellaneous modules in Track merging datatree into xarray #8572 - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8976/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 2266443797,PR_kwDOAMm_X85t4Nzs,8977,preliminary pr to examine the DataTree injected docs.,479480,open,0,,,5,2024-04-26T20:15:22Z,2024-04-26T22:36:00Z,,CONTRIBUTOR,,1,pydata/xarray/pulls/8977,"This PR should never be merged, it is opened only to run the build-the-docs with the changes from #8976 I just wanted to make sure I could point to what the final doc pages will look like when datatree is released. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8977/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 2248692681,PR_kwDOAMm_X85s8dDt,8953,stop pruning datatree_ directory from distribution,479480,closed,0,,,0,2024-04-17T16:14:13Z,2024-04-23T15:39:06Z,2024-04-23T15:35:20Z,CONTRIBUTOR,,0,pydata/xarray/pulls/8953,"This PR removes the directive that strips out the datatree_ directory from the xarray distribution. It also cleans a few typing errors and removes exceptions for the datatree_ directory for mypy. It does NOT remove the exception for pre-commit config. - [X] Closes #8768 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8953/reactions"", ""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 1, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 2110363401,PR_kwDOAMm_X85llc-6,8688,datatree import (clean),479480,closed,0,,,4,2024-01-31T15:26:44Z,2024-03-01T11:00:48Z,2024-01-31T18:19:43Z,CONTRIBUTOR,,0,pydata/xarray/pulls/8688,"This is the exact same steps followed in #8656 But hopefully with a clean history. I am copying the notes from the previous PR below. https://github.com/flamingbear/rewritten-datatree is the version of datatree that was m erged in this PR. --- Previous PR notes This PR imports [xarray-contrib/datatree](https://github.com/xarray-contrib/datatree) and its history to [pydata/xarray/xarray/datatree_](https://github.com/pydata/xarray) Step one of issue #8572. This imports the datatree code without exposing `DataTree` as a public API. git filter repo https://github.com/newren/git-filter-repo was used to preserve some history for the merge. Datatree tags were renamed to `legacy-datatree-{tag}`: ``` shell git filter-repo --tag-rename '':'legacy-datatree-' ``` Links to [xarray-contrib/datatree](https://github.com/xarray-contrib/datatree) original PRs are preserved by rewriting the messages using a `replace-message` file. ``` text # standard github style pull request (#39) regex:\(#(\d+)\)==>https://github.com/xarray-contrib/datatree/pull/\1 # ""Merge pull request #11 from TomNicholas/single_datanode_class"" regex:pull request #(\d+)==>https://github.com/xarray-contrib/datatree/pull/\1 ``` Links to the [xarray-contrib/datatree](https://github.com/xarray-contrib/datatree) Issues are preserved with a `replace-text` file. ``` text # standard comment change "" # see issue #38"" regex:(\s*?#.*[ ])#(\d+)==>\1https://github.com/xarray-contrib/datatree/issues/\2 # also "" @pytest.mark.xfail(reason=""Indexing needs to return whole tree (GH #77)"")"" regex:(\(GH #(\d+)\))==>(GH https://github.com/xarray-contrib/datatree/issues/\2) ``` The datatree repo was relocated to a subdirectory ``` shell git-filter-repo --to-subdirectory xarray/datatree_ ``` and the prepared datatree repository was added as a remote and merged into xarray. ``` shell git merge prepared-datatree/main --no-commit --allow-unrelated-histories ``` This should allow work to begin on the rest of the steps in #8572 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8688/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 2137443514,PR_kwDOAMm_X85nBoy_,8757,Migrate treenode module.,479480,closed,0,,,6,2024-02-15T21:04:11Z,2024-02-28T22:02:31Z,2024-02-27T16:40:19Z,CONTRIBUTOR,,0,pydata/xarray/pulls/8757,"Migrate datatree's treenode module the base class representing node of a tree, with methods for accessing nodes and traversal. - [X] completes step 2 `datatree/treenode.py` #8572 - [x] Tests added or updated - [N/A] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [X] Internal Changes (including notable bug fixes) are documented in `whats-new.rst` - [N/A] New functions/methods are listed in `api.rst` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8757/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 2115733488,PR_kwDOAMm_X85l4Aq8,8697,add open_datatree to xarray,479480,closed,0,,,18,2024-02-02T20:20:03Z,2024-02-14T23:41:03Z,2024-02-14T21:50:29Z,CONTRIBUTOR,,0,pydata/xarray/pulls/8697,"Draft: I'd like to open this up and start a discussion on a couple of things. Here is a first stab at adding open_datatree to the backend of xarray. 1. ~~I'm not sure which tests to migrate/write with this change. The only datatree tests that have open_datatree are the ones in tests/test_io.py. While those (and all of the datatree tests) run and pass, they are still located in _datatree, and they don't seem to fit in the test_backends.py. I do see that Tom did a good job of naming the tests so that they would fit with the existing tests in many places.~~ Migrated tests over into xarray/tests/datatree once approved and merged can be added into the existing tests where appropriate [(from Tom)](https://github.com/pydata/xarray/pull/8697#pullrequestreview-1860425936). 2. I was able to open datatrees with each of the engines, netcdf4, h5netcdf and zarr. 3. I haven't moved any documentation. I remember hearing that we could add it and mark it as experimental? Is that the correct way forward? No check boxes checked yet. - [ ] Closes part of first bullet of https://github.com/pydata/xarray/issues/8572 - [ ] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8697/reactions"", ""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 1, ""eyes"": 0}",,,13221727,pull 2098617770,PR_kwDOAMm_X85k-Koy,8656,Datatree import,479480,closed,0,,,28,2024-01-24T16:17:02Z,2024-01-31T18:42:28Z,2024-01-31T18:20:19Z,CONTRIBUTOR,,0,pydata/xarray/pulls/8656,"This PR imports [xarray-contrib/datatree](https://github.com/xarray-contrib/datatree) and its history to [pydata/xarray/xarray/datatree_](https://github.com/pydata/xarray) Step one of issue #8572. This imports the datatree code without exposing `DataTree` as a public API. git filter repo https://github.com/newren/git-filter-repo was used to preserve some history for the merge. Datatree tags were renamed to `legacy-datatree-{tag}`: ``` shell git filter-repo --tag-rename '':'legacy-datatree-' ``` Links to [xarray-contrib/datatree](https://github.com/xarray-contrib/datatree) original PRs are preserved by rewriting the messages using a `replace-message` file. ``` text # standard github style pull request (#39) regex:\(#(\d+)\)==>https://github.com/xarray-contrib/datatree/pull/\1 # ""Merge pull request #11 from TomNicholas/single_datanode_class"" regex:pull request #(\d+)==>https://github.com/xarray-contrib/datatree/pull/\1 ``` Links to the [xarray-contrib/datatree](https://github.com/xarray-contrib/datatree) Issues are preserved with a `replace-text` file. ``` text # standard comment change "" # see issue #38"" regex:(\s*?#.*[ ])#(\d+)==>\1https://github.com/xarray-contrib/datatree/issues/\2 # also "" @pytest.mark.xfail(reason=""Indexing needs to return whole tree (GH #77)"")"" regex:(\(GH #(\d+)\))==>(GH https://github.com/xarray-contrib/datatree/issues/\2) ``` The datatree repo was relocated to a subdirectory ``` shell git-filter-repo --to-subdirectory xarray/datatree_ ``` and the prepared datatree repository was added as a remote and merged into xarray. ``` shell git merge prepared-datatree/main --no-commit --allow-unrelated-histories ``` This should allow work to begin on the rest of the steps in #8572 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8656/reactions"", ""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 1, ""eyes"": 0}",,,13221727,pull