diff --git a/scripts/MPLwidgets.py b/qt/python/mantidqt/MPLwidgets.py
similarity index 93%
rename from scripts/MPLwidgets.py
rename to qt/python/mantidqt/MPLwidgets.py
index fe5e3f495d3d34e64f9ccdaa802f9aca8ccc498d..9c00c92a8326ae844dd4bd89d1167eca74532c8f 100644
--- a/scripts/MPLwidgets.py
+++ b/qt/python/mantidqt/MPLwidgets.py
@@ -5,7 +5,7 @@
 #     & Institut Laue - Langevin
 # SPDX - License - Identifier: GPL - 3.0 +
 from __future__ import (absolute_import, division, print_function)
-from gui_helper import set_matplotlib_backend
+from .gui_helper import set_matplotlib_backend
 
 backend = set_matplotlib_backend()  # must be at the top of this file
 if backend == 'Qt4Agg':
diff --git a/scripts/gui_helper.py b/qt/python/mantidqt/gui_helper.py
similarity index 100%
rename from scripts/gui_helper.py
rename to qt/python/mantidqt/gui_helper.py
diff --git a/qt/python/mantidqt/widgets/sliceviewer/view.py b/qt/python/mantidqt/widgets/sliceviewer/view.py
index bc18d493649cb0b6915e4514ad2f80eaf834653e..8adc2106509853e52a0d2c822031a2b5713dc6e3 100644
--- a/qt/python/mantidqt/widgets/sliceviewer/view.py
+++ b/qt/python/mantidqt/widgets/sliceviewer/view.py
@@ -10,8 +10,8 @@
 from __future__ import (absolute_import, division, print_function)
 from qtpy.QtWidgets import QWidget, QVBoxLayout
 from qtpy.QtCore import Qt
+from mantidqt.MPLwidgets import FigureCanvas, NavigationToolbar2QT as NavigationToolbar
 from matplotlib.figure import Figure
-from MPLwidgets import FigureCanvas, NavigationToolbar2QT as NavigationToolbar
 from .dimensionwidget import DimensionWidget
 
 
diff --git a/scripts/DGSPlanner.py b/scripts/DGSPlanner.py
index b6407a94c248f9f83e1fb7965122cef41546b355..53b7898e14771c2defbf54071a5f794a1d368386 100644
--- a/scripts/DGSPlanner.py
+++ b/scripts/DGSPlanner.py
@@ -8,7 +8,7 @@
 from __future__ import (absolute_import, division, print_function)
 import sys
 from DGSPlanner import DGSPlannerGUI
-from gui_helper import get_qapplication
+from mantidqt.gui_helper import get_qapplication
 
 app, within_mantid = get_qapplication()
 planner = DGSPlannerGUI.DGSPlannerGUI()
diff --git a/scripts/DGSPlanner/DGSPlannerGUI.py b/scripts/DGSPlanner/DGSPlannerGUI.py
index 73ea29bb0f6ce06ae2dd975050cbaf0f36b38ca7..441c7822349d771515e9ac8ab8e446ad5093893f 100644
--- a/scripts/DGSPlanner/DGSPlannerGUI.py
+++ b/scripts/DGSPlanner/DGSPlannerGUI.py
@@ -15,8 +15,8 @@ import sys
 import mantid
 from .ValidateOL import ValidateOL
 import matplotlib
-from gui_helper import show_interface_help
-from MPLwidgets import *
+from mantidqt.gui_helper import show_interface_help
+from mantidqt.MPLwidgets import *
 from matplotlib.figure import Figure
 from mpl_toolkits.axisartist.grid_helper_curvelinear import GridHelperCurveLinear
 from mpl_toolkits.axisartist import Subplot
diff --git a/scripts/DGSPlanner/InstrumentSetupWidget.py b/scripts/DGSPlanner/InstrumentSetupWidget.py
index 153404749a23609cee3f9c8074e8461fb55e886b..d4514f154f33ec69cfd6396683362e5a7bea0365 100644
--- a/scripts/DGSPlanner/InstrumentSetupWidget.py
+++ b/scripts/DGSPlanner/InstrumentSetupWidget.py
@@ -13,7 +13,7 @@ import numpy
 
 sys.path.append('..')
 #the following matplotlib imports cannot be placed before the setting of the backend, so we ignore flake8 warnings
-from MPLwidgets import * # noqa
+from mantidqt.MPLwidgets import * # noqa
 from matplotlib.figure import Figure # noqa
 from mpl_toolkits.mplot3d import Axes3D # noqa
 import matplotlib.pyplot # noqa
diff --git a/scripts/FilterEvents.py b/scripts/FilterEvents.py
index a695b6621447f8a43d4e019ec932263a936c8f72..60342d500563660b84a98bc1af8ae637156626a1 100644
--- a/scripts/FilterEvents.py
+++ b/scripts/FilterEvents.py
@@ -7,7 +7,7 @@
 # pylint: disable=invalid-name
 from __future__ import (absolute_import, division, print_function)
 import sys
