Skip to content

Repository files navigation

dmscschoollogo

DMSC School Lecture Materials

Lecture material repository for teachers at DMSC School.

Course Directories

There are 6 courses in the summer school. Each course has its own directory for collecting materials in this repository.

  • 1-python
  • 3-mcstas
  • 4-reduction
  • 5-analysis
  • 6-scicat

Prerequisites

  • Install pixi.
  • Install pre-commit or prek
    • Install hooks:
      • Either pre-commit install
      • Or prek install

Jupyter notebooks

Many of materials are written in notebooks and are published online by jupyter-book. Here are some tips and tools for writing jupyter notebooks for courses.

Clearing output

Command to clear outputs of all jupyter notebooks in the current directory.

pre-commit run nbstripout -a

or

prek run nbstripout -a

Building the book

pixi run build

Tags

Teachers can add tags into the each cells for building textbooks and exporting workbooks.

These are available tags handled by jupyter-book build or update_workbook.py script.

Jupyter-book tags

There are a few tags that are often used. See this page for more options.

  • hide-cell Both input and output will be hidden in the published pages.
  • raise-exceptions If an exception is expected to be raised from the cell. If you are using this tag with remove-output tag, consider moving this code snippet to markdown as a code block.
  • remove-output outputs of the cell will not be included in the published pages.
  • remove-cell Not included in the rendered book. But still executed! Also used by update_workbook.py script.
  • skip-execution The cell is not executed when building the book.

Workbook tags

  • solution: Solution of the exercise. Source code will be replaced with a instruction message.
  • remove-cell: Not included in the workbooks. Also used by jupyter-book.
  • dmsc-school-hint: Collapse the content of the cell in the workbooks. The content can be expanded by clicking on the cell.
  • dmsc-school-keep: Will not be edited or removed. It overwrites all other tags.

How to update the student notebooks

We keep student notebooks (without solutions) in https://github.com/ess-dmsc-dram/dmsc-school-notebooks.

To update these, navigate to the Update notebooks section in the Actions tab in that repository and simply run the workflow.

This will create a PR in the notebooks repository with updates to all notebooks.

Managing dependencies

To add, remove, restrict dependencies, modify pixi.toml, run pixi lock and commit both pixi.toml and pixi.lock.

Releases

Used by

Contributors

Languages