Distributing Notebooks

Interact links launch students into a notebook on JupyterHub by pulling the assignment from Github. If you are using a JupyterHub instance for your course, we recommend using interact links to distribute notebooks to students. If you are running notebooks locally, you should instead distribute assignments through a learning management system (LMS). In this case, after you have uploaded the files to the LMS, students will need to download them and run it locally on their computers.


Here are the basic steps you will need to go through to distribute notebooks and other files.

  1. Create a folder with all files for the assignment (notebook, datasets, etc.)

  2. Upload the folder to a public GitHub repository

  3. Generate an interact link for the folder using the interact link generator (more on this below)

  4. Distribute the link to students through some web page

An important note

The technology behind interact links, called nbgitpuller, pulls all files from a repo into the user’s JuypterHub account. This means that you should not store unfinished materials and answer keys in the same repo as published assignments. Any interact link for a published assignment would also distribute the unfinished materials and answer keys to the students, which you probably do not want. Instead, we recommend that you use a public repo for published assignments and a private repo for unfinished materials and answer keys.