JupyterHub (JHub)

Tags jupyter

JupyterHub and Jupyter Notebooks

Jupyter Notebooks are a web-based interactive development environment for notebooks, code, and data. It supports Python, R, Julia, and many more programming languages. Jupyter Notebooks are widely used in research and academic communities to organize information and demonstrate concepts. They are accessed via a web browser and offer a framework to edit and run code dynamically. These notebooks can be run locally on your laptop, on a server, or via a cloud service.

JupyterHub (JHub) is a platform for groups of people to access multiple sets of Jupyter Notebooks.

Dartmouth's JupyterHub

An implementation of JupyterHub offered by Research Computing and Data Services for the Dartmouth community for teaching and learning purposes. JHub is currently free of charge to faculty using the tool in the classroom for undergraduate and graduate education.

jhub.dartmouth.edu

Instructors may request a fresh environment per term and per class. The instructor populates the content (scripts, files, data sets, etc.) used during the term. Content can be added at any time and copied over from previous term. Teaching assistants are designated by the instructor(s) and will have access to all the class' student's home directories.

Students get a home directory for each class they take. The home can only be accessed by the student, the TAs and the instructor(s) and used for class purposes. Student home directories are reset at the end of every term, and students are responsible for exporting and saving its content.

Note:

  • JHub student and instructor home directories are separate from other Research Computing data services (such as DartFS or Granite). The faculty/instructor environment will not reset and can be reused and adapted for every new teaching term.
  • Security - JHub is approved for DISC Level 1 - "data with no confidentiality classification, but not intended for public disclosure, is considered Level 1 data". Do not use or store sensitive data (PHI, PII, HIPAA, FERPA, etc.) in JHub. JHub is not backed up and data loss, while unlikely due to the cloud technology used, is possible.

How do I request a JHub environment?

Request JHub Environment

We ask that you provide the following information:

  • The name of your course. The naming convention is usually Course Name # -- Term Year (ASTR 20 -- Fall 2024)
  • Where you are storing your course materials. We have a few options:
    • GitHub
      • Create a repository and make it public. Share the link with us so that JHub can sync that data to your course materials every hour.
      • This solution is best for 500MB or less.
    • Dartmouth's GitLab
      •  Create a repository and share it with f006fjv (jhub-integration@dartmouth.edu). This account only needs Reporter level access. Share the link with us so that JHub can sync that data to your course materials every hour.
      • This solution is best for 500MB or less.
    • Dropbox
      • Create a new folder and share it with jhub-integration@dartmouth.edu (f006fjv) with Read Only access. Share the folder name in your request and these materials will be synced every 4 hours. 
  • The list of package dependencies for your environment. 
    • If you created a requirements.txt file in one of your repositories, please let us know. 
  • Any additional comments about your course we may need to know.
    • For example, if you are analyzing large data sets, there is a chance we may need to increase the memory for your environment. Some testing may be required. 

How do I use JHub?

Starting my environment

Students and instructors can access their JHub environment by going to jhub.dartmouth.edu and selecting the Start My Server button. 

You will be presented with a list of available environments. Select one and Start. It may take a couple of minutes to start your environment. 

Accessing course materials

If you elected to share course materials via GitHub, GitLab, or Dropbox, those will appear in the shared directory. All files in this directory are read-only. If a student needs to modify content in the shared directory, they must copy the folder or file to their home directory before modification.

Managing content in your home directory. 

Students can create and save notebooks and files to their home directory. Their content will be saved until the end of the term. Once the course is finished, we suggest you tell your students to download any files that they may want to keep. 

When you have a notebook open, you have a couple options to download a file. All of the options are located under the File menu.

  • Download
  • Save and Export Notebook As..
    • PDF
    • HTML
    • LaTeX
    • Mardown
    • etc.
  • Print

Closing my environment

You can stop your server by selecting File > Hub Control Panel and selecting Stop my server. This will not delete your content but only stop the service. When you start the server again, your content will come back. 

Note - If you leave the window open and idle for too long, it will stop the server automatically. 

FAQs

  • I am a professor teaching a class. How do I get started with JHub?
    • Email research.computing@dartmouth.edu to begin a discussion. We will arrange a time to meet and discuss the requirements and limitations.
  • How much does JHub cost?
    • This service is currently free to faculty members for use to teach a class. For other use cases, we will estimate the cost of the CPU/memory/storage to run the system and create a statement of work for your review. 
  • How long does it take to get everything setup?
    • Assuming you already have the content (e.g. existing Jupyter Notebooks), we typically need two weeks lead time to build a custom container image to run your notebooks. During this setup period, we will work with you to determine things such as package requirements, shared vs. personal storage, and other customizations. 
  • How much storage does each user get?
    • Each user gets a 10GB home directory.
  • How long can a user access their storage?
    • At the end of each term the home directories are deleted.  If students would like a copy of their work in JHub, they should download it before the end of the term.
  • What if I have a large dataset for my class?
    • Course content can be synchronized to a "shared" directory in JHub which does not consume any of each user's 10GB home directory.  This directory is read-only and shared with all JHub users.  If you have less than 500MB of course content, we suggest storing it in a git repository on GitHub or Dartmouth's GitLab (https://git.dartmouth.edu).  If you have more than 500MB, we suggest storing it in Dropbox.  At the top of each hour the course content is synchronized with the JHub "shared" directory.
  • How stable is the environment?
    • JHub is run on cloud servers and has production-level up time. In order to keep costs manageable, server resources are scaled out dynamically based on demand. If you have a critical event where a lot of people will need to all of a sudden start using the service, please reach out to research.computing@dartmouth.edu at least two days before the event and we can pre-provision additional resources to ensure the system can perform well under load.
  • How long can I access my JHub environment ?
    • Student home environments get reset at the end of every term and students are responsible for exporting and saving data and scripts. Faculty environments (usually one per class) can be saved, modified, and reused term-to-term.

Screenshots

Uploaded Image (Thumbnail)

Uploaded Image (Thumbnail)

Uploaded Image (Thumbnail)

 

Details

Article ID: 155286
Created
Mon 10/30/23 9:10 PM
Modified
Mon 3/11/24 10:01 AM

Related Services / Offerings (1)

An implementation of JupyterHub offered by Research Computing and Data Services for the Dartmouth community for teaching and learning purposes.