IPython(Interactive Python)は、複数のプログラミング言語で対話型コンピューティングを行うためのコマンドシェルであり、元々はPythonプログラミング言語向けに開発されました。イントロスペクション、リッチメディア、シェル構文、タブ補完、履歴などの機能を提供します。IPythonは以下の機能を提供します。

IPythonは、並列分散コンピューティングを提供するアーキテクチャに基づいています。IPythonは、並列アプリケーションを対話的に開発、実行、デバッグ、監視することを可能にするため、IPythonのI(対話型)という名称が付けられています。[ 4 ]このアーキテクチャは並列処理を抽象化することで、IPythonが以下のようなさまざまなスタイルの並列処理をサポートできるようにしています。[ 5 ]
IPython 4.0のリリースに伴い、並列計算機能はオプションとなり、ipyparallelというPythonパッケージで提供されるようになりました。そして現在では、ipyparallelの機能のほとんどが、 Daskのようなより成熟したライブラリによってカバーされています。
IPython は、 NumPyやSciPyなどのSciPy スタック[ 6 ]ライブラリを頻繁に利用しており、多くの場合、多くの Scientific Python ディストリビューションのいずれかと一緒にインストールされます。[ 6 ] IPython は、 SciPyスタックの一部のライブラリ、特にmatplotlibとの統合を提供しており、 Jupyterノートブックで使用するとインライングラフを生成します。Python ライブラリは、リッチなオブジェクト表示をカスタマイズするために、IPython 固有のフックを実装できます。たとえば、 SymPy は、IPython コンテキスト内で使用されるときに、数式をレンダリングされたLaTeXとしてレンダリングし、Pandasデータフレームは HTML 表現を使用します。[ 7 ]
IPython は、 Tkinter、PyGTK、PyQt / PySide、およびwxPythonとの非ブロッキングな対話を可能にします(標準の Python シェルは Tkinter との対話のみを可能にします)。IPython は、非同期ステータス コールバックやMPIを使用して、並列コンピューティング クラスタを対話的に管理できます。IPython は、システム シェルの代替としても使用できます。[ 8 ]デフォルトの動作はUnix シェルとほぼ同じですが、カスタマイズが可能で、ライブ Python 環境でコードを実行する柔軟性があります。
IPython 5.x (長期サポート) シリーズは、Python 2 をサポートする最後の IPython バージョンです。IPython プロジェクトは、Python 3 Statementに最初に参加したプロジェクトの 1 つとして、2020 年以降は Python 2 をサポートしないことを約束しました[ 9 ]。6.x シリーズは Python 3 以降とのみ互換性があります。ただし、異なる Python バージョンで IPython カーネルと Jupyter Notebook サーバーを実行することはまだ可能であり、ユーザーは新しいバージョンの Jupyter で Python 2 にアクセスできます。

2014年、IPythonの生みの親であるフェルナンド・ペレスは、 IPythonから派生したプロジェクトであるProject Jupyterを発表しました。[ 10 ] IPythonはJupyterのPythonシェルおよびカーネルとして存続しましたが、ノートブックインターフェースやその他の言語に依存しないIPythonの部分はJupyterの名前の下に移されました。[ 11 ] [ 12 ] Jupyterは言語に依存しず、その名前はJupyterがサポートするコアプログラミング言語であるJulia、Python、およびRを参照しています。[ 13 ]
Jupyter Notebook(旧称 IPython Notebook)は、Jupyter ノートブックの作成、実行、および視覚化を行うためのWeb ベースの対話型計算環境です。これは、 Maple、Mathematica、SageMathなどの他のプログラムのノートブック インターフェースに似ており、1980 年代に Mathematica で始まった計算インターフェース スタイルです。[ 14 ]数十の言語の実行環境(カーネルとも呼ばれる)をサポートしています。デフォルトでは、Jupyter Notebook には IPython カーネルが同梱されていますが、2018 年 5 月現在、100 を超える Jupyter カーネルが存在します。
IPythonは、一般的なコンピューター関連の報道やその他のメディアで取り上げられており、[ 15 ] [ 14 ]科学会議でも存在感を示しています。[ 16 ]科学および工学の作業においては、 matplotlibの補助ツールとして紹介されることがよくあります。[ 17 ]
2013年1月1日より、アルフレッド・P・スローン財団は、IPythonの開発を2年間支援すると発表した。[ 18 ]
2013年3月23日、フェルナンド・ペレスはIPythonの功績により、フリーソフトウェア財団のフリーソフトウェア推進賞を受賞した。
2013年8月、マイクロソフトはIPythonの継続的な開発を支援するために10万ドルを寄付した。[ 19 ]
2014年1月、このプロジェクトは、コーディングツール部門でDr. Dobb'sからJolt Productivity Award [ 20 ]を受賞しました。2015年7月、このプロジェクトは、Gordon and Betty Moore Foundation、Alfred P. Sloan Foundation、Leona M. and Harry B. Helmsley Charitable Trustから600万ドルの資金を獲得しました。[ 21 ]
2018年5月、2017年ACMソフトウェアシステム賞を受賞しました。[ 22 ]この賞を受賞したチームとしては最大規模です。[ 23 ]