[IPython-dev] Ipython frontend (async, sync, line or block oriented...)

Gael Varoquaux gael.varoquaux at normalesup.org
Sun Aug 17 11:10:30 EDT 2008

On Sun, Aug 17, 2008 at 11:38:32AM +0200, Laurent Dufrechou wrote:
> I've started to take a look at your work. Seems from my quick review
> that you've done an asynchroneous frontend, block oriented while gaël
> as gone through the opposite :) sync and line oriented.

That's exactly it. We try to share a common base object, but as I was
still experimenting with my own interfaces, I may not have shared as much
as possible. If possible, in the long run, we want to move up methods
from the LineFrontend class to the BaseFrontend class.

> In fact, seems you've used ipython1 while gael has gone ipython0 no?
> (If I remember well, ipython1 can instanciate remote ipython instance)

Well, not really. I use an ipython1 instance (the Interpreter), but I
also instanciate an ipython0 to prefilter the lines to give the magics
and other goodies. In the long run, we should try and get rid of this
instance as the magics get abstracted from ipython0.

> Can you explain me the difference between block oriented and line oriented?

In block-oriented you can edit several blocks at a time. Line-oriented
does not know what blocks are, and only knows how to edit the last line
(or set of lines, in my case). Line-oriented is weaker than
block-oriented. For asynchronuous operation, block-oriented makes much
more sens than line-oriented.



More information about the IPython-dev mailing list