Question: I just try make simple graph with transitions library : from transitions.extensions.diagrams import HierarchicalGraphMachine from IPython.display import display, Markdown states = ['engoff' , 'poweron' , 'engon' , 'FCCActions' #'emgstatus' , "whevent" , 'new data receive' ,{'name' : 'cores', 'final': True, 'parallel' : [{ 'name' : 'mapeng', 'children': ['maploaded', {"name": "update", "final": True}], 'initial' : 'maploaded', 'transitions': [['delay', 'maploaded', "update"]]}, { 'name' : 'EAA' , 'children': ['newdata', {"name": "done!", "final": True}], #environment analayser 'initial' : 'newdata', 'transitions': [['Analaysing', 'newdata', 'done!']] },{ 'name' : 'FAI' , 'children': ['newdata', {"name": "done!", "final": True}], 'initial' : 'newdata', 'transitions': ['CalculateandLearning', 'newdata', 'done!'] }] } ] transitions = [['flightcommand', 'engon', 'FCCActions'], ['poweroff-command', 'engon', 'engoff'], ['init', 'engoff', 'poweron'], ['engstart-command', 'poweron', 'engon'], ['startservice', 'poweron', 'cores']] m = HierarchicalGraphMachine(states=states, transitions=transitions, initial="engoff", show_conditions=True, title="Mermaid", auto_transitions=False) m.init()  I just make some change in this example but I got Error : Traceback (most recent call last): File ".../3.transitions/test.py", line 29, in <module> m = HierarchicalGraphMachine(states=states, transitions=transitions, initial="engoff", show_conditions=True, File "...\Python\Python38\lib\site-packages\transitions\extensions\diagrams.py", line 137, in __init__ super(GraphMachine, self).__init__( File "...\Python\Python38\lib\site-packages\transitions\extensions\markup.py", line 61, in __init__ super(MarkupMachine, self).__init__( File "...\Python\Python38\lib\site-packages\transitions\extensions\nesting.py", line 407, in __init__ super(HierarchicalMachine, self).__init__( File "...\Python\Python38\lib\site-packages\transitions\core.py", line 601, in __init__ self.add_states(states) File "...\Python\Python38\lib\site-packages\transitions\extensions\diagrams.py", line 230, in add_states super(GraphMachine, self).add_states( File "...\Python\Python38\lib\site-packages\transitions\extensions\markup.py", line 126, in add_states super(MarkupMachine, self).add_states(states, on_enter=on_enter, on_exit=on_exit, File "...\Python\Python38\lib\site-packages\transitions\extensions\nesting.py", line 521, in add_states self._add_dict_state(state, ignore, remap, **kwargs) File "...\Python\Python38\lib\site-packages\transitions\extensions\nesting.py", line 978, in _add_dict_state self.add_states(state_children, remap=remap, **kwargs) File "...\Python\Python38\lib\site-packages\transitions\extensions\diagrams.py", line 230, in add_states super(GraphMachine, self).add_states( File "...\Python\Python38\lib\site-packages\transitions\extensions\markup.py", line 126, in add_states super(MarkupMachine, self).add_states(states, on_enter=on_enter, on_exit=on_exit, File "...\Python\Python38\lib\site-packages\transitions\extensions\nesting.py", line 521, in add_states self._add_dict_state(state, ignore, remap, **kwargs) File "...\Python\Python38\lib\site-packages\transitions\extensions\nesting.py", line 980, in _add_dict_state self.add_transitions(transitions) File "...\Python\Python38\lib\site-packages\transitions\core.py", line 1032, in add_transitions self.add_transition(**trans) TypeError: add_transition() argument after ** must be a mapping, not str  how can I fix this?

Answer: This value:  'transitions': ['CalculateandLearning', 'newdata', 'done!']  should be wrapped in another list:  'transitions': [['CalculateandLearning', 'newdata', 'done!']]  Full source code: from transitions.extensions.diagrams import HierarchicalGraphMachine from IPython.display import display, Markdown states = ['engoff' , 'poweron' , 'engon' , 'FCCActions' #'emgstatus' , "whevent" , 'new data receive' ,{'name' : 'cores', 'final': True, 'parallel' : [{ 'name' : 'mapeng', 'children': ['maploaded', {"name": "update", "final": True}], 'initial' : 'maploaded', 'transitions': [['delay', 'maploaded', "update"]]}, { 'name' : 'EAA' , 'children': ['newdata', {"name": "done!", "final": True}], #environment analayser 'initial' : 'newdata', 'transitions': [['Analaysing', 'newdata', 'done!']] },{ 'name' : 'FAI' , 'children': ['newdata', {"name": "done!", "final": True}], 'initial' : 'newdata', 'transitions': [['CalculateandLearning', 'newdata', 'done!']] }] } ] transitions = [['flightcommand', 'engon', 'FCCActions'], ['poweroff-command', 'engon', 'engoff'], ['init', 'engoff', 'poweron'], ['engstart-command', 'poweron', 'engon'], ['startservice', 'poweron', 'cores']] m = HierarchicalGraphMachine(states=states, transitions=transitions, initial="engoff", show_conditions=True, title="Mermaid", auto_transitions=False) m.init()   I found the issue by editing the library code and adding these print functions: transitions/core.py  def add_transitions(self, transitions): """Add several transitions. Args: transitions (list): A list of transitions. """ print(f'{transitions=}') # Added here. for trans in listify(transitions): print(f'{trans=}') # And here. if isinstance(trans, list): self.add_transition(*trans) else: self.add_transition(**trans)  Which showed me that the error happened on this case: transitions=['CalculateandLearning', 'newdata', 'done!'] trans='CalculateandLearning'