Share notebooks and content files#

You’ll often want to distribute content (such as notebooks, scripts, sample data, etc) to your users so they can do exercises, follow along with a lecture, or use as a starting point for their own work. This content is often constantly updated as time goes on, and needs to not overwrite your student’s work if you make an adjustment to content that has already been touched by the student.

nbgitpuller is the tool we recommend for this. The workflow goes something like this:

Ensure that nbgitpuller is installed in your user environment#

The default environment for 2i2c JupyterHubs has nbgitpuller pre-installed. However, if you define a custom environment for your hub’s users, you’ll need to ensure that nbgitpuller is installed in order for users to use it!

Put your content in a public GitHub repository#

Create a repository on GitHub and start putting your content there. This is the source of the content that will be distributed to your users. You can update it as often as you wish. While instructors will need to know how github works, your users will never have to interact with git directly.