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.
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. , , .
The Project Jupyter exists to develop open-source software, open-standards, and services for interactive computing across dozens of programming languages., 
The execution of scripts in a particular programming languages is done in a 'kernel'. There is a project to implement a Pharo Smalltalk kernel . A kernel needs to implement the Jupyter messaging protocol.
JupyterLab is a browser based solution which needs a server.
The client communicates with the server using a JSON based protocol .
A survey  shows how Jupyter notebooks are used in courses.
Examples of notebooks:
 Jupyter Notebooks – a publishing format for reproducible computational workflows
 Details of the notebook document format https://nbformat.readthedocs.io/en/latest/format_description.html#notebook-file-format
 https://github.com/jmari/JupyterTalk (Pharo kernel for Jupyter notebooks)
 https://blog.nteract.io/nteract-building-on-top-of-jupyter-9cfbccdd4c1d - has introduction to protocol used.
 https://zenodo.org/record/51701#.W3Er3ta-lE4 2016 Jupyter Education Survey
$$.html('div id="myBox"><strong>strong</strong> regular</div>');
Jupyter notebook document examples