Jupyter Notebook Architecture

This section provides a quick introduction of the Jupyter Notebook architecture, which consists of multiple components organized in 3 tiers: client, server, and kernel.

The Jupyter Notebook architecture consists of multiple components organized in 3 tiers.

1. Client - The client tier uses regular Web browsers communicating with the server tier using the WebSockets protocol.

2. Server - The server tier uses the Jupyter Notebook or JupyterLab server program to handle client requests, manage Notebook files, and send code to the kernel tier for execution.

3. Kernel - The kernel tier manages multiple execution engines for different programming languages including Python, R, JavaScript, etc..

Here is a nice illustration of the Jupyter Notebook architecture by Roberto Rodriguez at securitydatasets.com/consume/jupyter-notebooks.html.

Jupyter Notebook Architecture
Jupyter Notebook Architecture

Table of Contents

 About This Book

 Running Python Code Online

 Python on macOS Computers

 Python on Linux Computers

 Built-in Data Types

 Variables, Operations and Expressions

 Statements - Execution Units

 Function Statement and Function Call

 Iterators, Generators and List Comprehensions

 Classes and Instances

 Modules and Module Files

 Packages and Package Directories

 "sys" and "os" Modules

 "pathlib" - Object-Oriented Filesystem Paths

 "pip" - Package Installer for Python

 SciPy.org - Python Libraries for Science

 pandas - Data Analysis and Manipulation

 Anaconda - Python Environment Manager

Jupyter Notebook and JupyterLab

 What Is Jupyter Notebook

 Free Access of Jupyter Notebook and JupyterLab

Jupyter Notebook Architecture

 Run Jupyter Notebook at mybinder.org

 References

 Full Version in PDF/EPUB