links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Jupyter notebooks
Last updated at 7:06 am UTC on 13 August 2018
A Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.[1]

In this sense they are similar to Active Essays kept in a Smalltalk based Dynabook.

The content is saved in a JSON based notebook document (examples).

Notebook documents contain the inputs and outputs of a interactive session as well as additional text that accompanies the code but is not meant for execution. In this way, notebook files can serve as a complete computational record of a session, interleaving executable code with explanatory text, mathematics, and rich representations of resulting objects. These documents are internally JSON files and are saved with the .ipynb extension. Since JSON is a plain text format (https://jupyterlab.readthedocs.io/en/latest/ed), they can be version-controlled and shared with colleagues. [2], [3], [4].

The Project Jupyter exists to develop open-source software, open-standards, and services for interactive computing across dozens of programming languages.[5], [6]
The execution of scripts in a particular programming languages is done in a 'kernel'. There is a project to implement a Pharo Smalltalk kernel [7]. A kernel needs to implement the Jupyter messaging protocol.

The notebook is read and the code executed through a web client based front-end. "nteract" [9],[10] is a front-end based on the electron framework (HTML,CSS,JS). It is a stand-alone client which also includes a JavaScript kernel, thus the notebooks may contain text and JavaScript code.

JupyterLab is a browser based solution which needs a server.[11]
The client communicates with the server using a JSON based protocol [12].
A survey [13] shows how Jupyter notebooks are used in courses.

Examples of notebooks:

[1] http://jupyter.org/
[2] http://jupyter-notebook.readthedocs.io/en/latest/notebook.html
[3] Jupyter Notebooks a publishing format for reproducible computational workflows
[4] Details of the notebook document format https://nbformat.readthedocs.io/en/latest/format_description.html#notebook-file-format
[5] http://jupyter.org/
[6] https://github.com/jupyter/jupyter/wiki/Jupyter-kernels
[7] https://github.com/jmari/JupyterTalk (Pharo kernel for Jupyter notebooks)
[8] http://jupyter-client.readthedocs.io/en/latest/messaging.html
[9] https://nteract.io/, standalone app (client) plus server ("kernel"), JavaScript (nodejs) preinstalled.
[10] https://moderndata.plot.ly/nteract-revolutionizing-notebook-experience/
[11] https://jupyterlab.readthedocs.io/en/latest/
[12] https://blog.nteract.io/nteract-building-on-top-of-jupyter-9cfbccdd4c1d - has introduction to protocol used.
[13] https://zenodo.org/record/51701#.W3Er3ta-lE4 2016 Jupyter Education Survey

 $$.html('div id="myBox"><strong>strong</strong> regular</div>');


Jupyter notebook document examples