[IPython-dev] Moving forward with GUI's (was Re: Help! TR: TR: Ipython plugin

Brian Granger ellisonbg.net at gmail.com
Tue Jun 3 14:50:42 EDT 2008

> I would encourage you guys to take a look at the
> ipython1.frontends.frontendbase class. My intention is to develop this
> into a base class for all GUI frontends. The underlying assumption is
> that GUI frontends will interact with the ipython interpreter via the
> ipython1.kernel.engineservice (Twisted) API. The benefits, as I see
> them for this approach is to avoid rewriting the Wheel of GUI
> Integration (the Twisted guys have already done this), and to make it
> _very_ easy to provide remote/parallel capabilities from within the
> GUI frontend.


> Of course, code speaks louder than words and I invite you to hack on
> the frontends package (currently in ipython1-cocoa branch, but I
> assume soon to be merged inwards towards ipython1-dev or trunk). The
> frontendbase is currently a work in progress, but I've attempted to
> make it clear where subclasses (e.g. GUI frontend implementations
> should subclass particular methods to gain the desired functionality).
> The intention is that frontends are an aggregate of a frontendbase
> subclass and a GUI widget or a GUI widget (such as a text widget) that
> subclasses both the GUI toolkit's widget and the frontendbase.
> barry
>> - correct integration with twisted's event loop.  There's a lot of
>> interest in the -twisted option working right, and twisted has GUI
>> integration mechanisms (as discussed here earlier); we just want the
>> whole thing to play nice with the networking layer used for
>> distributed use.  Note that the distributed use is not just for
>> parallel computing: you may also want a Qt/Wx gui working on a remote
>> ipython instance...
> If we stick with developing GUI interfaces through the engineservice
> interface, we get all this for free. In addition, I think such an
> approach will help drive the ipython1->ipython0 integration because it
> will highlight the most pressing areas where we the ipython1's core
> (exposed via engineservice) is not up-to-par wrt the ipython0
> InteractiveShell.
>> - the needs for the same abstractions to work over the network from
>> frontends like a web browser that uses JavaScript.
>> Cheers,
>> f
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://lists.ipython.scipy.org/mailman/listinfo/ipython-dev
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://lists.ipython.scipy.org/mailman/listinfo/ipython-dev

More information about the IPython-dev mailing list