Releases: T-Flet/Graph-State-Machine
Releases · T-Flet/Graph-State-Machine
Release list
Necessity-sufficiency rework, plotting improvements and conditional steps
Misc 3.x work:
- Reworked necessity and sufficiency attributes to be more flexible (now node attributes rather than edge ones for convenience).
- Improved plotting
- Added conditional steps (i.e. the option to execute only if no nodes of the requested type are already in the state)
Reworked plotting and node filtering
Plotly is now the default plotting backend; radial node labelling is an option.
Internal node-filtering changes.
Arbitrary scanner arguments; log attribute; NOT backwards-compatible
(Fixed a bug in v2.0, amended the commit and deleted the release)
NOT backwards-compatible: the old step methods (and scanner functions) took only one extra optional NodeType argument, while the current ones take multiple ones, of which the first is now a List of NodeType.
Examples of call changes:
# OLD parallel or consecutive steps methods syntax:
gsm.consecutive_steps(['Distribution', 'Family Implementation'])
# NEW versions, named and unnamed (translating the above involves only the first of 4 optional arguments):
gsm.consecutive_steps(dict(node_types = ['Distribution']), dict(node_types = ['Family Implementation']))
gsm.consecutive_steps([['Distribution']], [['Family Implementation']])
# OLD single step syntax
gsm._scan('Method Function')
# NEW
gsm._scan(['Method Function'])Overall review and improvements
Jaccard similarity score by default, customisable plotting layout, more visible state highlighting, reported node type in failed-step warnings, improved readme and documenting-comments, automatic dependency installation, changed license from MIT to BSD 3-Clause.
Minor Update
Single-commit release; see commit message.