-from gui_helper import set_matplotlib_backend, get_qapplication
+from mantidqt.gui_helper import set_matplotlib_backend, get_qapplication
 set_matplotlib_backend()  # must be called before anything tries to use matplotlib
 from FilterEvents import eventFilterGUI  # noqa
 
diff --git a/scripts/FilterEvents/eventFilterGUI.py b/scripts/FilterEvents/eventFilterGUI.py
index 8e95233486677a32a31e2771f80ba1774c10a582..f525b816fb58acbc693261e5722cfda9d614b2a1 100644
--- a/scripts/FilterEvents/eventFilterGUI.py
+++ b/scripts/FilterEvents/eventFilterGUI.py
@@ -20,7 +20,7 @@ from mantid.kernel import Logger
 from mantid.simpleapi import AnalysisDataService
 
 from mantid.kernel import ConfigService
-from MPLwidgets import FigureCanvasQTAgg as FigureCanvas
+from mantidqt.MPLwidgets import FigureCanvasQTAgg as FigureCanvas
 from matplotlib.pyplot import (Figure, setp)
 import os
 
diff --git a/scripts/HFIR_4Circle_Reduction.py b/scripts/HFIR_4Circle_Reduction.py
index 8742a608399e95830a34684f8a605119d7a84022..4556964e62b5049e78a01c83dbd23ca9708cbffc 100644
--- a/scripts/HFIR_4Circle_Reduction.py
+++ b/scripts/HFIR_4Circle_Reduction.py
@@ -7,7 +7,7 @@
 #pylint: disable=invalid-name
 from __future__ import (absolute_import, division, print_function)
 import sys
-from gui_helper import set_matplotlib_backend, get_qapplication
+from mantidqt.gui_helper import set_matplotlib_backend, get_qapplication
 set_matplotlib_backend()  # must be called before anything tries to use matplotlib
 from HFIR_4Circle_Reduction import reduce4circleGUI  # noqa
 
diff --git a/scripts/HFIR_4Circle_Reduction/mpl2dgraphicsview.py b/scripts/HFIR_4Circle_Reduction/mpl2dgraphicsview.py
index a515456faef90b3ba9fd776f62ca1e00bba79c24..01127893ce65e38bacc59878cf3d3d287c5d5b0b 100644
--- a/scripts/HFIR_4Circle_Reduction/mpl2dgraphicsview.py
+++ b/scripts/HFIR_4Circle_Reduction/mpl2dgraphicsview.py
@@ -9,8 +9,8 @@ from __future__ import (absolute_import, division, print_function)
 import os
 import numpy as np
 from qtpy.QtWidgets import (QWidget, QVBoxLayout, QSizePolicy)
-from MPLwidgets import FigureCanvasQTAgg as FigureCanvas
-from MPLwidgets import NavigationToolbar2QT as NavigationToolbar2
+from mantidqt.MPLwidgets import FigureCanvasQTAgg as FigureCanvas
+from mantidqt.MPLwidgets import NavigationToolbar2QT as NavigationToolbar2
 from matplotlib.figure import Figure
 import matplotlib.image
 from matplotlib import pyplot as plt
diff --git a/scripts/HFIR_4Circle_Reduction/mplgraphicsview.py b/scripts/HFIR_4Circle_Reduction/mplgraphicsview.py
index 0936492816ed9dd14299a00d0e42bd71a889346b..bdea6df7b3591b25de85c3b0939c6cea76473cef 100644
--- a/scripts/HFIR_4Circle_Reduction/mplgraphicsview.py
+++ b/scripts/HFIR_4Circle_Reduction/mplgraphicsview.py
@@ -9,8 +9,8 @@ from __future__ import (absolute_import, division, print_function)
 from six.moves import range
 import os
 import numpy as np
-from MPLwidgets import FigureCanvasQTAgg as FigureCanvas
-from MPLwidgets import NavigationToolbar2QT as NavigationToolbar2
+from mantidqt.MPLwidgets import FigureCanvasQTAgg as FigureCanvas
+from mantidqt.MPLwidgets import NavigationToolbar2QT as NavigationToolbar2
 from matplotlib.figure import Figure
 import matplotlib.image
 import matplotlib.collections
diff --git a/scripts/HFIR_4Circle_Reduction/mplgraphicsview3d.py b/scripts/HFIR_4Circle_Reduction/mplgraphicsview3d.py
index 714fcc328055f5e2d9211f06caa30a0f158baec8..c0f592244dfa83b2f6c5acbaf43d8d3cbdd8687e 100644
--- a/scripts/HFIR_4Circle_Reduction/mplgraphicsview3d.py
+++ b/scripts/HFIR_4Circle_Reduction/mplgraphicsview3d.py
@@ -11,7 +11,7 @@ import numpy as np
 import os
 
 from qtpy.QtWidgets import QSizePolicy
-from MPLwidgets import FigureCanvasQTAgg as FigureCanvas
+from mantidqt.MPLwidgets import FigureCanvasQTAgg as FigureCanvas
 from matplotlib.figure import Figure
 from mpl_toolkits.mplot3d import Axes3D
 
