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, UBC-hosted, standard instance of Jupyterhub. It does not integrate with Canvas, and your students will access the content through Jupyter Open with their UBC CWL (Campus-Wide Login). Jupyter Open works well for courses that do not need specific customization. It offers a general-purpose computing environment with a standard set of tools and libraries suitable for individual assignments, exploratory data analysis, and basic programming.
Jupyter Course is a paid, UBC-hosted, more customizable version of JupyterHub. Its content is tied to a specific Canvas course, allowing your studies to access it directly through Canvas. Jupyter Course is designed for courses that require specific computing tools or environments, want Canvas integration for assignments, or have larger computational resource needs.
Within the Jupyter offerings at UBC, JupyterLab functions as the interactive development environment that you and your students will access through Jupyter Open and Jupyter Course. JupyterLab facilitates the management of notebooks, code, and data and offers a suite of tools and features all in one interface.
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 integrate code, equations, computational output, visualizations, and multimedia, along with narrative text
- Performing data science tasks, including data cleaning, data transformation, numerical simulations, statistical modeling, and both machine learning and deep learning applications
- Distributing assignments and projects that use high-performance computing, offering students hands-on experience with real-world data and computational challenges
- Supporting the use of computation tools in any curriculum design, accommodating coding and data analysis skills in technical and non-technical academic subjects
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. | |||
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. |
This tool guide was last reviewed in March 2024 with version 3.6.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, Firefox, or Safari.
While current versions of Opera may work, we recommend switching to an officially supported browser to avoid any technical difficulties.
For Jupyter Course, additional requirements apply:
A Jupyter course
If you are using Jupyter Course, a Jupyter course that is tied to your Canvas course must be requested and created through the Lt Hub, as outlined below.
Funding for Jupyter Course
Please note that there is a cost associated with using Jupyter Course at UBC. Fees are charged per student, per course, per term. We recommend consulting with your Instructional Support Unit to determine if funding is available.
Set up JupyterHub
Once you have determined which version of JupyterHub you will be using, follow the steps below to get set up.
- Launch 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 at 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.
- In the tool URL box, paste in the Jupyter course link provided by the LT Hub.
- Check the Load This Tool In A New Tab box.
- Click Save & Publish.
- Access the “JupyterHub Link” assignment, click to 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:
- Log in to Jupyter Open 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 the top left corner of JupyterHub, click the plus icon.
- In the "Launcher" tab that opens, choose the notebook or file type that you would like to make.
- A new notebook or file with the name “Untitled” will open. To rename the notebook or file, right-click the name in the panel on the left, and select Rename.
- 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.
- To save your changes, click File from the top toolbar, then select Save All.
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 upload existing content.
- Open JupyterHub:
- Log in to Jupyter Open 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, click to load the tool in a new window, and click Start My Server when prompted.
- In the top left corner of JupyterHub, click the up arrow icon 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. 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.
- To save your changes, click File from the top toolbar, then select Save All.
JupyterHub FAQ
Find UBC-specific answers to frequently asked questions by clicking any bar below.
The cost to use Jupyter Course varies depending on the customization required for each specific course. The approximate cost is $20 per student, per course, per term, with the assumption that a term will last four months. For more precise estimates and further details, please contact us at the LT Hub.
There is no cost to use Jupyter Open.
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 Course, a snapshot of the students’ notebooks in your Jupyter Course will be taken by default on the date that you tell the LT Hub the assignment is due. The LT Hub will share the link to retrieve these snapshots, so you can grade and add comments to the assignments before sending them back to students through Jupyter Course. For more details on setting up assignments and accessing students’ notebooks, contact us at the LT Hub.
For Jupyter Open, no snapshot feature is available. You can instruct your students to download their modified notebook from JupyterHub. Students can then manually submit their notebook file to the assignment on Canvas.
For Jupyter Open, the following resources are allocated for computing:
- CPU Core: 1
- RAM: 2GB
- 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 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. To use a custom Docker image tailored to your course's needs, please contact us about using Jupyter Course instead.
Only UBC CWL (Shibboleth) authentication is available with Jupyter Open. If other logins are desired, please contact us about using Jupyter Course instead, which is compatible with other authentication types such as LTI.
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.
Learn more
- For more how-to instructions, explore JupyterHub’s official documentation for JupyterHub and JupyterLab.