[IPython-dev] the state if IPython development...

Brian Granger ellisonbg.net at gmail.com
Wed Mar 19 23:10:16 EDT 2008

> I'm having a bit of trouble evaluating various threads of ipython
>  development and am wondering if I'm missing a comms channel.  I have
>  various problems which are solveable but don't know which elements of
>  IPython are going to be refactored away in favor of the IPython1
>  architecture.

Sorry about this, it hasn't helped that I have been traveling a lot
recently and sick as well.

>  More concerning is the state of Qt4.  There is a "critical" bug entered
>  in trac: http://projects.scipy.org/ipython/ipython/ticket/208

The Qt4 bug in IPython0 should be fixed.  Period.  We just need
someone to tackle it.  There are just too many people who use it to
stop fixing bugs like this.  Our overall plan is to continue
supporting IPython0 until IPython1 is a full replacement.

>  Clearly, a QCoreApplication (or QApplication) instance is
>  auto-constructed due to the -q4thread switch... and since calculate.py
>  constructs one also, QT dumps core  (why QT decides to core-dump as the
>  error reporting strategy is beyond me... but thats whats going on).
>  Qt4 support is indeed broken... but unnecessarily so. I have Qt4 running
>  with twisted in a naked ipython shell.  I simply construct my qt4reactor
>  and use embedded Qt4 code.  Can't pull in pylab because it renames
>  packages which collide with PyQt4 (in particular, wrapping QObject in a
>  different module... don't get that yet).  and this is beyond the issues
>  associated with QSocketNotifier being invoked from a non-qt thread.  I'm
>  sure this is straightforward but, again, I can't determine whether time
>  spent here is worthwhile.  Seems to me that IPython1's architecture will
>  make most of these problems "just go away" as its a far more
>  comprehensive architecture.
>  (BTW: the twisted qt reactor can be retrieved from
>  http://noc2.tarbox.org:8080/?p=qtreactor/.git;a=summary )
>  On a related point, I think we're headed for trouble with wx.  I notice
>  that its included in IPython1... but the twisted wxreactor is a bit
>  broken.  I think its easy to fix, but the reason its broken is because
>  wx was poorly behaved when the wxreactor was developed (stopped
>  servicing timers, IO notification during modal windows etc) and the
>  twisted folks used threading to get around the difficulty.  Nothing
>  wrong with that, other than its ugly (and will cause other threadosity
>  issues) but the code doesn't work properly (fails tests, I support the
>  buildbot) and I wonder whether its worth fixing or whether its easier to
>  get wx to behave (I can drill down into the issues here with anyone who
>  wants but I won't digress further here).

What is included with IPython1 (wx is not?).  We do need to have some
discussions about how we will handle GUI integration within IPython1.
This is a much bigger discussion though - probably need to start a new
thread for this.

>  Finally, I support 4 buildbots for twisted.  I'm willing to provide
>  these same assets for IPython1 development (each server has dual - 4
>  core processors = 8 processors / server totaling 32 processors).  How to
>  properly use this setup for cluster testing would need to be discussed.

For now the IPython1 test suite does not need multiple processors (we
are using twisted's trial).  But, we surely could use an IPython1
buildbot.  Eventually we will definitely probably have multiprocess
tests though.

>  -glenn
>  --
>  Glenn H. Tarbox, PhD
>  glenn at tarbox.org
>  _______________________________________________
>  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