##// END OF EJS Templates
Fix HTML import in tour notebook and add video credit to W. Stein.
Fix HTML import in tour notebook and add video credit to W. Stein.

File last commit:

r2524:4fe04245
r5795:698e9abe
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()