[IPython-dev] IPython 0.9 is out!

Fernando Perez fperez.net at gmail.com
Sun Sep 14 05:08:04 EDT 2008


Hi all,

the IPython development team is very happy to announce the release of
version 0.9 of IPython.  You can download it from the usual location:

http://ipython.scipy.org/dist/

What's in here? Glad you asked...

*A project renewed*

This release is a special one, because it marks the unification of all
the work done on what used to be known as the 'IPython1' series, and
it brings together the contributions of a much larger team.  Over the
course of the last few years, we had kept two separate lines of
IPython development: one (the 0.8.x series) had all the command-line
functionality many of you use, and the other (known as 'IPython1') had
facilities for distributed and parallel computing, as well as a
cleaner design we hoped would eventually replace the previous series.
Over time it became clear that we'd all be better served by merging
the two codebases, and gradually blending all the excellent ideas of
the ipython1 work into the main trunk, so all users of IPython could
benefit from the new facilities while keeping everything they already
like about IPython and use regularly.

So this release marks the first step of this unification.  There is no
more IPython1 separate project: if you install IPython 0.9, you get
everything that used to be called 'ipython1', with only very minor API
changes.  The manual details most changes in this release:

http://ipython.scipy.org/doc/rel-0.9/html/changes.html#release-0-9

There are still important changes in the pipeline that will help make
the new facilities easier to use, as well as growing them in terms of
features and functionality.  But we wanted to put this version out as
soon as possible, in trying to keep a cycle with more frequent
releases now that our team has grown and that we all share a unified
front where we can all focus our development effort.

It is important to note that this means that IPython is now a larger
codebase, but for the basic terminal-only functionality, its
dependencies remain the same as always: the standard Python library
(and pyreadline under windows).  You only need extra dependencies
(mainly Twisted & friends) if you intend to use its distributed
computing facilities, much like before you'd only need Wx or Qt if you
wanted to use its GUI integration.  The core of IPython will remain as
a python-only, standard-library-based project as long as we can manage
to do it, and we don't see any changes on this front happening any
time soon.


*Highlights*

Please see the changes linked above for the full details; in brief:

- Full merge of the distributed/parallel code known as 'ipython1' into
the project.
- New integrated docs, using Sphinx and the utilities developed by
Matplotlib for their docs.
- New testing system that uses nose and tests not only pure python
code but also IPython's unique extensions.  As of this release we have
about 415 tests, and now *all* new code is required to have proper
tests before being accepted. A new script, 'iptest', runs the whole
test suite (use it as 'iptest -vv' for more detailed output).
- New focus on the GUI shells.  A new WX frontend has been developed
(ipythonx) that can serve as a full "ipython widget" for plugging into
WX apps.  The existing iptyhon-wx app will be updated to use this
machinery.  A native Cocoa (OSX) widget has also been developed.
- Improvements to synchronization with Windows editors.
- Cleaner interfaces for high-level distributed work (task, map, etc.)
- Proper security model for distributed work, using Twisted's foolscap
(http://foolscap.lothar.com/trac).  We welcome reviews, criticism and
improvements on the security front, where none of us is a real expert.


*A larger, stronger team*

Many people have contributed to this release, and we apologize in
advance if we've missed any of you either in this notice or in the
credits section of the manual.  Please *do* notify us of such
omissions, which we'll correct immediately.  In addition to the many
useful comments, bug reports, ideas, patches that many people
contributed, we'd like to highlight the work of some newcomers to the
IPython team who have either become regulars or who helped us with key
pieces of infrastructure for this release:

- Barry Wark: new work on all the frontend architecture and Cocoa shell.
- Gael Varoquaux: new work on all the frontend architecture and WX shell.
- Ondrej Certik: got all of our docs on the new Sphinx system.
- Stefan van der Walt: help with new config code.

This is in addition to the work of the regulars who've been
contributing to IPython for a while and who have also new code in this
release: Brian Granger, Min Ragan-Kelley, Ville Vainio, Laurent
Dufrechou, Vivian de Smedt, Robert Kern, Fernando Perez.  The full bzr
log for the project will show you the gory details of all the work
done by many.


*What next?*

We'll be merging new code soon, targeting the next (0.10) release in a
few months (2-3, time permitting).  We are now (after some growing
pains) firmly enjoying the benefits of a distributed version control
and hosting system (bzr & launchpad), with a strong emphasis on code
review, proper documentation and testing, to ensure that as the
project grows we can keep a robust and reliable base that is easy to
use by all.  Please let us know of any problems you may encounter.

Enjoy,

Fernando, on behalf of the IPython development team.



More information about the IPython-dev mailing list