[IPython-dev] Embedding shell+matplotlib in the same Qt GUI

Ray Osborn ROsborn at anl.gov
Wed Feb 1 18:55:43 EST 2012

I am exploring the use of IPython in a "simple" Qt GUI, in which the shell and Matplotlib plots are locked together in a Qt VBox layout, with other docked widgets displaying items in the user's namespace. I'm attracted to the idea of using the two-process model for all the reasons it was developed but I'm not sure whether it's practical. If I build the GUI around the IPython front-end, then I presume that the kernel wouldn't have access to the plot display widget in my GUI. If I instead build the GUI around the kernel, then I presume I can't  embed the IPython shell inside my GUI, since the front-end is in a separate GUI. Is that correct?

I did wonder if it was possible to write special call handlers to route plots through the kernel manager, but it couldn't then be interactively updated from within the GUI (again, I'm guessing).

I'm out of my depth here, so I would welcome some advice. Is the in-process kernel that Robert Kern discussed in December the way to go, and has there been any progress on that? Or is there some way of embedding an IPython shell in the kernel's GUI, while preserving all the Qt-goodness that the Qt console provides.

P.S. Would it be possible to update the API documentation to include the frontend and zmq modules? I would have found the inheritance diagrams a great help.
Ray Osborn
Materials Science Division
Argonne National Laboratory
Argonne, IL 60439, USA
Phone: +1 (630) 252-9011
Email: ROsborn at anl.gov

More information about the IPython-dev mailing list