Reproducible research software development using Python

Big-picture goal

This is a hands-on course on research software engineering. In this workshop we assume that most workshop participants use Python in their work or a leading a group which uses Python. Therefore, some of the examples will use Python as the example language.

We will work with an example project and go through all important steps of a typical software project. Once we have seen the building blocks, we will try to apply them to own projects.

Prerequisites

Preparation

  1. Get a GitHub account following these instructions.

  2. You will need a text editor. If you don’t have a favorite one, we recommend VS Code.

  3. If you prefer to work in the terminal and not in VS Code, set up these two (skip this if you use VS Code):

  4. One of these two software environments (if you are not sure which one to choose or have no preference, choose Conda):

  5. Optional and only on Linux: Apptainer following these instructions.

Schedule

Day 1

Day 2

Day 3