After an assignment has been created using nbgrader assign, the instructor must actually release that assignment to students. If the class is being taught on a single filesystem, then the instructor may use nbgrader release to copy the assignment files to a shared location on the filesystem for students to then download.
First, we must specify a few configuration options. We'll need to use these a few times, so we'll create a nbgrader_config.py file that will get automatically loaded when we run nbgrader:
In [ ]:
%%file nbgrader_config.py
c = get_config()
c.NbGraderConfig.course_id = "example_course"
c.TransferApp.exchange_directory = "/tmp/exchange"
In the config file, we've specified the "exchange" directory to be /tmp/exchange. This directory must exist before running nbgrader, so we'll first create it:
In [ ]:
%%bash
# remove existing directory, so we can start fresh for demo purposes
rm -rf /tmp/exchange
# create the exchange directory, with write permissions for everyone
mkdir /tmp/exchange
chmod og+w /tmp/exchange
Now that we have the directory created, we can actually run nbgrader release:
In [ ]:
%%bash
nbgrader release "Problem Set 1"
Finally, you can verify that the assignment has been appropriatel released by running the nbgrader list command:
In [ ]:
%%bash
nbgrader list