The IPython interactive shell running in gnome-terminal on Ubuntu 11.04, showcasing the introspection and system shell command features.
IPython is an interactive shell for the Python programming language that offers enhanced introspection compared with the standard shell, additional shell syntax, code-highlighting, and tab-completion.
A number of popular articles in the computer press have discussed the advantages of IPython, and it is a component of the SciPy package. It lends itself well to rapid-prototyping and can often be seen in conjunction with Matplotlib for scientific and engineering work.
Another notable feature is that IPython works with the major GUI frameworks (Tkinter, GTK, Qt and WX) in a non-blocking fashion allowing for interactive development and debugging of GUIs. The standard Python shell only allows this with Tkinter. Capabilities have been recently added to IPython to interactively manage highly parallel computing clusters using asynchronous status callbacks and/or classic MPI.
IPython can also be used as a system shell replacement, especially on Windows which has a minimally capable shell. IPython's default behaviour is largely familiar from Unix shells, but it allows customizability and the flexibility of executing in a live Python environment.