IPython 2.0 has been released. Its major new features include interactive HTML widgets, and directory navigation in the notebook dashboard.
IPython is an open source shell for interactive and parallel computing that are widely used in scientific computing, but can benefit any Python developer. Its tools include a browser-based notebook with support for code, text, mathematical expressions, inline plots and other rich media
Version 1.0 of IPython was released in August 2013 after nearly 12 years of development and its increased momentum is explained in part by wider recognition - its creator, Dr Fernando Perez, won the 2012 Award for the Advancement of Free Software - and some substantial funding. In December 2012 the project was awarded a $1.15 million grant from the Alfred P. Sloan Foundation to support its development over the two-year period 2013-14 and Microsoft contributed a further $100,000 in August 2013.
Whereas previously IPython supported Python 3 by running a 2to3 routine during setup the project has now switched to a single codebase which runs natively on Python 3.3 and 2.7. This means that to use IPython 2.0 you need to be using Python 3.3.0/Python 2.7.2 or later. It does not support Python 3.0, 3.1, 3.2; or 2.5, 2.6.
The release has introduced a security model to prevent untrusted code from executing on users’ behalf when notebooks open with the following characteristics:
- Trust is determined by signing notebooks
- Untrusted HTML output is sanitized
One of the main new features in this release is the addition of interactive widgets:
(click to enlarge)
IPython.html.widgets lets you manipulate Python objects in the kernel with GUI controls in the notebook. IPython comes with a few built-in widgets for simple data types, and there's an API for build more which is fully documented.
As well as persistent URLs for notebooks, directory navigation in the notebook dashboard allows navigation into subdirectories. The dashboard has a "Running" tab which shows all the running notebooks.
There's also a new modal user interface in the notebook with separate Edit and Command modes, allowing easier keyboard commands and making keyboard shortcut customization possible.
IPython and its growing popularity does suggest that we are moving beyond the standalone language era and into the total IDE/Environment era of programming. It now matters just as much how well a language is provisioned and supported by its programming environment as how good its syntax is. For a broader view see: Tools Doth A Language Make.
IPython Sponsored By Microsoft
IPython 1.0 Released
IPython Creator Wins Free Software Award
Python 3.3 Overtakes 2.7 - Time To Switch?
Python 3.4 Is Now Available With New Features
Tools Doth A Language Make
Mining the Social Web (book review)