Parallel

IPython 1.0 Language-Agnostic Architecture

By Adrian Bridgwater, August 18, 2013

Architecture for interactive computing, includes parallel tools

Interactive computing architecture IPython has reached its 1.0 version release. This project's primary focus is on the Python language, but its architecture is designed in a language-agnostic way to facilitate interactive computing in any language.

Reports

Webcasts

Core documentation from the project confirms that an interactive kernel here speaks to clients such as the terminal or web notebook via a specified protocol and all features of a kernel are available to all clients.

According to the project team, "We ship the official IPython kernel, but kernels for other languages are being currently developed, with prototypes in Ruby and JavaScript already existing."

The 1.0 version release adds NbConvert, the software needed to convert IPython notebooks to a variety of other formats. IPython can be embedded into existing developer projects and also benefits from the inclusion of a number of tools designed to aid parallel computing.

The project release notes detail two major reorganizations in IPython 1.0:

The team has added IPython.kernel for all kernel-related code. This means that IPython.zmq has been removed, and much of it is now in IPython.kernel.zmq, some of it being in the top-level IPython.kernel.

The team has removed the frontend subpackage, as it caused unnecessary depth. So what was IPython.frontend.qt is now IPython.qt, and so on. The one difference is that the notebook has been further flattened, so that IPython.frontend.html.notebook is now just IPython.html. There is a shim module, so IPython.frontend is still importable in 1.0, but there will be a warning.

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task.
However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Video

This month's Dr. Dobb's Journal

This month,
Dr. Dobb's Journal is devoted to mobile programming. We introduce you to Apple's new Swift programming language, discuss the perils of being the third-most-popular mobile platform, revisit SQLite on Android
, and much more!