Project Jupyter
Project Jupyter ([ˈdʒuːpɪtər] ( 音声ファイル)) は、「数十のプログラミング言語にわたるインタラクティブコンピューティング用のオープンソースソフトウェア 、オープンスタンダード、サービスを開発する」ために設立された非営利団体である。 Project Jupyterは、2014年にフェルナンド・ペレスによってIPythonから分離された、数十の言語の実行環境をサポートしている。 Project Jupyterの名前は、Jupyterによってサポートされている3つのコアプログラミング言語であるJulia 、 Python 、 Rへの言及であり木星の衛星の発見を記録したガリレオ・ガリレイのノートブックへのオマージュでもある 。 Project Jupyterは、インタラクティブコンピューティング製品であるJupyter Notebook、JupyterHub、およびJupyter Notebookの次世代バージョンであるJupyterLabを開発してサポートしている。 歴史2014年、 フェルナンド・ペレスは、 IPythonからProject Jupyterと呼ばれるスピンオフプロジェクトを発表した。 [2] IPythonは、JupyterのPythonシェルおよびカーネルとして存在し続けるが、 ノートブックやその他の言語に依存しない IPythonの部分は、Jupyterの名前で移動した。 [3] [4] Jupyterは言語に依存せず、 Julia 、 R 、 Haskell 、 Ruby 、そしてもちろんIPythonカーネルを介したPythonなど、数十の言語の実行環境(カーネル)をサポートしている。 [5] 2015年、 GitHubとJupyterプロジェクトは、GitHubプラットフォームでのJupyterノートブックファイル形式(.ipynbファイル)のネイティブレンダリングを発表した。 [6] [7] 哲学Project Jupyterの運営理念は、 オープンソースソフトウェアの開発を通じて、すべてのプログラミング言語にわたってインタラクティブなデータサイエンスと科学計算をサポートすることである 。 Project Jupyterのウェブサイトによると、「Jupyterは常に100%オープンソースソフトウェアであり、誰でも自由に使用でき、修正BSDライセンスの自由な条件の下でリリースされる」。 製品Jupyter NotebookJupyter Notebook (旧IPython Notebooks)はJupyter Notebookドキュメントを作成・共有するためのウェブアプリケーションである[8]。Jupyter Notebookドキュメントはプログラムコード、Markdownテキスト、数式、図式等を含むことができる[9]。これにより数値計算アルゴリズムとシミュレーション結果、統計解析コードとその実行結果グラフ、機械学習モデルと推論出力など、様々なプログラムとその結果を再実行可能な1つのドキュメントとして表現できる[10]。 Jupyter Notebookの内部ではコードやテキストがNotebook Documentとして書かれ、Jupyter Notebookがそれを表示・編集可能にし、Notebook サーバーが保存・バリデーションをおこない[11]、Kernelが実際のコード実行をおこなう。口語的な「ノートブック」という語がこの内のどの段階を指すかは文脈による。 Jupyter Notebookは、 nbconvertライブラリまたは「jupyter nbconvert」コマンドを介して、Webインターフェースの「Download As」を介して、多くのオープンな標準出力形式( HTML 、 プレゼンテーションスライド 、 LaTeX 、 PDF 、 ReStructuredText 、 Markdown 、 Python )に変換できる。シェルのラインインターフェイス。 Web上のJupyterノートブックドキュメントの視覚化を簡素化するために、nbconvertライブラリはNbViewerを介してサービスとして提供されており、公開されている任意のノートブックドキュメントへのURLを取得し、その場でHTMLに変換してユーザーに表示できる。 Jupyter Notebookは、数多くの人気のあるオープンソースライブラリに基づいて構築されたブラウザベースのREPLを提供する。 Jupyter Notebookは多くのカーネルに接続できるため、多くの言語でプログラミングできる。 デフォルトでは、Jupyter NotebookにはIPythonカーネルが付属している。 2.3リリース[12] [13] (2014年10月)の時点で、 Python 、 R 、 Julia 、 Haskellを含む多くのプログラミング言語用に、現在49のJupyter互換カーネルがある。 [14] Notebookインターフェイスは、0.12リリース[15] (2011年12月)にIPythonに追加され、2015年にJupyter Notebookに名前が変更された(IPython 4.0 – Jupyter 1.0)。 Jupyter Notebookは、 Maple 、 Mathematica 、1980年代にMathematicaで生まれた計算インターフェーススタイルであるSageMathなどの他のプログラムのノートブックインターフェースに似ている。 [16] The Atlanticによると、Jupyterの関心はMathematicaノートブックインターフェイスの人気を2018年の初めに追い越した。 実行環境Jupyter Notebookはウェブアプリケーションであるため、動作にはサーバーが必要である(機能: HTTPサーバ、Notebook Server、Kernel)。ローカルマシンへのインストールからマネージドクラウドでの1クリック起動まで、様々な形式での実行環境が存在している。
ファイルフォーマットJupyter Notebookドキュメントの形式は"Jupyter Notebook format"であり[17]、拡張子は JupyterカーネルJupyterカーネルは、さまざまなタイプのリクエスト(コード実行、コード補完、検査)の処理と応答の提供を担当するプログラムである。 カーネルはネットワーク経由でZeroMQを使用してJupyterの他のコンポーネントと通信するため、同じマシンまたはリモートマシン上に置くことができる。 他の多くのノートブックのようなインターフェイスとは異なり、Jupyterでは、カーネルはそれらが特定のドキュメントに添付されていることを認識せず、一度に多くのクライアントに接続できる。 通常、カーネルは単一言語の実行のみを許可するが、いくつかの例外がある。 JupyterHubJupyterHub [18]は、Jupyter Notebooksのマルチユーザーサーバーである。 多くの単一のJupyter Notebookサーバーを生成、管理、プロキシすることにより、多くのユーザーをサポートするように設計されている。 [要出典] JupyterHubではサーバーの管理が必要であるが、Jupyo [19]などのサードパーティサービスは、クラウドでマルチユーザーJupyterノートブックをホストおよび管理することにより、JupyterHubの代替手段を提供する。 JupyterLabJupyterLabはProject Jupyterの次世代ユーザーインターフェースである。 柔軟で強力なユーザーインターフェイスで、クラシックなJupyter Notebookの使い慣れたすべてのビルディングブロック(ノートブック、ターミナル、テキストエディター、ファイルブラウザー、豊富な出力など)を提供する。 最初の安定版リリースは2018年2月20日に発表された。 [20] Jupyter BookJupyter Bookは、計算資料から美しい出版品質の本やドキュメントを作成するためのオープンソースプロジェクトである。これにより、ユーザーはMarkdown 、 MySTと呼ばれるMarkdownの拡張バージョン、 MathJaxを使用したMaths&Equations、Jupyter Notebooks、 reStructuredText 、ビルド時に実行されているJupyterNotebooksの出力などを組み合わせてコンテンツを構築できる。 nbgraderは、Jupyterノートブックで割り当てを作成およびグレーディング(マーキング)するためのツールである。これにより、インストラクターは、Pythonまたはその他のサポートされているカーネルおよびテキスト応答でのコーディング演習を含む割り当てを作成できる。提出された課題は、自動的にマークを付けたり、手動で採点したり、両方を組み合わせたりすることができる。 Jupyter WidgetsJupyter Widgets はJupyter上にGUI(インタラクティブ制御)を構築するためのフレームワークである[21]。多くのJupyterフロントエンドはWebブラウザに類似した環境であり、JavaScript/HTML を介したリッチGUIを構築できるポテンシャルをもつ。Jupyter Widgetsはカーネルとフロントエンドの通信を仲介してJupyter上のGUIを実現するフレームワークとして機能する。 コラボラトリー報道
助成金と賞
関連項目
参考文献
外部リンク |