diff --git a/scripts/Interface/reduction_application.py b/scripts/Interface/reduction_application.py
index 73aa72181be6e323a4264d40a7a5861254dbbb8d..43151fa5f0ed93431d0055b4e8a5cde63349eb50 100644
--- a/scripts/Interface/reduction_application.py
+++ b/scripts/Interface/reduction_application.py
@@ -13,7 +13,7 @@ import six
 import sys
 import os
 import traceback
-from gui_helper import get_qapplication
+from mantidqt.gui_helper import get_qapplication
 from qtpy.QtWidgets import (QAction, QDialog, QFileDialog, QMainWindow, QMessageBox)  # noqa
 from qtpy.QtCore import (QFile, QFileInfo, QSettings)  # noqa
 from mantid.kernel import Logger
diff --git a/scripts/PyChop.py b/scripts/PyChop.py
index 4d8b1e5db97e89e6aeeb8d4104eb309b89e8d03b..ac005f12bfa6ba54af47d17f55daa09e7668cb10 100644
--- a/scripts/PyChop.py
+++ b/scripts/PyChop.py
@@ -12,7 +12,7 @@ Module to import and run the PyChop GUI for use either on the commandline or as
 
 import sys
 from PyChop import PyChopGui
-from gui_helper import set_matplotlib_backend, get_qapplication
+from mantidqt.gui_helper import set_matplotlib_backend, get_qapplication
 set_matplotlib_backend()  # must be called before anything tries to use matplotlib
 
 app, within_mantid = get_qapplication()
diff --git a/scripts/PyChop/PyChopGui.py b/scripts/PyChop/PyChopGui.py
index ea86550e19eb55589aab5a9008ba4b84d571c646..5cfe88870ddd7fc7a87a134e9beeb9adc377ff6f 100755
--- a/scripts/PyChop/PyChopGui.py
+++ b/scripts/PyChop/PyChopGui.py
@@ -27,8 +27,8 @@ from qtpy.QtCore import (QEventLoop, Qt)  # noqa
 from qtpy.QtWidgets import (QAction, QCheckBox, QComboBox, QDialog, QFileDialog, QGridLayout, QHBoxLayout, QMenu, QLabel,
                             QLineEdit, QMainWindow, QMessageBox, QPushButton, QSizePolicy, QSpacerItem, QTabWidget,
                             QTextEdit, QVBoxLayout, QWidget)  # noqa
-from MPLwidgets import FigureCanvasQTAgg as FigureCanvas
-from MPLwidgets import NavigationToolbar2QT as NavigationToolbar
+from mantidqt.MPLwidgets import FigureCanvasQTAgg as FigureCanvas
+from mantidqt.MPLwidgets import NavigationToolbar2QT as NavigationToolbar
 import matplotlib
 from matplotlib.figure import Figure
 from matplotlib.widgets import Slider
diff --git a/scripts/QECoverage.py b/scripts/QECoverage.py
index dbd86c136ef20bc02600dbee8ac19191d27bd7a1..9a3967383507cdeeb9bdbd3b20189cd1bd09c50e 100644
--- a/scripts/QECoverage.py
+++ b/scripts/QECoverage.py
@@ -7,12 +7,12 @@
 # pylint: disable=line-too-long, too-many-instance-attributes, invalid-name, missing-docstring, too-many-statements
 # pylint: disable= too-many-branches, no-self-use
 from __future__ import (absolute_import, division, print_function)
-from gui_helper import get_qapplication, show_interface_help
+from mantidqt.gui_helper import get_qapplication, show_interface_help
 import numpy as np
 import os
 import mantid
 from qtpy import QtWidgets
-from MPLwidgets import *
+from mantidqt.MPLwidgets import *
 import matplotlib
 from matplotlib.figure import Figure
 from scipy import constants
diff --git a/scripts/TofConverter.py b/scripts/TofConverter.py
index ec7294bed7da7d226ecd56593dca800acc5b5f10..ff490a9270442a5b7d0125e7b06aed86940080dd 100644
--- a/scripts/TofConverter.py
+++ b/scripts/TofConverter.py
@@ -7,7 +7,7 @@
 #pylint: disable=invalid-name
 from __future__ import (absolute_import, division, print_function)
 from TofConverter import converterGUI
-from gui_helper import get_qapplication
+from mantidqt.gui_helper import get_qapplication
 
 app, within_mantid = get_qapplication()
 
diff --git a/scripts/TofConverter/converterGUI.py b/scripts/TofConverter/converterGUI.py
index 0fe46da7d305f2c2ac3e74cb7b4e8839ddbadfb2..c015658cfdbea9c6fa00ba091a55e9118334cce2 100644
--- a/scripts/TofConverter/converterGUI.py
+++ b/scripts/TofConverter/converterGUI.py
@@ -11,7 +11,7 @@ from qtpy.QtGui import QDoubleValidator
 from qtpy import QtCore
 import os
 from mantid.kernel import Logger
-from gui_helper import show_interface_help
+from mantidqt.gui_helper import show_interface_help
 import math
 import TofConverter.convertUnits