Skip to content


Repository files navigation

Introduction to Jupyter and IPython

Sebastian Alvis, Shane Grigsby, Lindsey Heagy, Yara Mohajerani, Fernando Pérez

Binder License

This tutorial is hosted on the Github ICESat-2 HackWeek organization.

Full video (1:21h) recording of this tutorial, as delivered June 12, 2020 for the ICESat-2 Hack week.

Schedule (all times in PDT)

  • 10:45 - 11:00 AM [Anthony]: Getting connected
    • welcome and get everyone connected
  • 11:00 - 11:15 AM [Fernando]: JupyterHub, Pangeo and JupyterLab overview
    • Basic architecture of our shared computing environment
    • Logging in/shutting down
    • Explaining shared drive space, what persists, need to push code changes to GitHub
    • Overview of the interface
    • What are the benefits of using Jupyter Notebooks? Collaboration, open workflows, etc.
    • What are the caveats? (e.g. hidden states, need to update intermediate cells)
  • 11:15 - 11:25 AM [Yara]: Jupyter Notebooks
    • Focus in on JupyterNotebook interface - cells (type, running, editing, copy/pasting), kernel
    • What features are specific to notebooks?
  • 11:25 - 11:55 AM [Shane]: IPython
    • Workflows beyond plain Python - tab completion, command line access, debugging
  • 11:55 - 12:20 AM [Fernando]: Widgets
    • creating just-in-time research GUIs: connecting interactive controls to your code
  • 12:20 - 12:30 AM [Fernando]: Wrap up

Installing IPywidgets

Note that for the tutorial during the HackWeek, all necessary dependencies are already installed in the Hub.


  1. Login to JupyterHub:
  2. Open a Terminal: Find Terminal icon at the bottom (or click the + sign on the top left)
  3. Clone GitHub repo (type on the terminal): git clone


Post your question in the #questions channel on Slack.



This collection of tutorials was adapted from the ICESat-2 Hackweek tutorial by @fperez. Materials for 2020 were co-developed by the instructor team above.


All code and content in this repository is free software: you can redistribute it and/or modify it under the terms of the BSD License. A copy of this license is provided in LICENSE.