Surround tasks to extract Pylint warnings, cyclomatic complexity (using Radon) and imports (using findimports). These are run within a Docker container, which contains both a Python2 and Python3 venv to ensure that source files can be parsed properly regardless of the Python version.
Jupyter notebooks to analyse and visualise the extracted metrics.