diff --git a/graphics/EventDisplayFilters/CMakeLists.txt b/graphics/EventDisplayFilters/CMakeLists.txt
index 2b195c0418c958deae0662b418785fa6964b1a35..2308f31fb14af7437aedf233165d1434d6f82780 100644
--- a/graphics/EventDisplayFilters/CMakeLists.txt
+++ b/graphics/EventDisplayFilters/CMakeLists.txt
@@ -24,6 +24,9 @@ atlas_add_component( EventDisplayFilters
 
 # Install files from the package:
 atlas_install_headers( EventDisplayFilters )
-atlas_install_python_modules( python/*.py )
+atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
 atlas_install_joboptions( share/*.py )
 
+atlas_add_test( flake8_share
+                SCRIPT flake8 --select=ATL,F,E7,E9,W6 --ignore=F401,F821,ATL900 ${CMAKE_CURRENT_SOURCE_DIR}/share
+                POST_EXEC_SCRIPT nopost.sh )
diff --git a/graphics/EventDisplayFilters/python/PublicStreamFilter.py b/graphics/EventDisplayFilters/python/PublicStreamFilter.py
index 0d4fa35d4d015ee09ee4ed335d0f75ded4553d89..f1cf0ea58c0f6e6c1fbd196cc66c106cb664d2f2 100644
--- a/graphics/EventDisplayFilters/python/PublicStreamFilter.py
+++ b/graphics/EventDisplayFilters/python/PublicStreamFilter.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 __doc__ = """Module that filters public events for Atlas-Live based on IS information
 """
@@ -31,8 +31,8 @@ class PublicStreamFilter( PyAthena.Alg ):
 		if self.checkrun:
 			try:
 				eventInfo = PyEventTools.getEventInfo("")
-			except LookupError, err:
-				self.msg.warning("Could not retrieve EventInfo: %s" % err)
+			except LookupError as err:
+				self.msg.warning("Could not retrieve EventInfo: %s", err)
 				self.setFilterPassed(False)
 
 		try:
@@ -46,29 +46,29 @@ class PublicStreamFilter( PyAthena.Alg ):
 			runParams = ISObject(partition, 'RunParams.RunParams','RunParams')
 			runParams.checkout()
 
-		except UserWarning, err:
-			self.msg.warning("Could not retrieve data from IS: %s" % err)
+		except UserWarning as err:
+			self.msg.warning("Could not retrieve data from IS: %s", err)
 			self.setFilterPassed(False)
 			time.sleep(5)
 
-		self.msg.debug("IS publishes T0_project_tag %s and readyForPhysics %s for run %d" % (runParams.T0_project_tag, ready, runParams.run_number))
+		self.msg.debug("IS publishes T0_project_tag %s and readyForPhysics %s for run %d", runParams.T0_project_tag, ready, runParams.run_number)
 
 		if self.checkready and not ready:
-			self.msg.info("ReadyForPhysics not set... rejecting event");
-			self.setFilterPassed(False);
+			self.msg.info("ReadyForPhysics not set... rejecting event")
+			self.setFilterPassed(False)
 			time.sleep(1)
 
 		elif runParams.T0_project_tag != self.t0project:
-			self.msg.info("T0_project_tag is not %s (%s)... rejecting event" % (self.t0project, runParams.T0_project_tag))
+			self.msg.info("T0_project_tag is not %s (%s)... rejecting event", self.t0project, runParams.T0_project_tag)
 			self.setFilterPassed(False)
 			time.sleep(1)
 
 		elif self.checkrun and runParams.run_number != eventInfo.event_ID().run_number():
-			self.msg.info("Information in IS is not for this run (%d != %d)... rejecting event" % (runParams.run_number, eventInfo.event_ID().run_number()))
+			self.msg.info("Information in IS is not for this run (%d != %d)... rejecting event", runParams.run_number, eventInfo.event_ID().run_number())
 			self.setFilterPassed(False)
 
 		else:
-			self.msg.info("Good event, passing into the public stream...");
+			self.msg.info("Good event, passing into the public stream...")
 			self.setFilterPassed(True)
 
 		return StatusCode.Success
diff --git a/graphics/EventDisplayFilters/share/MBTSTimingFilter_DefaultConfig.py b/graphics/EventDisplayFilters/share/MBTSTimingFilter_DefaultConfig.py
index e21cb9261851bca595adf966628a0941c7d41bfa..0e22df7637dafd26425a6cdf255402673af83160 100644
--- a/graphics/EventDisplayFilters/share/MBTSTimingFilter_DefaultConfig.py
+++ b/graphics/EventDisplayFilters/share/MBTSTimingFilter_DefaultConfig.py
@@ -1,3 +1,5 @@
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+
 #####################################################################################
 # Add a filter algorithm that cuts on timing difference of the hits on MBTS A and C side
 #####################################################################################
diff --git a/graphics/EventDisplayFilters/share/MBTSTriggerFilter_DefaultConfig.py b/graphics/EventDisplayFilters/share/MBTSTriggerFilter_DefaultConfig.py
index a9e06fb6115bf660113672b5d1f8360377d7b90f..8545211356bff527fbb3556269f07c4fb68da7f6 100644
--- a/graphics/EventDisplayFilters/share/MBTSTriggerFilter_DefaultConfig.py
+++ b/graphics/EventDisplayFilters/share/MBTSTriggerFilter_DefaultConfig.py
@@ -1,3 +1,5 @@
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+
 #####################################################################################
 # Add a filter algorithm that cuts on the multiplicity of MBTS hits
 #####################################################################################
diff --git a/graphics/EventDisplayFilters/share/PublicStreamFilter_DefaultConfig.py b/graphics/EventDisplayFilters/share/PublicStreamFilter_DefaultConfig.py
index 9db2c388d9d703b73350cba4c1f86144ca29f1f0..4168649e905121ee4d7de4e03c89c590647a56fb 100644
--- a/graphics/EventDisplayFilters/share/PublicStreamFilter_DefaultConfig.py
+++ b/graphics/EventDisplayFilters/share/PublicStreamFilter_DefaultConfig.py
@@ -1,7 +1,9 @@
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+
 #####################################################################################
 # Add a filter algorithm that cuts on IS parameters for the public stream
 #####################################################################################
-from EventDisplayFilters.PublicStreamFilter import *
+from EventDisplayFilters.PublicStreamFilter import PublicStreamFilter
 
 PublicStreamFilter = PublicStreamFilter(
     name = "PublicStreamFilter",
diff --git a/graphics/EventDisplayFilters/share/SpacePointEventFilter_DefaultConfig.py b/graphics/EventDisplayFilters/share/SpacePointEventFilter_DefaultConfig.py
index a3d180e10e53f2d088dd22582d34e34224793774..26855d5d40d66136f6154196fd87d063b146cdc8 100644
--- a/graphics/EventDisplayFilters/share/SpacePointEventFilter_DefaultConfig.py
+++ b/graphics/EventDisplayFilters/share/SpacePointEventFilter_DefaultConfig.py
@@ -1,3 +1,5 @@
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+
 #####################################################################################
 # Add a filter algorithm that cuts on the number of SpacePoints
 #####################################################################################