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#
Create an environment with Python 3.11 and the dependencies from requirements.txt
.
Warning: the dependencies are pinned, so do not install them into your global environment or you risk breaking it!
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.
tree -ifF -P *.ipynb | grep .ipynb | xargs -n1 jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace
Building the book#
From the root folder:
jupyter-book build -W --keep-going .
How to update the student notebooks#
We keep student notebooks (without solutions) in 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 requirements.in
and run
pip-compile requirements.in
to update the dependency pins in requirements.txt
.