feat: ✨ Change the Graph creation to allow subclassing #2086
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 it is not possible to subclass a Flow as in the example snippet below.
This PR alters the graph construction that enables this flow subclassing. Instead of using the
ast.NodeVisitor
class to collect the steps and theirast.FunctionDef
's. I have instead iterated on thedir(flow)
and then extracted the functionast.FunctionDef
's.As referenced in this issue: #144
and discussed in this issue: #245
I have not yet added tests for this PR as the approach to this might take some discussion. The current Test harness setup uses the
FlowFormatter
class to generate flows on the fly but all of these assume the flow directly inherits off the FlowSpec. How might we go about testing this kind of subclassing?Note this PR was originally raised as #2035 but from the wrong branch