Monday, March 05, 2018

How IPython, Jupyter Notebooks work

Jupyter Notebooks are favorite GUI for Data Science and Machine Learning documentation.
They provide and interactive web environment for editing text (in simple Markdown syntax)
and mix with program code that can run interactively, with data, on an connected server.

It started as an interface for Python, called IPython, and evolved to support related languages Julia and R, expanding and renaming project to Jupyter. Now there are 50+ languages supported.
The system is running in 3 places: JavaScript in web browser, that communicates
with web server application that is managing state and is communicating
with "Kernel" process that runs interactive code.

How IPython and Jupyter Notebook work — Jupyter Documentation 4.1.1 alpha documentation
"The Notebook frontend does something extra. In addition to running your code, it stores code and output, together with markdown notes, in an editable document called a notebook. When you save it, this is sent from your browser to the notebook server, which saves it on disk as a JSON file with a .ipynb extension.

How to Use Jupyter Notebooks in Azure Machine Learning Workbench | Microsoft Docs

notebook architecture

Jupyter kernels · jupyter/jupyter Wiki

dsblank/simple_kernel: A small, simple kernel example for IPython

excellent interview:
Azure Notebooks | Azure Friday | Channel 9

Microsoft Azure Notebooks

book as Jupyter Notebook @ Azure:
PythonDataScienceHandbook (jakevdp) - Microsoft Azure Notebooks
book text:
Python Data Science Handbook | Python Data Science Handbook

notebooks from another book:
amueller/introduction_to_ml_with_python: Notebooks and code for the book "Introduction to Machine Learning with Python" @ GitHub

Jupyter Notebook conference & training: JupyterCon

very interesting recorded presentations from previous conferences!
JupyterCon - YouTube - YouTube 

Project Jupyter: From interactive Python to open science - Fernando Perez - YouTube

free class lectures:
Data 8: Foundations of Data Science | Division of Data Sciences @
Introduction · Computational and Inferential Thinking @ GitBooks

Computational Publishing with Jupyter by O'Reilly Media

odewahn/computational-publishing @ GitHub
= Content in Git + Docker file + Runtime

Oriole Online Tutorials
"...complete integration of video synchronized with the flow of the text, as well as the ability to execute the code: this is probably as close as we can get to learning side-by-side"