Previously, the DAG-node classes in MF were not dataclasses due to issues with class inheritance. These have since been resolved via hierarchy changes, so this PR updates those classes to be dataclasses. In general, dataclasses make these easier to use, and there are upcoming use cases where dataclasses will simplify implementation (e.g. graph component comparison, serialization).
A create() method was added to simplify many initialization use cases while not overriding the one generated by dataclasses.
There is an update to how the node_id field is set - please see mf_dag.py.
Otherwise, this should be a mechanical update with no substantive logic changes.
There are no snapshot changes, so that should simplify review.
Thank you for your pull request! We could not find a changelog entry for this change. For details on how to document a change, see the contributing guide.
create()
method was added to simplify many initialization use cases while not overriding the one generated bydataclasses
.node_id
field is set - please seemf_dag.py
.