##// END OF EJS Templates
add EvalFormatter for batch system (PBS) launcher templates...
add EvalFormatter for batch system (PBS) launcher templates parallel docs now reflect use of Formatter instead of Itpl.

File last commit:

r2524:4fe04245
r4004:551fa498
Show More
ipgraph.txt
61 lines | 1.7 KiB | text/plain | TextLexer
====================================================
Notes on code execution in :class:`InteractiveShell`
====================================================
Overview
========
This section contains information and notes about the code execution
system in :class:`InteractiveShell`. This system needs to be refactored
and we are keeping notes about this process here.
Current design
==============
Here is a script that shows the relationships between the various
methods in :class:`InteractiveShell` that manage code execution::
import networkx as nx
import matplotlib.pyplot as plt
exec_init_cmd = 'exec_init_cmd'
interact = 'interact'
runlines = 'runlines'
runsource = 'runsource'
runcode = 'runcode'
push_line = 'push_line'
mainloop = 'mainloop'
embed_mainloop = 'embed_mainloop'
ri = 'raw_input'
prefilter = 'prefilter'
g = nx.DiGraph()
g.add_node(exec_init_cmd)
g.add_node(interact)
g.add_node(runlines)
g.add_node(runsource)
g.add_node(push_line)
g.add_node(mainloop)
g.add_node(embed_mainloop)
g.add_node(ri)
g.add_node(prefilter)
g.add_edge(exec_init_cmd, push_line)
g.add_edge(exec_init_cmd, prefilter)
g.add_edge(mainloop, exec_init_cmd)
g.add_edge(mainloop, interact)
g.add_edge(embed_mainloop, interact)
g.add_edge(interact, ri)
g.add_edge(interact, push_line)
g.add_edge(push_line, runsource)
g.add_edge(runlines, push_line)
g.add_edge(runlines, prefilter)
g.add_edge(runsource, runcode)
g.add_edge(ri, prefilter)
nx.draw_spectral(g, node_size=100, alpha=0.6, node_color='r',
font_size=10, node_shape='o')
plt.show()