JupyterHub Instructor Guide

JupyterHub logo

JupyterHub is a web-based, high-performance computational workspace offering “notebooks” where students, instructors, and researchers can collaborate on shared data and develop related resources, visualizations, and computer-generated figures.

UBC’s version of JupyterHub—Jupyter Open—offers a computing environment with a standard set of tools and libraries suitable for computational assignments, data analysis, and programming.

Access Immediate
Cost Yes Free.
Bandwidth Yes Low demand on internet connections.
Canvas Integration No None.
Privacy Yes Complies with UBC’s privacy requirements.
Similar UBC-Supported Tools N JupyterHub is the only centrally supported tool for writing and sharing code and other data through Jupyter notebooks. However, other tools for computational assignments are also centrally supported.

What can I use it for?

You can use JupyterHub for a variety of computational course work and collaborations:

  • Creating and sharing interactive notebooks that can combine narrative text with code, equations, computational output, visualizations, and multimedia.
  • Performing data science tasks, including data cleaning, data transformation, numerical simulations, and statistical modeling, as well as machine-learning and deep-learning applications.
  • Distributing assignments and projects that use high-performance computing, enabling students to gain hands-on experience with real-world data and computational challenges.
  • Supporting the use of computation tools across disciplines, accommodating coding and data analysis in technical and non-technical academic subjects alike.

This tool guide was last reviewed in March 2025 with version 5.2.1 of JupyterHub.

What do I need to use JupyterHub?

A supported web browser

JupyterHub runs in your web browser and supports the latest versions of Chrome, Edge, Firefox, or Safari.

While current versions of Opera may work, we recommend switching to an officially supported browser to avoid any technical difficulties.

How do I use JupyterHub?

Click any accordion bar below for instructions and tips for using JupyterHub.

Expand All

Set up JupyterHub

  1. Log in to Jupyter Open using your UBC CWL (Campus-Wide Login).
  2. Your JupyterHub server will start up, and you can begin adding content such as notebooks and files.

Create a new Jupyter notebook or file

  1. Log in to Jupyter Open using your UBC CWL.
  2. In the top left corner of your JupyterHub server, click the plus icon.
  3. In the "Launcher" tab that opens, choose the notebook or file type that you would like to make.
  4. A new notebook or file with the name “Untitled” will open. To rename the notebook or file, right-click the name in the left side panel, and select Rename.
  5. Add content to the notebook or file. When you make changes, a dark circle will appear in the right corner of the tab's name. This icon replaces the 'X' button for closing the tab and serves as a visual indicator of unsaved changes.
  6. To save your changes, click File from the top toolbar, then select either Save Notebook or Save File, depending on what you are working on.

Tips

  • You can use a variety of file types and programming languages when adding content to JupyterHub. Languages include Python, Java, JavaScript, C++, Julia, and R.
  • The markup language Markdown is also supported for use with JupyterHub. For information on the language and how-to instructions for using it, explore Jupyter’s Markdown documentation or the UBC basic Markdown walk-through.

Upload an existing Jupyter notebook or file

Instead of creating a new notebook or file in JupyterHub, you can choose to upload existing content.

  1. Log in to Jupyter Open using your UBC CWL.
  2. In the top left corner of JupyterHub, click the "Upload Files" up arrow icon.
  3. Select the file you would like to upload, and click Open. While you may be able to choose from all your files, ensure that whatever you are uploading is one of the accepted file types for JupyterHub.
  4. The file will appear in the panel on the left. Double-click the file name to open and edit the file. When you make changes, a dark circle will appear in the right corner of the tab's name. This icon replaces the 'X' button for closing the tab and serves as a visual indicator of unsaved changes.
  5. To save changes to your file, click File from the top toolbar, then select Save File.
    • Please note that for certain file types, such as those for Python and Java, the "Save File" text might be different (e.g., "Save Python File", "Save Java Text File"), but it should still be grouped together with the "Save All" button in the same location as other file types.

Share a Jupyter notebook with students

The simplest way to share a Jupyter notebook with students is to upload a copy of the file to Canvas for students to download and use in JupyterHub.

  1. Log in to Jupyter Open using your UBC CWL.
  2. From the panel on the left, right-click the notebook that you would like to share and select Download. This action will download the notebook to your computer in a Jupyter interactive notebook file format (.ipynb).
  3. Upload the notebook file to your Canvas course where students can find it (e.g., in a module). Refer to our Canvas instructor guide for steps on adding content to your Canvas course.
  4. Students can then download the notebook file from Canvas and upload it to their own JupyterHub server. Once the notebook file is uploaded, students can open and edit the file.

Tips

  • You can instead use a UBC GitHub repository to share and store your Jupyter notebook or file with students. For additional information, please see this tutorial on how to use NBGitPuller, a JupyterHub extension that allows students to clone a GitHub repository to a JupyterHub server.

JupyterHub FAQ

Find UBC-specific answers to frequently asked questions by clicking any bar below.

For Jupyter Open, we run a customized version of Jupyter Notebook Data Science from Docker Stacks. This version includes four additional plugins and kernels (i.e., specific "computational engines" that execute the code) to expand what you can do with Jupyter Open:

  • Python
  • R Language
  • Julia
  • Sage Math

We recommend restarting your kernel. If you continue to experience this issue, please contact us at the LT Hub for assistance.

We recommend waiting for 10-20 minutes before trying to access Jupyter Open again. If the issue persists, then please contact us at the LT Hub for assistance.

There is no way to review or grade a student's assignment on Jupyter Open directly. You can instruct your students to download their modified notebook from Jupyter Open. Students can then manually submit their notebook file to the assignment on Canvas for grading.

For Jupyter Open, the following resources are allocated for computing:

  • CPU Core: 0.5 (max 1)
  • RAM: 2GB (max 4GB)
  • Persistent Storage: 10GB

There is no need to contact us to use Jupyter Open. You and your students can immediately log in with your UBC CWL and start using it for assignments and labs in the course.

However, you will need to provide commands to students for downloading any required data or additional packages. If you would like assistance with understanding how to do this, please contact us at the LT Hub.

Currently, Jupyter Open is configured to support only a single, standard image.

No, only UBC CWL (otherwise known as Shibboleth) authentication is available with Jupyter Open.

Where can I get more support with JupyterHub?

Technical support

If you have trouble with JupyterHub:

Learn more


Tell us about this guide