New features in 0.8.2¶
This does not list bugfixes, enhanced internals or api additions.
- “Shadow history” remembers everything you’ve entered, forever. Remember that arcane command line you entered three weeks ago? Just grep the shadow history with “%hist -g”! See cookbook for details.
- %rep is a new magic function that allows you to fetch command lines from history for editing. Do “%rep?” for details.
- System command aliases (created by %rehashx) are lower case in win32.
- Macros can now take arguments. See cookbook.
- %macro without arguments lists available macros.
- Directory history (the easiest way to see it is by doing ‘cd -<TAB>’) is now persistent across sessions.
- ipython -i -c <cmd>: -i (interact) prevents IPython session from exiting after executing <cmd>. <cmd> can now contain IPython syntax (!foo, %magic etc).
- new profiles: doctest, zope. scipy is now in ipy_profile_scipy.py instead of ipythonrc-scipy.
- new extensions:
- ipy_traits_completer.py: complete Traits attributes
- ipy_legacy.py: enable deprecated features
- mglob.py: enhanced globbing -
%mglob !.svn/ rec:*.py
- ipy_exportdb.py: create a portable .py file from your %store’d macros, aliases, strings and bookmarks for distribution. See cookbook .
- ipy_render.py: win32: render templates using Itpl format to clipboard (e.g. render ‘hello $a’). See cookbook.
- ipy_editors.py: Bunch of popular editors readily configured for IPython. See ipy_user_conf.py for instructions on how to enable them.
- ipy_fsops.py: Has useful shell utils for plain (non-cygwin enabled) win32 installations: icp, imv, imkdir, igrep, irm, collect (collect is useful for others as well).
- py2exe version supported (ipykit)
- The title bar of IPython window shows the currently executing system command.
- Prompt on win32 in pysh (‘-p sh’ profile) now has the drive letter for enhanced location awareness, and uses / instead of .
- Errors from misusing magics are much less verbose now (due to UserError exception).
- String Lists provide a convenient way to manipulate command output. See Cookbook.
- Directory stack (%pushd, %popd, %dirs) works more predictably now.
- %time allows IPython expressions (which includes system commands - e.g. try “%time !ls”)
- Callable aliases can be used to extend IPython (provide new commands) in a more elegant manner than magic commands. Also, no % is necessary/allowed. See ipy_fsops.py for examples.
- Improved Leopard support for tab-completion, though a few issues remain.
- We still get crashes from KeyboardInterrupt occasionally (caused by pressing ctrl+C or ctrl+break)
- Unicode support is not yet perfect, so expect problems on Unicode input/output.
- The manual is hopelessly out of date. This is something we will look into during 0.8.3 cycle; in the meantime, see the documentation page on the wiki [superseded], and the user-maintained cookbook.
- Under OSX Leopard, we are seeing some readline-related problems with history recall. It is not clear yet whether the issue is with IPython or Leopard’s readline support itself. We’re investigating the issue.