対話型コンピューティング用に設計された,機能豊富なアーキテクチャであるIPythonがバージョン1.0に到達した。IPythonノートブックを他のフォーマットに変換するNbConvertが追加され,ユーザ入力に対する柔軟性などが向上している。
注目すべき変更点としては –
- 構成の変更 - カーネル関連のコードをIPython.kernelへ移動し,不要なパッケージ深さを回避するためfrontendサブパッケージを削除した。さらにSphinxディテクティブのインストール先をIPython.sphinxに変更して,他プロジェクトからもインポート可能にした。
- カーネルのサポートとして,TCPの他にZeroMQ IPCサポートを追加した。
- 公式APIの追加 – IPythonを組み込まずにipythonを起動する(start_ipython),起動済のIPythonインスタンスを獲得する(get_ipython),という2つが追加された。
- 入力変換フレームワーク(input transformation framework)が改訂され,より柔軟なカスタマイズが可能になった。
- エディタフックが復活して,TextMateなどをエディタとして使用可能になった。
- NbConvertによってIPythonのノートブックをhtml, latex, htmlスライドショー(Reveal.js), markdownなどのフォーマットに変換できるようになった。ただしこのツールは,アルファ版レベルのコードとして扱われる。
- 使用しているJavaScriptライブラリ (JQuery, JQuery UI, CoeMirror, Twitter Bootstrap, markedなど) が新しいバージョンに更新された。
- IPython.parallelがいくつか改良された。
このリリースでは2.6.5以降または3.2.1以降のPythonが必要である。また,後方互換性のない変更もいくつか存在する。詳細についてはリリースノートを,修正済の問題に関する完全なリストはgithub statsを,それぞれ参照してほしい。
IPythonには対話型シェルやブラウザベースのノートブック,対話型コンピューティングを実現するデータ可視化など,さまざまなインターフェースが用意されている。自分自身のプロジェクトや,並列コンピューティング用ツールに組み込むことも可能だ。プロジェクトとしてはPythonにフォーカスしているものの,言語に依存しない設計が行われている。他の言語をサポートするプロジェクトがすでにいくつか,試験的に実施中だ。