Distributing Notebooks#

We recommend using interact links to distribute notebooks to students. nbgitpuller links are described in detail below. If you do not wish to use interact links, you can distribute assignments through bCourses as well. In this case, after you have uploaded the files to bCourses, students will need to download them and then upload them to their own JupyterHub accounts.

The Steps#

Here are the basic steps you will need to go through to distribute notebooks and other files. To learn more about the details of the process, please read through the rest of this page.

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

  2. Upload 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


To use an interact link, files must be stored in a public GitHub repo. nbgitpuller links will not work with private repositories. Previously, content had to be stored in the data-8 GitHub organization or in an approved account or organization. This no longer applies, interact links can be used with content stored in ANY public repository.

nbgitpuller Plugin#

One of the latest update to the nbgitpuller link generator is the plugin which simplifies the task of generating shareable links.

  • Install the nbgitpuller Chrome or Firefox extension in your respective browser. A good test to confirm whether the extension got installed in your browser is to do the following action. Access a Github repository (through the installed browser) and check whether you can find nbgitpuller button. If you cannot find the button, try restarting the browser or reinstalling the plugin again. Sharing a snapshot of where the plugin appears in the page,


Fig. 18 Snapshot of how nbgitpuller button looks like!#

Follow the steps below to create a nbgitpuller link for your assignment in the Jupyter or R interface that you want your students to work on,

  • Open your assignment in the respective Github repo.


Fig. 19 Snapshot of assignment in GitHub!#

  • Click on the “nbgitpuller” button.

  • Copy past your JupyterHub instance’s URL (if you are using the main Datahub then you can use https://datahub.berkeley.edu/) in the “JupyterHub URL” textbox

  • Open your assignment in the respective Github repo.


Fig. 20 Snapshot for the option to paste JupyterHub URL!#

  • You can select from the below options for the “Open in” dropdownlist

    • If you want your students to access a Jupyter notebook interface which is simple and intuitive to use, Select “Classic Notebook” option from the dropdown list or

    • If you want them to explore more advanced features including 3rd party plugins from Jupyter ecosystem, Select “JuptyterLab” option from the dropdown list or

    • If you want them to explore the latest notebook interface offered by Jupyter which marries the simplicity and intuitiveness of classic notebook with the advanced features from JupyterLab, Select “RetroLab” option from the dropdown list or

    • If you want your students to work on a R based assignment, Select “RStudio” option from the dropdown list

  • As a last step, Select “Copy nbgitpuller link” button which generates a shareable link that opens your assignment in the choosen interface.

Here is a short GIF that walks you through the entire process to create a shareable link


Fig. 21 Demo of nbgitpuller plugin!#