Resolve "Implement TransformationDAG into plot creators"
What does this MR do?
This MR implements the DAG framework into the plot creator framework to generally allow data selection and transformation.
Furthermore, this MR improves and extends parts of the DAG framework. The need for these changes only occurred during the implementation.
Can this MR be accepted?
-
Integrated the DAG framework into BasePlotCreator
-
Integrated the DAG framework into ExternalPlotCreator
and derived classes-
Specialisation for UniversePlotCreator
-
Specialisation for MultiversePlotCreator
-
-
Improved and extended DAG framework: -
Hash computation now \mathcal{O}(100)
faster than before (no longer using yaml serialization but python__repr__
) -
Now also internally using the public add_node
andadd_nodes
method -> more consistent interface, also allowing to add nodes after initialisation -
Added select_base
property, which can be set to any reference which then serves as basis for selection. -
Extended profiling info; TransformationDAG
now also aggregates the profiling information from allTransformation
s. -
Now recursively resolving DAGReference
objects within the arguments
-
-
Tests added or adjusted -
Full coverage of new features
-
-
Documentation written or updated -
Consistent docstrings -
Wrote a page on DAG usage in plot framework -
Updated section on hash computation of Transformation
objects
-
-
Pipeline passes -
Changelog entry added and version bumped -
Locally tested in utopya -
Approved by @jeremiastraub -
Approved by @herdeanu
Anything to double-check?
Related issues
Closes #99 (closed)
Edited by Utopia Developers