SPC 1: Introduction to reproducible workflows in Python

Course content

This is an introductory course to reproducible analysis workflows in Python. It is aimed at people with some experience in Python for data analysis or computational research (e.g. people already developing scripts or using Jupyter notebooks). By the end of the course the attendees will have learnt about best practices for reproducible scientific code development and should be able to implement these techniques to their day to day workflows.

This is not an introductory course to Python but rather on how to conduct reproducible research using Python. Thus if you are interested in getting started with Python, we provide other workshops better suited for you .

The course is suitable for attendees from all research domains and career levels.

Note that this is a bring your own laptop event. We will be using a number of Python packages and tools, so you must install these before the workshop (these will be sent via email before the workshop).

We will cover the following:

  • Introduction to reproducible computational research (What is this? Why is it important?)
  • Open Source Software licensing: get to know what license is better suited for your projects
  • Managing data: how to version control, share and add metadata to your research data sets
  • Produce automated workflows
  • Creating a software package
  • Testing scientific code
  • Test automation and continuous integration
  • How to make sure that your code can be run by others (instead to only on your personal computers): this covers execution environments, Docker, and binder
  • How to generate digital assets identifiers and citation files for your software


Attendees must have previous knowledge of Python and should be able to:

  • Write and run Python programs
  • Know how to import packages in Python (e.g. matplotlib, numpy, pandas)
  • Write functions in Python
  • Read data from files (e.g. csv, txt)

It would be also beneficial if the attendees have basic exposure to the shell (command line, terminal) and git.


One 6 hours long session (including a 1 hour long lunch break, lunch not included)


One-time event: June 14th 2018, 10:00-16:00.


This course is suitable for all research staff and students.


This workshop can be booked here [external link]