[Enh] Selecting ranges for levels in nested container outputs #25
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.
Currently, the
container_output
parameter in theProvenance
decorator allows the identification of elements inside nested containers up to a depth level (determined by passing an integer as the argument value).In some cases, like functions returning a list of lists where the inner lists are the relevant outputs of the function, this would result in a single output node for the function. To provide similar functionality to using
container_output=True
(where all the elements of a container returned by the function are identified as outputs of the function), this PR adds the feature of specifying ranges in the levels of nested containers by passing a tuple(start_level, end_level)
.Therefore, the function outputs are defined as the elements at
start_level
, and the nested structure is processed untilend_level
depth. In the case of a list of lists, a tuple(1, 1)
will identify each inner list as outputs of the function, and the elements in each inner list will be identified and linked to the parent list, with their indexes.