[IPython-dev] frontend plans

Gael Varoquaux gael.varoquaux at normalesup.org
Tue Jul 1 01:27:59 EDT 2008


On Mon, Jun 30, 2008 at 05:37:44PM -0700, Fernando Perez wrote:
> - Gael: as Brian asked, what are your design parameters regarding GUI
> blocking?  If you put the exec calls in a thread (like ipython
> -Xthread does) you have some hope of interface responsiveness, if you
> put them in a process you get full GUI responsiveness at the cost of
> other complexities.  Are you OK with a non-responsive GUI while exec()
> is busy?

I thought I had laid this out clearly: yes I am OK with that.

> - Zope interfaces: what do they exactly bring us?  Nose uses
> interfaces in a non-enforcing way by making them pure python classes
> that are meant to document behavior but *not* to be subclassed.
> Perhaps we could have something similar for the pure python version
> and then a ZI version for the rest of the twisted layer:

I am fine with Zope interfaces, we can imbed the files.

> In summary:  it seems from what Barry said in the end, as well as
> Gael, that we're all happy with the notion of a core, blocking system
> that ultimately is just a bells-and-whistles version of python's "exec
> code in namespace" statement.  It lets you manage that namespace,
> introspect it, it offers extensions, history, etc, but ultimately it's
> just wrapping that one single statement.  Because that statement
> *fundamentally* blocks, this system blocks.  You can embed it in a GUI
> or use it in a terminal, but it still blocks.

> Beyond that, it makes sense to wrap this in a Twisted layer that turns
> the result of exec() into a deferred.  This makes complete sense when
> the process doing exec() is different than your own (gui, network,
> etc) and you actively want to move on with your life, while having a
> notification mechanism for handling results/errors arising from the
> exec call.  At this point, the Twisted callback/errback system seems
> well tailored for this.

> And I certainly want to ensure that Gael finds the code that's in
> there sufficient for him to use in his WX project.   It seems to me
> that's the case, but have we left any question unanswered on that
> front?

I am fine with all you said up here. Your summary of the situation is
good, and I am happy with the way things turn out. I'll be on Mayavi
sprint this week, so pretty much off line for this discussin, sorry, but
I like the way everything sounds.

Thanks guys,

Gaël



More information about the IPython-dev mailing list