Project Jupyter
Jupyter Notebookは、数多くの人気のあるオープンソースライブラリに基づいて構築されたブラウザベースのREPLを提供する。
IPython
ØMQ
トルネード(ウェブサーバー)
jQuery
ブートストラップ(フロントエンドフレームワーク)
MathJax
Jupyter Notebookは多くのカーネルに接続できるため、多くの言語でプログラミングできる。 デフォルトでは、Jupyter NotebookにはIPythonカーネルが付属している。 2.3リリース (2014年10月)の時点で、 Python 、 R 、 Julia 、 Haskellを含む多くのプログラミング言語用に、現在49のJupyter互換カーネルがある。
Notebookインターフェイスは、0.12リリース (2011年12月)にIPythonに追加され、2015年にJupyter Notebookに名前が変更された(IPython 4.0 – Jupyter 1.0)。 Jupyter Notebookは、 Maple 、 Mathematica 、1980年代にMathematicaで生まれた計算インターフェーススタイルであるSageMathなどの他のプログラムのノートブックインターフェースに似ている。 The Atlanticによると、Jupyterの関心はMathematicaノートブックインターフェイスの人気を2018年の初めに追い越した。
Jupyter Notebookドキュメントの形式は"Jupyter Notebook format"であり、拡張子は.ipynbである。カーネルや言語等のメタデータ、ソースに相当するcode cellsやMarkdown cells、実行結果を記述するセルなどからなる。ファイル形式はJSONであり、テキストデータとして記述・編集することが可能である。.ipynbを扱うリファレンス実装にはnbformatがある。
Jupyter Notebook (旧IPython Notebooks)はJupyter Notebookドキュメントを作成・共有するためのウェブアプリケーションである。Jupyter Notebookドキュメントはプログラムコード、Markdownテキスト、数式、図式等を含むことができる。これにより数値計算アルゴリズムとシミュレーション結果、統計解析コードとその実行結果グラフ、機械学習モデルと推論出力など、様々なプログラムとその結果を再実行可能な1つのドキュメントとして表現できる。
Jupyter Notebookの内部ではコードやテキストがNotebook Documentとして書かれ、Jupyter Notebookがそれを表示・編集可能にし、Notebook サーバーが保存・バリデーションをおこない、Kernelが実際のコード実行をおこなう。口語的な「ノートブック」という語がこの内のどの段階を指すかは文脈による。
Jupyter Notebookは、 nbconvertライブラリまたは「jupyter nbconvert」コマンドを介して、Webインターフェースの「Download As」を介して、多くのオープンな標準出力形式( HTML 、 プレゼンテーションスライド 、 LaTeX 、 PDF 、 ReStructuredText 、 Markdown 、 Python )に変換できる。シェルのラインインターフェイス。 Web上のJupyterノートブックドキュメントの視覚化を簡素化するために、nbconvertライブラリはNbViewerを介してサービスとして提供されており、公開されている任意のノートブックドキュメントへのURLを取得し、その場でHTMLに変換してユーザーに表示できる。