Instructor guide#

While this is meant as internal documentation for the instructor, others are welcome to read it.

Adding/updating packages#

  1. Modify environment.yml

  2. Run

    ./extras/scripts/update_packages.sh
    
  3. Manually update the notebooks with interactivity

  4. Update environment in JupyterHub

    mamba env update --file extras/environment.lock.yml --prune
    

Slides#

While the lecture notes can be viewed as a plain notebook, they are also visible as slides.

make slides lec=N

Site#

The site is generated using JupyterBook and deployed to ReadTheDocs. Markdown (.md) files and the files and folders that start with an underscore (_) are related to JupyterBook.

The HTML can be downloaded as an artifact from the latest Publish Action.

Building locally#

  1. Stage changes in Git, as they will be overwritten.

  2. If on the nyu branch, run:

    ./extras/scripts/school.sh <school>
    ./extras/scripts/build.sh
    
  3. If on main or other branches, run:

    ./extras/scripts/school_ci.sh <school>
    

Notebook cleanup#

To ensure that notebooks have the correct execution order and output, run them non-interactively.

./extras/scripts/update.sh <file>.ipynb

Start of class checklist#

Data sets#

Canonical copies of data are in a Google Drive folder, synced locally with Google Drive for desktop. Data is then compressed and uploaded to a Google Cloud Storage bucket via Terraform. Descriptions of the data sets.

gcloud auth application-default login

JupyterHub troubleshooting#

Most of the issues are around Plotly rendering / PDF export. Things that have been hit repeatedly:

See also: comments in environment.yml. Attempted to distill into the student troubleshooting guide.

Contacts#