[IPython-dev] ANN: IPython 0.6.3 is out, with matplotlib support.
Fernando.Perez at colorado.edu
Mon Aug 30 22:47:46 EDT 2004
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
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.
More information about the IPython-dev