[IPython-dev] Proposed IPython changes

Tzanko Matev tsanko at gmail.com
Fri Jul 1 14:13:53 EDT 2005

Hi Fernando,

I'm going to start implementing the python code plug-in in the notebook
interface. I plan on using the Shell class from PyCrust. For that I need
an interpreter class which mimics the behaviour of PyCrust's own. I will
try to make the needed modifications to InteractiveShell. At first,
however, I plan to convert make_IPython into a number of smaller
functions. Then I will start making methods for configuring an
InteractiveShell instance, that these functions will use instead of
directly messing with the internals. And after that I will implement
what is needed for the Shell class of PyCrust.

>From new_design.pdf I understand that part of the cleanup is a new class
structure which has a better API. My idea is this: make a class Kernel,
which will contain all the IPython functionality. Then the class
InteractiveShell will simply be a terminal interface to Kernel, and the 
notebook program will be a graphical interface. Kernel should contain
methods for running code, loading configuration, loading logs, etc. I'm
not that familiar with the current code base so I don't know how long
this rewrite would take. For now I will only implement parts that are
needed for the GUI. Please tell me if you like this idea, and what do
you think the new class design should be. I want to make the GUI in such
a way that the transition to the new design be as easy as possible.

Best regards,

More information about the IPython-dev mailing list