[IPython-dev] ANN: IPython 0.6.3 is out, with matplotlib support.

Fernando Perez Fernando.Perez at colorado.edu
Mon Aug 30 21:47:46 CDT 2004


Hi all,

IPython 0.6.3 is out at: http://ipython.scipy.org/dist.

Some highlights of this release:

1. Matplotlib support

The major new feature this time is integrated support for matplotlib 
(http://matplotlib.sourceforge.net).  Thanks to the help of John Hunter 
(matplotlib's author) and others, IPython now has a new option -pylab.  With 
this flag, it loads and configures matplotlib for interactive use, 
automatically adapting thread handling to whatever backend is configured in 
your .matplotlibrc file.  This means that you can use Tk, GTK, or WX and 
IPython automatically handles threading for you so that the matplotlib figure 
windows do NOT block the shell.

The matplotlib features have been tested and work fairly well under Linux, 
though it's quite possible that bugs remain (threading code is particularly 
tricky to debug).  However, under Mac OSX and Windows we have run into 
difficulties which we don't know how to solve yet.  It appears that for these 
platforms, at this point only the Tk/TkAgg backends work well.  Anyone who 
works on these systems and knows about threads is welcome to help; the place 
to look is towards the end of Ipython/Shell.py, where all the thread-handling 
classes reside.

I'd like to thank John for all the time he spent helping me with this.  I 
think for those interested in scientific computing, the combination of 
matplotlib and ipython makes for a very interesting environment.

Please note that this requires matplotlib version 0.62.4 or newer, as John and 
I coordinated the development of these features, and it required changes to 
both ipython and matplotlib.

2. GTK & WXPython threading

There is also experimental, but disabled by default, support for generic (i.e. 
not specific to matplotlib) GTK and WX threading.  Ideally, IPython should 
allow you to run arbitrary GTK or WX programs without blocking, and new 
-gthread/-wthread options were introduced for this purpose.  However, this 
code is not working correctly and my threading knowledge is very limited.

If anyone is interested in this kind of functionality, and can help with 
debugging, simply modify the start() function at the end of IPython/Shell.py 
to re-enable those options (they are commented out).  At that point the 
threading code will become active again.  Any fixes for this will be most welcome.


3. As usual, a number of small bugfixes recently reported are also included.


Enjoy, and please report any problems.

Best,

Fernando Perez.




More information about the IPython-dev mailing list