ANN: IPython 0.6.3 is out, with matplotlib support.

Fernando Perez Fernando.Perez at
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 
python syntax.

* WHERE to find it:

* Some highlights of this release (details in the changelog):

1. Matplotlib support

The major new feature this time is integrated support for matplotlib
(  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/, 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/
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.


Fernando Perez.

More information about the Python-announce-list mailing list