
JupyterHub is an interactive, customizable computing tool that lets you harness the functions of high-performance computers for teaching and learning at UBC. The tool provides a web-based computational workspace (a “notebook”) for students, instructors, and researchers to collaborate with shared data and to develop related resources, visualizations, and real-time high-performance features such as instant computer-generated figures.
UBC supports two versions of JupyterHub: Jupyter Open and Jupyter Course. Jupyter Open is a free, standard instance of JupyterHub; no Canvas integration is available and your students will access the content through Jupyter Open with their UBC CWL (Campus-Wide Login). Jupyter Course is a paid, more customizable version of JupyterHub; content is tied to a specific Canvas course and your students will access it through Canvas.
What can I use it for?
You can use JupyterHub for a variety of computational course work and collaborations:
- Creating and sharing notebooks that integrate code, equations, computational output, visualizations, and other multimedia, along with explanatory text
- Conducting data-science tasks, such as data cleaning and transformation, numerical simulation, exploratory analysis, statistical modeling, machine learning, and deep learning
- Distributing and collecting assignments that use high-performance computing
Jupyter Open | Jupyter Course | |||
---|---|---|---|---|
Access | You will need to request and set up Jupyter Course with us first. Once Jupyter Course is turned on in your Canvas course, you can access it through Canvas. | |||
Cost | Free. | Faculties/Departments provide funding per student per course per term. Please contact your Instructional Support Unit to discuss funding availability. | ||
Bandwidth | Low demand on internet connections. | Low demand on internet connections. | ||
Canvas Integration | None. | Works in coordination with Canvas. | ||
Privacy | Verified by UBC’s Privacy Impact Assessment process. | Verified by UBC’s Privacy Impact Assessment process. | ||
Similar UBC-Supported Tools | N | JupyterHub is the only centrally-supported tool for writing and sharing code and other data through Jupyter notebooks. |
This tool guide was last reviewed in August 2022 with version 3.4.3 of JupyterHub.
What do I need to use JupyterHub?
A supported web browser
Whether you use Jupyter Open or Jupyter Course, JupyterHub runs in your web browser and supports using the latest versions of Chrome, Edge, or Firefox.
For Jupyter Course, additional requirements apply:
Funding for Jupyter Course
Note first there is a cost for using Jupyter Course at UBC. The cost is charged per student per course per term. You can check with your Instructional Support Unit to see if funding is available.
A Jupyter course
If you are using Jupyter Course, a Jupyter course must be requested and created through the LT Hub, as outlined below.
Tips
- If multiple people are collaborating, you can use a UBC GitHub repository to ensure changes to shared Jupyter notebooks are saved correctly. GitHub repositories are places for projects where files are stored, built on, and tracked with version control. GitHub is a separate tool from JupyterHub, which you can learn more about in our GitHub instructor guide.
Set up JupyterHub
UBC supports two versions of JupyterHub: Jupyter Open and Jupyter Course. Jupyter Open is a free, standard instance of JupyterHub; no Canvas integration is available and your students will access the content through Jupyter Open with their UBC CWL. Jupyter Course is a paid, more customizable version of JupyterHub; content is tied to a specific Canvas course and your students will access it through Canvas.
- Access Jupyter Open, and log in with your UBC CWL.
- Your JupyterHub server will start up, and you can begin adding content such as notebooks and files.
- To use Jupyter Course, you will first need to contact us in the LT Hub to request a Jupyter course.
- Please note that funding will need to be approved by your faculty or department. If you can include the name of a financial contact with your request, it will expedite the process.
- Once we have given you access, you can add Jupyter Course to your Canvas course:
- Log in to your Canvas course, and click Assignments in the Course Navigation.
- Click +Assignment in the upper right side of the screen.
- Enter the assignment name as “JupyterHub Link”.
- Scroll down to submission type and select External Tool from the drop-down menu.
- In the tool URL box, paste in the Jupyter course link provided by the LT Hub.
- Check Load This Tool In A New Tab.
- Click Save & Publish.
- Access the “JupyterHub Link” assignment, load the tool in a new window, and click Start My Server when prompted.
- Your JupyterHub server will start up, and you can begin adding content such as notebooks and files.
Create a new Jupyter notebook or file
- Open JupyterHub:
- For Jupyter Open, log in using your UBC CWL.
- For Jupyter Course, log in to your Canvas course and click Assignments in the Course Navigation. Access the “JupyterHub Link” assignment, load the tool in a new window, and click Start My Server when prompted.
- In JupyterHub, click the plus icon in the top left corner.
- From the "Launcher" tab that opens, choose the notebook or file type you would like to make.
- A new notebook or file with the name “Untitled” will appear in the panel on the left. To rename the notebook or file, right-click it, and select Rename.
- Add content to the notebook or file. A black circle will appear beside the tab name at the top when there are unsaved changes.
- To save your changes, click File from the top toolbar, then select either Save Notebook or Save File.
Tips
- You can use a variety of file types and programming languages when adding content to JupyterHub, including 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 upload existing content.
- Open JupyterHub:
- For Jupyter Open, log in using your UBC CWL.
- For Jupyter Course, log in to your Canvas course and click Assignments in the Course Navigation. Access the “JupyterHub Link” assignment, load the tool in a new window, and click Start My Server when prompted.
- Click the up arrow icon on the top left to upload a file.
- Select the file you would like to upload, and click Open.
- The file will appear in the panel on the left. Double-click the file name to open and edit the file. A black circle will appear beside the tab name at the top when there are unsaved changes.
- To save your changes, click File from the top toolbar, then select either Save Notebook or Save File.
JupyterHub FAQ
Find UBC-specific answers to frequently asked questions by clicking any bar below.
The cost to use Jupyter Course is dependent on the customizations required for each specific course. The approximate amount is $20 per student per course per term (where a term is assumed to last four months). For more exact estimates and additional information, contact us in the LT Hub.
There is no cost to use Jupyter Open.
If you use Jupyter Course, a snapshot of the students’ notebooks in your Jupyter Course will be taken by default when the assignment is due. The LT Hub will share the link to retrieve these snapshots, so you can grade and add comments to assignments before sending them back to students through Jupyter Course. For more details on setting up assignments and accessing students’ notebooks, contact us in the LT Hub.
If you use Jupyter Open, no snapshot feature is available. Refer to the steps for sharing a Jupyter notebook in this guide to download and share a copy of the notebook in Canvas. Students will then need to manually submit their modified copy of the notebook when an assignment is due.
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 3
- R Language
- Julia
- Sage Math 9.5
For Jupyter Open, the following resources are available for computing:
- CPU Core: 1
- RAM: 2GB
- Persistent Storage: 10GB
Where can I get more support with JupyterHub?
Technical support
If you have trouble with Jupyter Open:
- Contact your faculty’s Instructional Support Unit as your first point of contact.
- Contact us for further assistance:
604 827 4775 or LT.hub@ubc.ca or visit the LT Hub online.
If you have questions about Jupyter Course, including available customizations:
- Send in questions to the LT Hub using our contact form.