[IPython-dev] Twisted reactor + IPython0

Fernando Perez fperez.net@gmail....
Thu Mar 20 12:47:36 CDT 2008


On Thu, Mar 20, 2008 at 1:33 AM, Ville M. Vainio <vivainio@gmail.com> wrote:
> On Thu, Mar 20, 2008 at 10:13 AM, Laurent Dufréchou
>  <laurent.dufrechou@gmail.com> wrote:
>
>  >  With this you can have a really really good dev env for graphical app.
>  >  Moreover designing such a server will be raally good for people who want an
>  >  ipython console, because with this all the wx/QT/... console code will share
>  >  the same ipython object that will save lot of work.
>  >
>  >  Glenn, perhaps my idea is stupid, but do you thing we will have a lot of
>  >  performance related problem with this, do you see any issue as you've worked
>  >  a little on something like this??
>  >  Perhaps it is a too big thing for a simple Ipython console...
>
>  It really isn't, once we get the twisted reactor to be the "core" of
>  IPython0. There is lots of fun to be had with this.

It would certainly be great to have this done in ip0 as an optional
component: we could always tell our users: you have two options for
gui support:

 - the threads-based hack we have, which mostly but not always works,
but has no dependencies outside the stdlib and your own GUI toolkit.
 - a robust, solid, twisted-based one (if this really proves to be the
case in the long run).

The second option is one more dependency but if it proves to really do
the right thing, in the end I'm sure most users would run with it.

After both options have existed for a while and receive real-world
testing on all backends/platforms, we can see if we decide to
completely deprecate the first or keep it.

In addition, a twisted-based design is very much in line with the ip1
architecture, so I'd love to see this done for all the GUI backends
using twisted.  Does it have reactors for Qt3/4, Wx and GTK that work
on Windows, Linux and OSX?  That's our support requirement currently
(even if it's not perfect, all those do work and have real users).

cheers,

f


More information about the IPython-dev mailing list