diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c8015fac03317097fca259aa4b3ea26842f05c56..893a544f2bbf1aaf663c4030dee0152530634762 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,6 +28,7 @@ stages:
   - build
   - test
   - build_test
+  - python
   - example
   - build_test_example
   - install
@@ -616,3 +617,36 @@ sanity:
     untracked: true
     policy: pull
     key: "${CI_COMMIT_REF_SLUG}-gcc"
+
+
+
+##########################################################
+# template for all Python jobs
+.python:
+  stage: python
+  tags:
+    - corsika
+  script:
+    - cd ${CI_PROJECT_DIR}/Python  # change into the Python directory
+    - pip install --user -e '.[test]'  # install the package + test deps
+    - make all 2&>1 | tee python-test.log  # this runs all of the Python tests
+    - cd ${CI_PROJECT_DIR}  # reset the directory
+  artifacts:
+    when: always
+    expire_in: 1 year
+    paths:
+      - ${CI_PROJECT_DIR}/Python/python-test.log
+
+# we now configure the jobs for the three
+# supported Python versions
+python-3.6:
+  extends: .python
+  image: python:3.6
+
+python-3.7:
+  extends: .python
+  image: python:3.7
+
+python-3.8:
+  extends: .python
+  image: python:3.8
diff --git a/Python/README.md b/Python/README.md
index d18222735173a11192debfcfc1236c6682769f3f..13c3143e8624dd7cf578599a312815afdff60e6a 100644
--- a/Python/README.md
+++ b/Python/README.md
@@ -25,7 +25,7 @@ If you wish to develop new features in `corsika`, you will also need to install
 some additional dependencies so you can run our unit tests. These can be
 installed with
 
-    pip install --user -e .[test]
+    pip install --user -e '.[test]'
 
 Once that is completed, you can run the unit tests directory from the `corsika` directory