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 1694018098,PR_kwDOAMm_X85k-Koy,8656,closed,0,Datatree import,479480,"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 ",2024-01-24T16:17:02Z,2024-01-31T18:42:28Z,2024-01-31T18:20:19Z,,52aeed3e619317198bf77144554e9a332d2f4565,,,0,3de55c6536e80e81776c2e387bb4509b3281653b,b0b5b2f4401519ef438e8a1762fadb142177a698,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/8656, 1704316858,PR_kwDOAMm_X85llc-6,8688,closed,0,datatree import (clean),479480,"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 ",2024-01-31T15:26:44Z,2024-03-01T11:00:48Z,2024-01-31T18:19:43Z,2024-01-31T18:19:43Z,4de10d49f97b8c66e4c563a07af3f0a7c25ca3ff,,,0,4de10d49f97b8c66e4c563a07af3f0a7c25ca3ff,f9f4c730254073f0f5a8fce65f4bbaa0eefec5fd,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/8688, 1709181628,PR_kwDOAMm_X85l4Aq8,8697,closed,0,add open_datatree to xarray,479480,"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` ",2024-02-02T20:20:03Z,2024-02-14T23:41:03Z,2024-02-14T21:50:29Z,2024-02-14T21:50:29Z,fffb03c8abf5d68667a80cedecf6112ab32472e7,,,0,e291587f330c1e3772a55d4d6d68e18cd9c4639c,4806412c7f08480d283f1565262f040bdc74d11d,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/8697, 1728482495,PR_kwDOAMm_X85nBoy_,8757,closed,0,Migrate treenode module.,479480,"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` ",2024-02-15T21:04:11Z,2024-02-28T22:02:31Z,2024-02-27T16:40:19Z,2024-02-27T16:40:19Z,dfdd631dd3382030eed57c8fdb6e97199d14a277,,,0,9db7040356c4b2d245ac55a893df274c9a4cc3ab,e47eb92a76be8e66b2ea3437a4c77e340fb62135,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/8757, 1827786989,PR_kwDOAMm_X85s8dDt,8953,closed,0,stop pruning datatree_ directory from distribution,479480,"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 ",2024-04-17T16:14:13Z,2024-04-23T15:39:06Z,2024-04-23T15:35:20Z,2024-04-23T15:35:20Z,b0036749542145794244dee4c4869f3750ff2dee,,,0,89845161bf479f464819f9e4822c3c6d08532fae,5f24079ddaeb0bb16a039d091cbd48710aca4915,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/8953, 1843451985,PR_kwDOAMm_X85t4NhR,8976,closed,0,Migration of datatree/ops.py -> datatree_ops.py,479480,"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` ",2024-04-26T20:14:11Z,2024-05-02T19:49:39Z,2024-05-02T19:49:39Z,2024-05-02T19:49:39Z,f5ae623f892af6c8bc6e14b8796d84e3b978eb5f,,,0,3f659277bb58ffd8638dad5b427b8613a0fcd599,bfcb0a7a97ee83d6fb93e67ef7a5127b59135464,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/8976, 1843453164,PR_kwDOAMm_X85t4Nzs,8977,open,0,preliminary pr to examine the DataTree injected docs.,479480,"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. ",2024-04-26T20:15:22Z,2024-04-26T22:36:00Z,,,52ae58b0b1d3ef86d6c8090acff4e774b4ee2fc8,,,1,23e88cbcc688672f878676e76a93dc6aaa79339e,6d62719061f7b9cbed3ea01c4adf2ce89c4f015f,CONTRIBUTOR,,13221727,https://github.com/pydata/xarray/pull/8977,