diff --git a/timeseriesviewer/sandbox.py b/timeseriesviewer/sandbox.py
new file mode 100644
index 0000000000000000000000000000000000000000..c678dd63a25bc6b1536ae67c12a14f9f984907e0
--- /dev/null
+++ b/timeseriesviewer/sandbox.py
@@ -0,0 +1,51 @@
+from __future__ import absolute_import
+import six, sys, os, gc, re, collections, site, inspect
+from osgeo import gdal, ogr
+
+from qgis import *
+from qgis.core import *
+from qgis.gui import *
+from PyQt4.QtGui import *
+from PyQt4.QtCore import *
+
+
+class HiddenCanvas(QgsMapCanvas):
+
+
+    def __init__(self):
+        super(HiddenCanvas,self).__init__(None, None)
+
+
+
+
+
+if __name__ == '__main__':
+    import site, sys
+    #add site-packages to sys.path as done by enmapboxplugin.py
+
+    from timeseriesviewer import DIR_SITE_PACKAGES
+    site.addsitedir(DIR_SITE_PACKAGES)
+
+    #prepare QGIS environment
+    if sys.platform == 'darwin':
+        PATH_QGS = r'/Applications/QGIS.app/Contents/MacOS'
+        os.environ['GDAL_DATA'] = r'/usr/local/Cellar/gdal/1.11.3_1/share'
+    else:
+        # assume OSGeo4W startup
+        PATH_QGS = os.environ['QGIS_PREFIX_PATH']
+    assert os.path.exists(PATH_QGS)
+
+    qgsApp = QgsApplication([], True)
+    QApplication.addLibraryPath(r'/Applications/QGIS.app/Contents/PlugIns')
+    QApplication.addLibraryPath(r'/Applications/QGIS.app/Contents/PlugIns/qgis')
+    qgsApp.setPrefixPath(PATH_QGS, True)
+    qgsApp.initQgis()
+
+    #run tests
+    if True: test_gui()
+    if False: test_component()
+
+
+    #close QGIS
+    qgsApp.exec_()
+    qgsApp.exitQgis()