ANN: IPython 0.6.3 is out, with matplotlib support.
Fernando.Perez at colorado.edu
Tue Aug 31 23:21:15 CEST 2004
Announcing an update to IPython, an enhanced interactive Python shell.
As always, a big Thank You goes to Enthought and the SciPy crowd for hosting
ipython and all its attending support services (bug tracker, mailing lists,
website and downloads, etc).
* WHAT is IPython? IPython tries to:
1. Provide an interactive shell superior to Python's default. IPython has many
features for object introspection, system shell access, and its own special
command system for adding functionality when working interactively.
2. Serve as an embeddable, ready to use interpreter for your own programs.
IPython can be started with a single call from inside another program,
providing access to the current namespace.
3. Offer a flexible framework which can be used as the base environment for
other systems with Python as the underlying language. In particular, it
provides a profile (pysh) which allows its usage as a quasi system shell, with
* WHERE to find it: http://ipython.scipy.org
* Some highlights of this release (details in the changelog):
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
3. As usual, a number of fixes for recently reported bugs are also included.
Enjoy, and please report any problems.
More information about the Python-announce-list