Migrate API to DataTree from DataSet as core primitive#332
Open
mpiannucci wants to merge 11 commits into
Open
Conversation
abkfenris
reviewed
May 21, 2026
Member
There was a problem hiding this comment.
Ok, gonna land comment now even though I haven't poked through the PR as much as I want to, as my browser has already been nuked by the security software and tried to lose what I had already entered. I am liking what I'm seeing so far.
So far the big things that I see is that we might want a migration/upgrade doc with sections specifically focused on server admins (XREDS), and plugin authors.
Contributor
Author
|
@abkfenris I would like to try and merge this and #333 tuesday next week. Is that reasonable to you? |
Member
|
I'd like got get one of your former XREDS compatriots to provide some feedback as well before landing this. |
Contributor
Author
|
Sounds good. Just to note, that xreds should have no breaking changes associated with this |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is intended to be the next major version of xpublish:
DataTree is now the core primitive.
Rest/SingleDatasetRestacceptxr.Dataset | xr.DataTreeand normalize internally toDict[str, DataTree](bare Datasets become single-node trees). Existing plugins keep working unchanged on the root node.New
get_datatree(dataset_id, group)provider hook + matchingdeps.datatreeand group-awaredeps.dataset. Plugins can opt into a{group_path:path}URL segment anddeps.datasetautomatically returns the node at that path; tree-aware plugins usedeps.datatree. Legacyget_datasethook still works (wrapped in a single-node tree) and now emits aDeprecationWarning.