Add function of dependency level of data_types
#896
Merged
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.
What is the problem / what does the code in this PR do
Sometimes we want to know which plugin is higher in the dependency tree than another. This PR adds the
tree_levels
function ofContext
, which returns the dictionary containing relative information.For Example, for a given class with Records, Peaks registered, the tree_levels will return:
Can you briefly describe how it works?
Go through the dependency tree and assign
level
for thedata_type
s first. Thelevel
of adata_type
will be higher by at least 1 than its dependencies.Then the
data_type
s will be sorted bylevel
,class
, andindex
. Where theindex
is the index of thisdata_type
inprovides
.Can you give a minimal working example (or illustrate with a figure)?
Please include the following if applicable:
Please make sure that all automated tests have passed before asking for a review (you can save the PR as a draft otherwise).