ANN: IPython 0.6.1
fperez528 at yahoo.com
Mon Jul 26 21:15:37 EDT 2004
Announcing an update to IPython, an enhanced interactive Python shell.
I've just uplodaded officially IPython 0.6.1. Many thanks to all who
contributed comments, bug reports, ideas and patches. I'd like in particular
to thank Ville Vainio, who helped a lot with many of the features for pysh,
and was willing to put code in front of his ideas.
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.
* 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).
- BACKWARDS-INCOMPATIBLE CHANGE: Users will need to update their ipythonrc
files and replace '%n' with '\D' in their prompt_in2 settings everywhere.
Sorry, but there's otherwise no clean way to get all prompts to properly
align. The ipythonrc shipped with IPython has been updated.
- 'pysh' profile, which allows you to use ipython as a system shell. This
includes mechanisms for easily capturing shell output into python strings and
lists, and for expanding python variables back to the shell. It is started,
like all profiles, with 'ipython -p pysh'. The following is a brief example
of the possibilities:
planck[~/test]|3> $$a=ls *.py
<4> <type 'list'>
planck[~/test]|5> for f in a:
|.> if f.startswith('e'):
|.> wc -l $f
You can get the necessary profile into your ~/.ipython directory by running
'ipython -upgrade', or by copying it from the IPython/UserConfig directory
(ipythonrc-pysh). Note that running -upgrade will rename your existing config
files to prevent clobbering them with new ones.
This feature had been long requested by many users, and it's at last
officially part of ipython.
- Improved the @alias mechanism. It is now based on a fast, lightweight
dictionary implementation, which was a requirement for making the pysh
functionality possible. A new pair of magics, @rehash and @rehashx, allow you
to load ALL of your $PATH into ipython as aliases at runtime.
- New plot2 function added to the Gnuplot support module, to plot dictionaries
and lists/tuples of arrays. Also added automatic EPS generation to hardcopy().
- History is now profile-specific.
- New @bookmark magic to keep a list of directory bookmarks for quick
- New mechanism for profile-specific persistent data storage. Currently only
the new @bookmark system uses it, but it can be extended to hold arbitrary
picklable data in the future.
- New @system_verbose magic to view all system calls made by ipython.
- For Windows users: all this functionality now works under Windows, but some
external libraries are required. Details here:
- Fix bugs with '_' conflicting with the gettext library.
- Many, many other bugfixes and minor enhancements. See the NEWS file linked
above for the full details.
Enjoy, and please report any problems.
More information about the Python-list