ANN: IPython 0.4.0

Fernando Perez fperez528 at yahoo.com
Tue May 20 18:28:06 EDT 2003


Announcing an update to IPython, an enhanced interactive Python shell. 

* 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.


* WHERE to find it: http://ipython.scipy.org

It's been a while (over a year) since I've announced an ipython release here. 
But there has been a steady stream of development, so if you haven't upgraded
in a while, you should.


* NEW since last public release (ChangeLog included with full details, I only
give highlights here because there have been too many changes).  Note that
these are the changes since 0.2.14, which I did not announce here.  The changes
since 0.2.10, the last one announced in c.l.py are FAR more substantial, and
simply too many to list (almost half the changelog).


Bug Fixes
---------

- Fixed many crashes caused by the auto-eval code.  The new code is much 
safer, and free of potential side-effects.  Autocalling became controllable at 
runtime via @autocall.  This should be considered a critical fix.

- Fix namespace handling in @run which could cause problems with pickle.

- Fixed color handling across many terminal types.  Except for MS-Windows 
native cmd.exe windows, all terminals seem to handle color fine now.

- Fixed the installer removing many ugly distutils-related hacks/bugs.  It 
doesn't generate spurious errors and warnings anymore.

- Various fixes to the Gnuplot support (an important one in hardcopy).

- Fixed crash when pdb.pm() was called.

- Fixed potentially destructive change of files in ~ when ipython ran first.

- Fixed crash for user-defined prompt strings with unmatched '%' in them.

- Better handling of sys.excepthook to protect against spurious errors when 
exceptions are generated by WxWindows.

- Internal workaround in case 'kinds' is not found (recently removed from 
Numeric's standard distribution).

- Added workaround for SWIG crashes when inspecting objects.


New features/enhancements
-------------------------

- Optional (off by default) auto-indenting.  It can be toggled at runtime.

- Better support for mouse/non mouse versions of Gnuplot.

- Better timing routines (under Unix) in genutils, which use getresource(). 
These avoid the wraparound problems inherent in time.clock().

- IPython now supports -c option, just like regular python.

- IPython now has manpages (for ipython and pycolor).

- RPMS are provided by me, and Debian/Fink packages are being contributed by 
Jack Moffitt and Andrea Riciputi (respectively).

- Improved (X)Emacs integration.  It now seems to work almost perfectly (using 
Alex Schmolck's support files, available at ipython's site).



* PORTABILITY: Linux (and other unices, including Mac OSX), Windows XP/2k, 
Win9x (tested on 98, don't really know about 95).

Note to Windows users: while I check that IPython installs and runs fine under
WinXP, many of its better features are not available there.  Some of this is
due to the limitations of the platform, some to the fact that I simply do not
use windows myself and hence can not improve it there.  Some users are helping
in this direction, so things may improve in the future faster than they have
before.


* Python version: requires 2.1 or newer.


* License: LGPL (a few files from third parties carry MIT licenses).


Cheers,

Fernando Perez.




More information about the Python-list mailing list