[IPython-dev] frontend plans
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
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.
More information about the IPython-dev