API for reorganizing levels of a datatree
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 4.2k
- Forks
- 1.4k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 14
Description
What is your issue?
(Copied from https://github.com/xarray-contrib/datatree/issues/186 - there are a few more comments there)
@jbusecke and I were discussing API for reorganizing levels of a tree.
For example, say I have 2 models, each which ran 2 scenarios. Thats 4 data-containing leaves in my tree, but there are 2 equally-valid ways to organise this, either model-first or scenario-first.
The model-first tree has node paths:
/mod1/scen1
/mod2/scen1
/mod1/scen2
/mod2/scen2
whilst the scenario-first tree has node paths:
/scen1/mod1
/scen2/mod1
/scen1/mod2
/scen2/mod2
Either of these is equally valid, and one might be preferred sometimes over the other, so we should have a method than can rearrange one structure into the other.
The question is what the API to do this should look like so that it's general, intuitive, and powerful.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading this issue and the referenced datatree discussion at github.com/xarray-contrib/datatree/issues/186. Review the existing tree-reorganization APIs and decide how a general model-first/scenario-first rearrangement should be expressed. Done means an agreed intuitive API with behavior specified for the example and corresponding coverage in the project’s tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100