The Jupyter Notebook is an interactive computing environment that enables users to author notebook documents that include code, interactive widgets, plots, narrative text, equations, images and even video! The Jupyter name comes from 3 programming languages: Julia, Python, and R. It is a popular tool for literate programming, which refers to interweaving code and natural language together to form a narrative (like an executable paper!).
Data Services continues virtual services in Fall 2020. During our working hours, we will respond to requests via e-mail and hold consultations via Zoom. Chat for immediate assistance during our staffed hours.
Staffed Hours: Fall 2020
Mondays: 12pm - 6pm
Tuesdays: 12pm - 6pm
Wednesdays: 12pm - 6pm
Thursdays: 12pm - 6pm
Fridays: 12pm - 4pm
If you've met with us before, tell us how we're doing.
The Jupyter Notebook combines three components (from the docs):
The notebook web application: An interactive web application for writing and running code interactively and authoring notebook documents.
Kernels: Separate processes started by the notebook web application that runs users’ code in a given language (e.g. python, R, Julia, Go, and more -- get the full list of kernels from the wiki) and returns output back to the notebook web application. The kernel also handles things like computations for interactive widgets, tab completion and introspection.
Notebook documents: Self-contained documents that contain a representation of all content visible in the notebook web application, including inputs and outputs of the computations, narrative text, equations, images, and rich media representations of objects. Each notebook document has its own kernel.
Put together, Jupyter Notebooks can be used to write 'executable papers' -- some great examples are here:
You can install jupyter notebooks and some key kernels on your computer in a few ways:
Recommended method -- download using Anaconda (make sure you select version 3.*), which gives you jupyter, python 3, and a lot of key python libraries for research: https://www.anaconda.com/download/. After you've finished downloading + installing with Anaconda, you should see an application "Jupyter notebooks" in your list of applications.
If you're comfortable with the terminal:
python3 -m pip install --upgrade pip python3 -m pip install jupyter jupyter notebooks # launches the notebook interface
Jupyter notebooks can be comprised mainly of two types of cells (though more can be added with plugins).
Markdown Cells (for narratives):
When run, a markdown cell will display markdown or HTML that you write (that means all sort of rich content, including images)
Essential markdown summary: https://daringfireball.net/projects/markdown/syntax
Code Cells (for data cleaning, analysis, visualization, etc.):
Executable code in a variety of languages, dictated by the kernel (default is Python, but more can be added)
Some key jupyter notebook shortcuts:
Use shift + enter to run an active cell
Use esc in highlighted cell to toggle command options:
esc + L = show line numbers
esc + M = format cell as Markdown cell
esc + a = insert cell above current cell
esc + b = insert cell below current cell
Check all current variables: run