Add plot function for debugging DAG of transformation framework
As came up in #255, this would be a very nice way to debug data transformation framework operations.
(Proposed) Feature Set
- Have a
TransformationDAG.plot
method, which draws a simple graph of the DAG. - ... and stores it to some location.
- When using the plotting framework in
debug
mode, allow to toggle writing of that graph as well
To figure out
- Do the networkx drawing functions suffice for that? (It would be easier to not include the whole plotting framework into that)
- Where to store the output to?
- When calling it within plotting framework, we could have the output directory available and store it there.
- Where to implement? Proposition:
- Implement in
_dag_utils.py
or separate private module - ... and make available in
TransformationDAG
via method
- Implement in
- What data to write?
- Tags
- Operation names
- Dependencies as directed edges
- Stretch goal: highlight computed nodes
- Stretch goal: "External" arguments as separate nodes?
- Stretch goal: name of the meta-operation this was called from (needs other changes to
TransformationDAG
)
Edited by Utopia Developers