From 0c0d6f03558c9f10d27805d6c7ca64b313ab1ca8 Mon Sep 17 00:00:00 2001
From: Cyril Danilevski <cyril.danilevski@xfel.eu>
Date: Thu, 28 Jan 2021 11:22:56 +0100
Subject: [PATCH] Add CI config

---
 .gitlab-ci.yml                                |  12 +++++
 cal_tools/cal_tools/agipdlib.py               |   8 ++--
 cal_tools/cal_tools/agipdutils.py             |   5 +--
 cal_tools/cal_tools/agipdutils_ff.py          |   3 +-
 cal_tools/cal_tools/ana_tools.py              |   2 +-
 cal_tools/cal_tools/lpdlib.py                 |   2 +-
 cal_tools/cal_tools/metrology.py              |   6 ++-
 cal_tools/cal_tools/plotting.py               |   7 ++-
 cal_tools/cal_tools/step_timing.py            |   1 +
 cal_tools/cal_tools/tools.py                  |  15 ++++---
 cal_tools/cython/agipdalgs.pyx                |   4 +-
 docs/source/conf.py                           |  23 +++++-----
 notebooks/LPD/playground/metroLib.py          |   8 +++-
 notebooks/pnCCD/frm6reader.py                 |   6 ++-
 reportservice/automatic_run.py                |   4 +-
 reportservice/report_service.py               |   5 +--
 setup.py                                      |  13 +++---
 ...test.suite._ErrorHolder-20210125191730.xml |  23 ++++++++++
 .../AGIPDOfflineCorrection.pdf                | Bin
 .../CORR-R0412-AGIPD00-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD00-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD01-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD01-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD02-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD02-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD03-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD03-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD04-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD04-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD05-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD05-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD06-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD06-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD07-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD07-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD08-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD08-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD09-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD09-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD10-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD10-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD11-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD11-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD12-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD12-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD13-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD13-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD14-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD14-S00000.h5.hist.npz     | Bin
 .../CORR-R0412-AGIPD15-S00000.h5.checksum     | Bin
 .../CORR-R0412-AGIPD15-S00000.h5.hist.npz     | Bin
 ...EST-TestAGIPDCorrection-20181116185424.xml |   0
 .../TestAGIPDCorrection_G/karabo.data         | Bin
 .../CORR-R0154-LPD00-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD01-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD01-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD02-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD02-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD03-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD03-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD04-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD04-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD05-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD06-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD06-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD07-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD07-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD08-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD08-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD09-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD09-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD10-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD11-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD11-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD12-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD12-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD13-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD13-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD14-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD14-S00000.h5.hist.npz       | Bin
 .../CORR-R0154-LPD15-S00000.h5.checksum       | Bin
 .../CORR-R0154-LPD15-S00000.h5.hist.npz       | Bin
 .../LPDOfflineCorrection.pdf                  | Bin
 .../TEST-TestLPDCorrection-20181116190907.xml |   0
 .../TestLPDCorrection_G/karabo.data           | Bin
 tests/{ => legacy}/correction_base.py         |   0
 tests/legacy/readme.md                        |   7 +++
 tests/{ => legacy}/test_agipd.py              |   3 +-
 tests/{ => legacy}/test_lpd.py                |   3 +-
 tests/test_cal_tools.py                       |  12 +++--
 webservice/manual_launch.py                   |  41 ++++++++----------
 webservice/serve_overview.py                  |   1 +
 webservice/sqlite_view.py                     |   2 -
 webservice/update_config.py                   |   1 -
 webservice/update_mdc.py                      |   2 -
 webservice/webservice.py                      |   7 ++-
 xfel_calibrate/calibrate.py                   |  23 +++++-----
 xfel_calibrate/finalize.py                    |   3 +-
 98 files changed, 148 insertions(+), 104 deletions(-)
 create mode 100644 .gitlab-ci.yml
 create mode 100644 tests/legacy/artefacts/9088fa11013afe7bb5d4231fd4170c96e34db520/TestAGIPDCorrection_T/TEST-unittest.suite._ErrorHolder-20210125191730.xml
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/AGIPDOfflineCorrection.pdf (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD00-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD00-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD01-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD01-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD02-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD02-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD03-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD03-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD04-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD04-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD05-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD05-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD06-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD06-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD07-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD07-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD08-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD08-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD09-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD09-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD10-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD10-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD11-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD11-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD12-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD12-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD13-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD13-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD14-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD14-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD15-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD15-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/TEST-TestAGIPDCorrection-20181116185424.xml (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/karabo.data (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD00-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD01-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD01-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD02-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD02-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD03-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD03-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD04-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD04-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD05-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD06-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD06-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD07-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD07-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD08-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD08-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD09-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD09-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD10-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD11-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD11-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD12-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD12-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD13-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD13-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD14-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD14-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD15-S00000.h5.checksum (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD15-S00000.h5.hist.npz (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/LPDOfflineCorrection.pdf (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/TEST-TestLPDCorrection-20181116190907.xml (100%)
 rename tests/{ => legacy}/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/karabo.data (100%)
 rename tests/{ => legacy}/correction_base.py (100%)
 create mode 100644 tests/legacy/readme.md
 rename tests/{ => legacy}/test_agipd.py (99%)
 rename tests/{ => legacy}/test_lpd.py (99%)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000..687b779fc
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,12 @@
+isort:
+  stage: test
+  script:
+    - python3 -m pip install --user isort==5.6.4
+    - isort --diff **/*.py && isort -c **/*.py
+
+pytest:
+  stage: test
+  script:
+    - python3 -m pip install --user -r requirements.txt
+    - python3 -m pip install --user pytest
+    - pytest -vv tests/test_*
diff --git a/cal_tools/cal_tools/agipdlib.py b/cal_tools/cal_tools/agipdlib.py
index 54afabdc2..e52ed7435 100644
--- a/cal_tools/cal_tools/agipdlib.py
+++ b/cal_tools/cal_tools/agipdlib.py
@@ -1,16 +1,16 @@
+import traceback
 from pathlib import Path
 from typing import Optional, Tuple
 
 import h5py
 import numpy as np
 import sharedmem
-import traceback
-
 from cal_tools.agipdutils import *
-from cal_tools.cython import agipdalgs as calgs
 from cal_tools.enums import BadPixels, SnowResolution
 from cal_tools.tools import get_constant_from_db_and_time
-from iCalibrationDB import Constants, Conditions, Detectors
+from iCalibrationDB import Conditions, Constants, Detectors
+
+from cal_tools.cython import agipdalgs as calgs
 
 
 def get_num_cells(fname, loc, module):
diff --git a/cal_tools/cal_tools/agipdutils.py b/cal_tools/cal_tools/agipdutils.py
index e217c04da..9533a6571 100644
--- a/cal_tools/cal_tools/agipdutils.py
+++ b/cal_tools/cal_tools/agipdutils.py
@@ -1,12 +1,11 @@
 import copy
 
 import numpy as np
-from scipy.signal import cwt, ricker, find_peaks_cwt
+from cal_tools.enums import BadPixels, SnowResolution
+from scipy.signal import cwt, find_peaks_cwt, ricker
 from sklearn.mixture import GaussianMixture
 from sklearn.preprocessing import StandardScaler
 
-from cal_tools.enums import BadPixels, SnowResolution
-
 
 def assemble_constant_dict(corr_bools, pc_bools, memory_cells, bias_voltage,
                            gain_setting, acquisition_rate,
diff --git a/cal_tools/cal_tools/agipdutils_ff.py b/cal_tools/cal_tools/agipdutils_ff.py
index 65ff91866..97d38ce87 100644
--- a/cal_tools/cal_tools/agipdutils_ff.py
+++ b/cal_tools/cal_tools/agipdutils_ff.py
@@ -1,9 +1,8 @@
 from typing import Any, Dict, List, Optional, Tuple
 
-from iminuit import Minuit
 import numpy as np
-
 from cal_tools.enums import BadPixelsFF
+from iminuit import Minuit
 
 
 def any_in(mask: np.ndarray, bits: int) -> bool:
diff --git a/cal_tools/cal_tools/ana_tools.py b/cal_tools/cal_tools/ana_tools.py
index 907c1682d..b9074e118 100644
--- a/cal_tools/cal_tools/ana_tools.py
+++ b/cal_tools/cal_tools/ana_tools.py
@@ -1,6 +1,6 @@
-from enum import Enum
 import datetime
 import glob
+from enum import Enum
 
 import dateutil.parser
 import h5py
diff --git a/cal_tools/cal_tools/lpdlib.py b/cal_tools/cal_tools/lpdlib.py
index 47392acdc..054cebb74 100644
--- a/cal_tools/cal_tools/lpdlib.py
+++ b/cal_tools/cal_tools/lpdlib.py
@@ -4,7 +4,7 @@ import h5py
 import numpy as np
 from cal_tools.enums import BadPixels
 from cal_tools.tools import get_constant_from_db, get_constant_from_db_and_time
-from iCalibrationDB import Constants, Conditions, Detectors
+from iCalibrationDB import Conditions, Constants, Detectors
 
 
 class LpdCorrections:
diff --git a/cal_tools/cal_tools/metrology.py b/cal_tools/cal_tools/metrology.py
index bbaededce..8a6c0affc 100644
--- a/cal_tools/cal_tools/metrology.py
+++ b/cal_tools/cal_tools/metrology.py
@@ -1,6 +1,8 @@
-import numpy as np
-import h5py, os, re
+import os
+import re
 
+import h5py
+import numpy as np
 from matplotlib import pylab as plt
 
 
diff --git a/cal_tools/cal_tools/plotting.py b/cal_tools/cal_tools/plotting.py
index a84463efa..7329e7b7e 100644
--- a/cal_tools/cal_tools/plotting.py
+++ b/cal_tools/cal_tools/plotting.py
@@ -3,13 +3,12 @@ from typing import Any, Dict, Optional
 
 import matplotlib.pyplot as plt
 import numpy as np
-from matplotlib import colors
-from matplotlib.patches import Patch
-from mpl_toolkits.axes_grid1 import AxesGrid
-
 from extra_geom import (AGIPD_1MGeometry, AGIPD_500K2GGeometry,
                         DSSC_1MGeometry, LPD_1MGeometry)
 from extra_geom import tests as eg_tests
+from matplotlib import colors
+from matplotlib.patches import Patch
+from mpl_toolkits.axes_grid1 import AxesGrid
 
 
 def show_overview(d, cell_to_preview, gain_to_preview, out_folder=None, infix=None):
diff --git a/cal_tools/cal_tools/step_timing.py b/cal_tools/cal_tools/step_timing.py
index 8ae6e17a9..576f52844 100644
--- a/cal_tools/cal_tools/step_timing.py
+++ b/cal_tools/cal_tools/step_timing.py
@@ -3,6 +3,7 @@ from time import perf_counter
 
 import numpy as np
 
+
 class StepTimer:
     def __init__(self):
         self.steps = defaultdict(list)
diff --git a/cal_tools/cal_tools/tools.py b/cal_tools/cal_tools/tools.py
index 8e485f273..e4e3f44b5 100644
--- a/cal_tools/cal_tools/tools.py
+++ b/cal_tools/cal_tools/tools.py
@@ -1,12 +1,12 @@
-from collections import OrderedDict
 import datetime
-from glob import glob
 import json
+import re
+from collections import OrderedDict
+from glob import glob
 from os import environ, listdir, path
 from os.path import isfile
 from pathlib import Path
 from queue import Queue
-import re
 from time import sleep
 from typing import Optional
 from urllib.parse import urljoin
@@ -14,15 +14,16 @@ from urllib.parse import urljoin
 import dateutil.parser
 import h5py
 import ipykernel
-from metadata_client.metadata_client import MetadataClient
-from notebook.notebookapp import list_running_servers
 import numpy as np
 import requests
+import zmq
+from iCalibrationDB import ConstantMetaData, Versions
+from metadata_client.metadata_client import MetadataClient
+from notebook.notebookapp import list_running_servers
 
 from .ana_tools import save_dict_to_hdf5
-from iCalibrationDB import ConstantMetaData, Versions
 from .mdc_config import MDC_config
-import zmq
+
 
 def parse_runs(runs, return_type=str):
     pruns = []
diff --git a/cal_tools/cython/agipdalgs.pyx b/cal_tools/cython/agipdalgs.pyx
index 25a71e098..e5457aef1 100644
--- a/cal_tools/cython/agipdalgs.pyx
+++ b/cal_tools/cython/agipdalgs.pyx
@@ -1,6 +1,8 @@
 import numpy as np
-cimport numpy as cnp
+
 cimport cython
+cimport numpy as cnp
+
 
 @cython.boundscheck(False)
 @cython.wraparound(False)
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 350328d4f..23c008eba 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -40,11 +40,10 @@ extensions = [
 ]
 
 import glob
-import sys
 import os
+import sys
 from subprocess import Popen
 
-
 sys.path.append(os.path.abspath("../pycalibration/"))
 p = Popen(["./makeAllDocs.sh"])
 p.communicate()
@@ -375,13 +374,16 @@ except:
     check_call(["wget", pandoc_url])
     check_call(["dpkg", "-i", pandoc_pack])
 
-# generate the list of available notebooks
-from xfel_calibrate import notebooks
+import os
 from subprocess import check_output
 from textwrap import dedent, indent
-from nbconvert import RSTExporter
-import os
+
 import nbformat
+from nbconvert import RSTExporter
+
+# generate the list of available notebooks
+from xfel_calibrate import notebooks
+
 rst_exporter = RSTExporter()
     
 with open("available_notebooks.rst", "w") as f:
@@ -440,14 +442,15 @@ with open("available_notebooks.rst", "w") as f:
 # add test results
 test_artefact_dir = os.path.realpath("../../tests/artefacts")
 
-from datetime import datetime
-from dateutil.parser import parse
-from lxml import etree
 import shutil
-import tabulate
 import textwrap
+from datetime import datetime
 from uuid import uuid4
 
+import tabulate
+from dateutil.parser import parse
+from lxml import etree
+
 
 def xml_to_rst_report(xml, git_tag, reports=[]):
     e = etree.fromstring(xml.encode())
diff --git a/notebooks/LPD/playground/metroLib.py b/notebooks/LPD/playground/metroLib.py
index b3a4cd8b0..0ef031095 100644
--- a/notebooks/LPD/playground/metroLib.py
+++ b/notebooks/LPD/playground/metroLib.py
@@ -1,6 +1,8 @@
-import numpy as np
-import h5py, os, re
+import os
+import re
 
+import h5py
+import numpy as np
 from matplotlib import pylab as plt
 
 
@@ -346,6 +348,8 @@ def returnPositioned2(geometry_file, modules, dquads):
     return out
 
 import re
+
+
 def positionFileList(filelist, datapath, geometry_file, quad_pos, nImages='all'):
     import glob
     detector = "LPD" if "LPD" in datapath else "AGIPD"
diff --git a/notebooks/pnCCD/frm6reader.py b/notebooks/pnCCD/frm6reader.py
index 35ffc923c..a0539603f 100644
--- a/notebooks/pnCCD/frm6reader.py
+++ b/notebooks/pnCCD/frm6reader.py
@@ -1,7 +1,9 @@
-import os, struct
-import numpy as np
+import os
+import struct
 from collections import OrderedDict
 
+import numpy as np
+
 
 class Frms6Reader(object):
     """ This class allows to access frm6 files
diff --git a/reportservice/automatic_run.py b/reportservice/automatic_run.py
index a85fa0b29..708037153 100644
--- a/reportservice/automatic_run.py
+++ b/reportservice/automatic_run.py
@@ -1,12 +1,12 @@
 import argparse
 import asyncio
-from datetime import datetime, timedelta
 import logging
+from datetime import datetime, timedelta
 
-from dateutil import parser, tz
 import yaml
 import zmq
 import zmq.asyncio
+from dateutil import parser, tz
 
 
 async def auto_run(cfg, timeout=3000):
diff --git a/reportservice/report_service.py b/reportservice/report_service.py
index c21babe2c..03d24a9a6 100644
--- a/reportservice/report_service.py
+++ b/reportservice/report_service.py
@@ -1,17 +1,16 @@
 import argparse
 import asyncio
-from asyncio.subprocess import PIPE
 import copy
 import glob
 import logging
 import os
 import subprocess
+from asyncio.subprocess import PIPE
 
-from git import Repo, InvalidGitRepositoryError
 import yaml
 import zmq
 import zmq.asyncio
-
+from git import InvalidGitRepositoryError, Repo
 from messages import Errors
 
 loop = asyncio.get_event_loop()
diff --git a/setup.py b/setup.py
index 8213e937d..58b1c9ce1 100644
--- a/setup.py
+++ b/setup.py
@@ -1,12 +1,12 @@
-from setuptools import setup
-from setuptools.command.install import install
-from subprocess import check_call, check_output
+import sys
 from distutils.command.build import build
-
-from Cython.Distutils import build_ext
 from distutils.extension import Extension
-import sys
+from subprocess import check_call, check_output
+
 import numpy
+from Cython.Distutils import build_ext
+from setuptools import setup
+from setuptools.command.install import install
 
 extensions = [Extension("cal_tools.cython.agipdalgs",
                         ['cal_tools/cython/agipdalgs.pyx'],
@@ -48,6 +48,7 @@ class PreInstallCommand(build):
 
 
 from xfel_calibrate.notebooks import notebooks
+
 data_files = []
 for ctypes in notebooks.values():
     for nb in ctypes.values():
diff --git a/tests/legacy/artefacts/9088fa11013afe7bb5d4231fd4170c96e34db520/TestAGIPDCorrection_T/TEST-unittest.suite._ErrorHolder-20210125191730.xml b/tests/legacy/artefacts/9088fa11013afe7bb5d4231fd4170c96e34db520/TestAGIPDCorrection_T/TEST-unittest.suite._ErrorHolder-20210125191730.xml
new file mode 100644
index 000000000..533ecad66
--- /dev/null
+++ b/tests/legacy/artefacts/9088fa11013afe7bb5d4231fd4170c96e34db520/TestAGIPDCorrection_T/TEST-unittest.suite._ErrorHolder-20210125191730.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite errors="1" failures="0" file="unittest/suite.py" name="unittest.suite._ErrorHolder-20210125191730" skipped="0" tests="1" time="0.000" timestamp="0001-01-01T00:00:00">
+	<testcase classname="setUpClass (__main__" name="TestAGIPDCorrection)" time="0.000" timestamp="0001-01-01T00:00:00">
+		<error message="Command '['xfel-calibrate', 'AGIPD', 'CORRECT', '--in-folder', '/gpfs/exfel/exp/XMPL/201750/p700001/raw/AGIPD', '--run', '412', '--out-folder', '/gpfs/exfel/exp/XMPL/201750/p700001/scratch/AGIPD', '--calfile', '/gpfs/exfel/exp/XMPL/201750/p700001/usr/agipd_store.h5', '--sequences', '0']' returned non-zero exit status 2." type="CalledProcessError">
+<![CDATA[Traceback (most recent call last):
+  File "/home/danilevc/calibration/pycalibration/tests/correction_base.py", line 295, in setUpClass
+    out = sp.check_output(cmd)
+  File "/software/anaconda3/5.2/lib/python3.6/subprocess.py", line 336, in check_output
+    **kwargs).stdout
+  File "/software/anaconda3/5.2/lib/python3.6/subprocess.py", line 418, in run
+    output=stdout, stderr=stderr)
+subprocess.CalledProcessError: Command '['xfel-calibrate', 'AGIPD', 'CORRECT', '--in-folder', '/gpfs/exfel/exp/XMPL/201750/p700001/raw/AGIPD', '--run', '412', '--out-folder', '/gpfs/exfel/exp/XMPL/201750/p700001/scratch/AGIPD', '--calfile', '/gpfs/exfel/exp/XMPL/201750/p700001/usr/agipd_store.h5', '--sequences', '0']' returned non-zero exit status 2.
+]]>		</error>
+		<system-out>
+<![CDATA[Executing xfel-calibrate AGIPD CORRECT --in-folder /gpfs/exfel/exp/XMPL/201750/p700001/raw/AGIPD --run 412 --out-folder /gpfs/exfel/exp/XMPL/201750/p700001/scratch/AGIPD --calfile /gpfs/exfel/exp/XMPL/201750/p700001/usr/agipd_store.h5 --sequences 0
+Creating data paths for artefacts
+Last git commit is: 9088fa11013afe7bb5d4231fd4170c96e34db520
+artefacts will be placed in: /home/danilevc/calibration/pycalibration/tests/artefacts/9088fa11013afe7bb5d4231fd4170c96e34db520/TestAGIPDCorrection_T
+]]>		</system-out>
+		<system-err>
+<![CDATA[]]>		</system-err>
+	</testcase>
+</testsuite>
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/AGIPDOfflineCorrection.pdf b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/AGIPDOfflineCorrection.pdf
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/AGIPDOfflineCorrection.pdf
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/AGIPDOfflineCorrection.pdf
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD00-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD00-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD00-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD00-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD00-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD00-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD00-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD00-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD01-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD01-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD01-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD01-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD01-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD01-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD01-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD01-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD02-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD02-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD02-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD02-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD02-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD02-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD02-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD02-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD03-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD03-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD03-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD03-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD03-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD03-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD03-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD03-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD04-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD04-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD04-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD04-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD04-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD04-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD04-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD04-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD05-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD05-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD05-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD05-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD05-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD05-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD05-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD05-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD06-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD06-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD06-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD06-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD06-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD06-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD06-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD06-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD07-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD07-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD07-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD07-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD07-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD07-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD07-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD07-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD08-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD08-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD08-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD08-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD08-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD08-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD08-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD08-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD09-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD09-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD09-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD09-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD09-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD09-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD09-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD09-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD10-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD10-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD10-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD10-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD10-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD10-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD10-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD10-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD11-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD11-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD11-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD11-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD11-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD11-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD11-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD11-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD12-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD12-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD12-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD12-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD12-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD12-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD12-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD12-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD13-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD13-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD13-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD13-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD13-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD13-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD13-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD13-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD14-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD14-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD14-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD14-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD14-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD14-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD14-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD14-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD15-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD15-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD15-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD15-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD15-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD15-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD15-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/CORR-R0412-AGIPD15-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/TEST-TestAGIPDCorrection-20181116185424.xml b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/TEST-TestAGIPDCorrection-20181116185424.xml
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/TEST-TestAGIPDCorrection-20181116185424.xml
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/TEST-TestAGIPDCorrection-20181116185424.xml
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/karabo.data b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/karabo.data
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/karabo.data
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestAGIPDCorrection_G/karabo.data
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD00-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD00-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD00-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD00-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD01-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD01-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD01-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD01-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD01-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD01-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD01-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD01-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD02-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD02-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD02-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD02-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD02-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD02-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD02-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD02-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD03-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD03-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD03-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD03-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD03-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD03-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD03-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD03-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD04-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD04-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD04-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD04-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD04-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD04-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD04-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD04-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD05-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD05-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD05-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD05-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD06-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD06-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD06-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD06-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD06-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD06-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD06-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD06-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD07-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD07-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD07-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD07-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD07-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD07-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD07-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD07-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD08-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD08-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD08-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD08-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD08-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD08-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD08-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD08-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD09-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD09-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD09-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD09-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD09-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD09-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD09-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD09-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD10-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD10-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD10-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD10-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD11-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD11-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD11-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD11-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD11-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD11-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD11-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD11-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD12-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD12-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD12-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD12-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD12-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD12-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD12-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD12-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD13-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD13-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD13-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD13-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD13-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD13-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD13-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD13-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD14-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD14-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD14-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD14-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD14-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD14-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD14-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD14-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD15-S00000.h5.checksum b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD15-S00000.h5.checksum
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD15-S00000.h5.checksum
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD15-S00000.h5.checksum
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD15-S00000.h5.hist.npz b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD15-S00000.h5.hist.npz
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD15-S00000.h5.hist.npz
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/CORR-R0154-LPD15-S00000.h5.hist.npz
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/LPDOfflineCorrection.pdf b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/LPDOfflineCorrection.pdf
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/LPDOfflineCorrection.pdf
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/LPDOfflineCorrection.pdf
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/TEST-TestLPDCorrection-20181116190907.xml b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/TEST-TestLPDCorrection-20181116190907.xml
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/TEST-TestLPDCorrection-20181116190907.xml
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/TEST-TestLPDCorrection-20181116190907.xml
diff --git a/tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/karabo.data b/tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/karabo.data
similarity index 100%
rename from tests/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/karabo.data
rename to tests/legacy/artefacts/ca3b513c64c05a29ae0f530c91b04349417c4fa0/TestLPDCorrection_G/karabo.data
diff --git a/tests/correction_base.py b/tests/legacy/correction_base.py
similarity index 100%
rename from tests/correction_base.py
rename to tests/legacy/correction_base.py
diff --git a/tests/legacy/readme.md b/tests/legacy/readme.md
new file mode 100644
index 000000000..060f98982
--- /dev/null
+++ b/tests/legacy/readme.md
@@ -0,0 +1,7 @@
+These tests were historically part of pycalibration.
+
+They are broken and haven't been looked at. Some may be fixed, some are deprecated due to heavy changes since they were implemented.
+This directory is excluded from the CI runner.
+
+It does not mean that they can be freely deleted. Each test file should be assayed and fixed, if possible!
+
diff --git a/tests/test_agipd.py b/tests/legacy/test_agipd.py
similarity index 99%
rename from tests/test_agipd.py
rename to tests/legacy/test_agipd.py
index 814dfbff6..1f6aa646b 100644
--- a/tests/test_agipd.py
+++ b/tests/legacy/test_agipd.py
@@ -3,7 +3,6 @@ import unittest
 
 import numpy as np
 import xmlrunner
-
 from correction_base import CorrectionTestBase, args, get_artefact_dir
 
 
@@ -45,7 +44,7 @@ class TestAGIPDCorrection(CorrectionTestBase, unittest.TestCase):
                             'header.pulseCount', 'trailer.status',
                             'detector.trainId',
                             'trailer.trainId']
-    
+
     expected_reports = ['AGIPDOfflineCorrection.pdf']
 
     def _output_to_path(self):
diff --git a/tests/test_lpd.py b/tests/legacy/test_lpd.py
similarity index 99%
rename from tests/test_lpd.py
rename to tests/legacy/test_lpd.py
index 9119d506f..b72a211f1 100644
--- a/tests/test_lpd.py
+++ b/tests/legacy/test_lpd.py
@@ -3,7 +3,6 @@ import unittest
 
 import numpy as np
 import xmlrunner
-
 from correction_base import CorrectionTestBase, args, get_artefact_dir
 
 np.warnings.filterwarnings('ignore')
@@ -47,7 +46,7 @@ class TestLPDCorrection(CorrectionTestBase, unittest.TestCase):
                             'header.pulseCount', 'trailer.status',
                             'detector.trainId',
                             'trailer.trainId']
-    
+
     expected_reports = ['LPDOfflineCorrection.pdf']
 
     def _output_to_path(self):
diff --git a/tests/test_cal_tools.py b/tests/test_cal_tools.py
index 803eba3b1..208066682 100644
--- a/tests/test_cal_tools.py
+++ b/tests/test_cal_tools.py
@@ -16,19 +16,17 @@ def test_show_processed_modules():
 
 
 def test_dir_creation_date():
-    folder = '/gpfs/exfel/exp/DETLAB/202031/p900172/raw'
+    folder = '/gpfs/exfel/exp/CALLAB/202031/p900113/raw'
 
-    date = get_dir_creation_date(folder, 10)
+    date = get_dir_creation_date(folder, 9983)
     assert isinstance(date, datetime)
-    assert str(date) == '2020-07-20 10:39:03'
+    assert str(date) == '2020-09-23 13:30:50'
 
     with pytest.raises(ValueError) as e:
         get_dir_creation_date(folder, 4)
     assert e.value.args[1] == Path(folder) / 'r0004'
 
     # The following data predates the addition of creation_time in metadata
-    folder = '/gpfs/exfel/exp/SQS/201930/p900075/raw/'
-
-    date = get_dir_creation_date(folder, 365)
+    date = get_dir_creation_date(folder, 9999)
     assert isinstance(date, datetime)
-    assert str(date) == '2019-07-04 11:02:41.280000'
+    assert str(date) == '2021-01-25 20:30:52.818820'
diff --git a/webservice/manual_launch.py b/webservice/manual_launch.py
index bf07427f2..b467d89f0 100644
--- a/webservice/manual_launch.py
+++ b/webservice/manual_launch.py
@@ -1,28 +1,25 @@
-import argparse
-from datetime import datetime
-import sys
-from time import sleep
-import urllib.parse
 import zmq
 
-parser = argparse.ArgumentParser(
-    description='Request dark characterization. Will wait on data transfers to complete first!')
-parser.add_argument('--proposal', type=str, help='The proposal number, without leading p, but with leading zeros')
-parser.add_argument('--instrument', type=str, choices=["SPB", "MID", "FXE", "SCS", "SQS", "HED", "DETLAB", "CALLAB"], help='The instrument')
-parser.add_argument('--cycle', type=str, help='The facility cycle')
-parser.add_argument('--run', type=int, help='Run number as an integer')
-parser.add_argument('--mdc-id', type=int, help='Run id from MDC')
-parser.add_argument('--priority', type=int, help='Priority to launch', choices=[1,2], default=2)
-
-args = vars(parser.parse_args())
-
 con = zmq.Context()
 socket = con.socket(zmq.REQ)
-con = socket.connect("tcp://max-exfl016:5555")
-msg = "','".join(["correct", str(args["mdc_id"]), "SASEX", args["instrument"], args["cycle"], args["proposal"], str(args["run"]), str(args["priority"])])
-socket.send("['{}']".format(msg).encode())
-resp = socket.recv_multipart()[0]
-print(resp.decode())
+con = socket.connect("tcp://max-exfl017:5555")
 
-    
+action = 'dark_request'
+dark_run_id = '182'
+sase = 'sase1'
+instrument = 'CALLAB'
+cycle = '202031'
+proposal = '900113'
+detector_id = 'SPB_DET_AGIPD1M-1'
+pdu_physical_names = '["AGIPD00 (Q1M1)"', '"AGIPD01 (Q1M2)"', '"AGIPD02 (Q1M3)"', '"AGIPD03 (Q1M4)"', '"AGIPD04 (Q2M1)"', '"AGIPD05 (Q2M2)"', '"AGIPD06 (Q2M3)"', '"AGIPD07 (Q2M4)"', '"AGIPD08 (Q3M1)"', '"AGIPD09 (Q3M2)"', '"AGIPD10 (Q3M3)"', '"AGIPD11 (Q3M4)"', '"AGIPD12 (Q4M1)"', '"AGIPD13 (Q4M2)"', '"AGIPD14 (Q4M3)"', '"AGIPD15 (Q4M4)"]'  # noqa
+pdu_karabo_das = '["AGIPD00"', ' "AGIPD01"', ' "AGIPD02"', ' "AGIPD03"', ' "AGIPD04"', ' "AGIPD05"', ' "AGIPD06"', ' "AGIPD07"', ' "AGIPD08"', ' "AGIPD09"', ' "AGIPD10"', ' "AGIPD11"', ' "AGIPD12"', ' "AGIPD13"', ' "AGIPD14"', ' "AGIPD15"]'  # noqa
+operation_mode = 'FIXED_GAIN'
+run_numbers = '[9985,]'
 
+
+data = [action, dark_run_id, sase, instrument, cycle, proposal, detector_id,
+        operation_mode, *pdu_physical_names, *pdu_karabo_das, run_numbers]
+
+socket.send(str(data).encode())
+resp = socket.recv_multipart()[0]
+print(resp.decode())
diff --git a/webservice/serve_overview.py b/webservice/serve_overview.py
index dd7780202..b8c6c5593 100644
--- a/webservice/serve_overview.py
+++ b/webservice/serve_overview.py
@@ -10,6 +10,7 @@ from uuid import uuid4
 
 import yaml
 from jinja2 import Template
+
 from xfel_calibrate.settings import (free_nodes_cmd, preempt_nodes_cmd,
                                      reservation)
 
diff --git a/webservice/sqlite_view.py b/webservice/sqlite_view.py
index 854cc3149..c16727213 100644
--- a/webservice/sqlite_view.py
+++ b/webservice/sqlite_view.py
@@ -1,8 +1,6 @@
 import argparse
-
 import sqlite3
 
-
 parser = argparse.ArgumentParser(
     description='Update run status at MDC for a given run id.')
 parser.add_argument('--sqlite-fpath', type=str, help='Path to sqlite file path',
diff --git a/webservice/update_config.py b/webservice/update_config.py
index 0d3cf58f1..c79474236 100644
--- a/webservice/update_config.py
+++ b/webservice/update_config.py
@@ -5,7 +5,6 @@ import sys
 import yaml
 import zmq
 
-
 # Defining available options
 agipd_options = {
         "force-hg-if-below": {'typ': int},
diff --git a/webservice/update_mdc.py b/webservice/update_mdc.py
index 56da834f6..fd8d09e89 100644
--- a/webservice/update_mdc.py
+++ b/webservice/update_mdc.py
@@ -1,10 +1,8 @@
 import argparse
 
 import yaml
-
 from metadata_client.metadata_client import MetadataClient
 
-
 parser = argparse.ArgumentParser(
     description='Update run status at MDC for a given run id.')
 parser.add_argument('--conf-file', type=str, help='Path to webservice config',
diff --git a/webservice/webservice.py b/webservice/webservice.py
index dbf53cf55..0249a7e44 100644
--- a/webservice/webservice.py
+++ b/webservice/webservice.py
@@ -8,17 +8,16 @@ import logging
 import os
 import sqlite3
 import subprocess
+import traceback
 import urllib.parse
 from datetime import datetime
-import traceback
 
 import yaml
 import zmq
 import zmq.asyncio
 import zmq.auth.thread
-from dateutil import parser as timeparser
-from git import Repo, InvalidGitRepositoryError
-from messages import Errors, Success, MDC
+from git import InvalidGitRepositoryError, Repo
+from messages import MDC, Errors, Success
 from metadata_client.metadata_client import MetadataClient
 
 
diff --git a/xfel_calibrate/calibrate.py b/xfel_calibrate/calibrate.py
index a1572c7b9..03242466e 100755
--- a/xfel_calibrate/calibrate.py
+++ b/xfel_calibrate/calibrate.py
@@ -1,26 +1,26 @@
 #!/usr/bin/env python
 
 import argparse
-from datetime import datetime
 import inspect
-import nbconvert
-import nbformat
-from nbparameterise import (
-    extract_parameters, replace_definitions, parameter_values
-)
 import os
 import pprint
 import re
-from subprocess import check_output, DEVNULL
+import stat
 import sys
+import textwrap
 import warnings
-from .settings import *
-from .notebooks import notebooks
+from datetime import datetime
+from subprocess import DEVNULL, check_output
+
+import nbconvert
+import nbformat
 from jinja2 import Template
-import stat
-import textwrap
+from nbparameterise import (extract_parameters, parameter_values,
+                            replace_definitions)
 
 from .finalize import tex_escape
+from .notebooks import notebooks
+from .settings import *
 
 PKG_DIR = os.path.dirname(os.path.abspath(__file__))
 
@@ -271,6 +271,7 @@ def balance_sequences(in_folder, run, sequences, sequences_per_node,
     :return: Balanced list of list of sequences
     """
     import glob
+
     import numpy as np
     if sequences[0] == -1:
         path = os.path.join(in_folder, f"r{run:04d}", f"*{path_inset}-S*.h5")
diff --git a/xfel_calibrate/finalize.py b/xfel_calibrate/finalize.py
index 6bdc1117c..199024679 100644
--- a/xfel_calibrate/finalize.py
+++ b/xfel_calibrate/finalize.py
@@ -1,9 +1,9 @@
+import re
 from datetime import datetime
 from glob import glob
 from importlib.machinery import SourceFileLoader
 from os import chdir, listdir, makedirs, path, remove, stat
 from os.path import isdir, isfile, splitext
-import re
 from shutil import copy, copytree, move, rmtree
 from subprocess import CalledProcessError, check_call, check_output
 from textwrap import dedent
@@ -14,6 +14,7 @@ from jinja2 import Template
 
 from .settings import *
 
+
 def atoi(text):
     """
     Convert string to integer is possible
-- 
GitLab