diff --git a/.flake8 b/.flake8
index 2481f91..934102b 100644
--- a/.flake8
+++ b/.flake8
@@ -6,7 +6,6 @@
           ./examples/common/QRCode/*
           # temporarily scan only directories with fixed files
           # TODO: Remove the paths below when all bugs are fixed
-          src/tools/chip-cert/*
           build/chip/java/tests/*
           build/chip/linux/*
           build/config/linux/*
@@ -14,17 +13,6 @@
           docs/_extensions/external_content.py
           examples/common/pigweed/rpc_console/py/chip_rpc/console.py
           examples/lighting-app/python/lighting.py
-          scripts/tools/check_zcl_file_sync.py
-          scripts/tools/convert_ini.py
-          scripts/tools/memory/memdf/__init__.py
-          scripts/tools/memory/report_summary.py
-          scripts/tools/silabs/FactoryDataProvider.py
-          scripts/tools/zap/generate.py
-          scripts/tools/zap/prune_outputs.py
-          scripts/tools/zap/version_update.py
-          scripts/tools/zap/zap_download.py
-          scripts/tools/zap_convert_all.py
-          src/app/ota_image_tool.py
           src/app/zap_cluster_list.py
           src/controller/python/chip/yaml/__init__.py
           src/controller/python/chip/yaml/format_converter.py
diff --git a/scripts/tools/check_zcl_file_sync.py b/scripts/tools/check_zcl_file_sync.py
index 4a68415..a9fd936 100755
--- a/scripts/tools/check_zcl_file_sync.py
+++ b/scripts/tools/check_zcl_file_sync.py
@@ -60,15 +60,15 @@
     print("%s and %s have unexpected differences." % (base_name, ext_name))
     print("Differences between expected and actual:")
 
-    for l in difflib.unified_diff(
+    for line in difflib.unified_diff(
         json.dumps(ext_data, indent=2).split('\n'),
         json.dumps(base_data, indent=2).split('\n'),
         fromfile=ext_name,
         tofile="<Expected extension file content>",
     ):
-        if l.endswith('\n'):
-            l = l[:-1]
-        print(l)
+        if line.endswith('\n'):
+            line = line[:-1]
+        print(line)
 
     return 1
 
diff --git a/scripts/tools/memory/memdf/__init__.py b/scripts/tools/memory/memdf/__init__.py
index 60bd210..fa0e107 100644
--- a/scripts/tools/memory/memdf/__init__.py
+++ b/scripts/tools/memory/memdf/__init__.py
@@ -15,5 +15,7 @@
 #
 """Package for working with memory usage information using Pandas DataFrame."""
 
-from memdf.df import DF, SymbolDF, SectionDF, SegmentDF, ExtentDF, DFs
+from memdf.df import DF, DFs, ExtentDF, SectionDF, SegmentDF, SymbolDF
 from memdf.util.config import Config, ConfigDescription
+
+__all__ = [DF, SymbolDF, SectionDF, SegmentDF, ExtentDF, DFs, Config, ConfigDescription]
diff --git a/scripts/tools/memory/report_summary.py b/scripts/tools/memory/report_summary.py
index 88ba23c..e528e41 100755
--- a/scripts/tools/memory/report_summary.py
+++ b/scripts/tools/memory/report_summary.py
@@ -31,7 +31,6 @@
 import memdf.collect
 import memdf.report
 import memdf.select
-import numpy  # type: ignore
 from memdf import Config, DFs, SymbolDF
 
 
diff --git a/scripts/tools/silabs/FactoryDataProvider.py b/scripts/tools/silabs/FactoryDataProvider.py
index 5d3ef39..8cb4895 100644
--- a/scripts/tools/silabs/FactoryDataProvider.py
+++ b/scripts/tools/silabs/FactoryDataProvider.py
@@ -15,12 +15,9 @@
 #
 
 import argparse
-import base64
 import datetime
 import os
-import struct
 import subprocess
-import sys
 
 
 class FactoryDataWriter:
@@ -185,7 +182,7 @@
             cmdList.extend(["--serialno", self._args.jtagSerial])
 
     def create_nvm3injected_image(self):
-        """ Use commander command lines create a binary flashable to the EFR32 
+        """ Use commander command lines create a binary flashable to the EFR32
             containing the factory commissioning data in NVM3 section
         """
         isDeviceConnected = True
@@ -212,7 +209,7 @@
                     inputImage = self.BASE_MG24_FILE
                 else:
                     raise Exception('Invalid MCU')
-            except:
+            except Exception:
                 isDeviceConnected = False
                 print("Device not connected")
                 # When no device is connected user needs to provide the mcu family for which those credentials are to be created
diff --git a/scripts/tools/zap/generate.py b/scripts/tools/zap/generate.py
index 46ae0eb..003279d 100755
--- a/scripts/tools/zap/generate.py
+++ b/scripts/tools/zap/generate.py
@@ -24,7 +24,6 @@
 import sys
 import tempfile
 import traceback
-import urllib.request
 from dataclasses import dataclass
 from pathlib import Path
 from typing import Optional
@@ -195,7 +194,7 @@
     if not target_path.endswith(".matter"):
         # We expect "something.zap" and don't handle corner cases of
         # multiple extensions. This is to work with existing codebase only
-        raise Error("Unexpected input zap file  %s" % self.zap_config)
+        raise Exception("Unexpected input zap file  %s" % zap_config_path)
 
     return target_path
 
@@ -290,7 +289,7 @@
                 print('WARNING: clang-format may not be the right version:')
                 print('   PIGWEED TAG:    %s' % clang_config['tags'][0])
                 print('   ACTUAL VERSION: %s' % version_string)
-        except:
+        except Exception:
             print("Failed to validate clang version.")
             traceback.print_last()
 
@@ -318,12 +317,11 @@
             args = [clang_format, '-i']
             args.extend(clangOutputs)
             subprocess.check_call(args)
-            err = None
             print('Formatted using %s (%s)' % (clang_format, subprocess.check_output([clang_format, '--version'])))
             for outputName in clangOutputs:
                 print('  - %s' % outputName)
-    except Exception as err:
-        print('clang-format error:', err)
+    except subprocess.CalledProcessError as err:
+        print('clang-format error: %s', err)
 
 
 class LockFileSerializer:
@@ -351,7 +349,7 @@
     checkPythonVersion()
     cmdLineArgs = runArgumentsParser()
 
-    with LockFileSerializer(cmdLineArgs.lock_file) as lock:
+    with LockFileSerializer(cmdLineArgs.lock_file) as _:
         if cmdLineArgs.runBootstrap:
             subprocess.check_call(getFilePath("scripts/tools/zap/zap_bootstrap.sh"), shell=True)
 
diff --git a/scripts/tools/zap/prune_outputs.py b/scripts/tools/zap/prune_outputs.py
index bc223fa..09f92a9 100644
--- a/scripts/tools/zap/prune_outputs.py
+++ b/scripts/tools/zap/prune_outputs.py
@@ -16,7 +16,6 @@
 import argparse
 import os
 import shutil
-import sys
 
 
 def main():
diff --git a/scripts/tools/zap/version_update.py b/scripts/tools/zap/version_update.py
index ba40ca5..4e60313 100755
--- a/scripts/tools/zap/version_update.py
+++ b/scripts/tools/zap/version_update.py
@@ -125,7 +125,7 @@
         found_versions = set()
         for m in ZAP_VERSION_RE.finditer(file_data):
             version = file_data[m.start():m.end()]
-            if not version in found_versions:
+            if version not in found_versions:
                 logging.info('%s currently used in %s', version, name)
                 found_versions.add(version)
 
diff --git a/scripts/tools/zap/zap_download.py b/scripts/tools/zap/zap_download.py
index 4e814c6..c2f6f38 100755
--- a/scripts/tools/zap/zap_download.py
+++ b/scripts/tools/zap/zap_download.py
@@ -32,7 +32,7 @@
 try:
     import coloredlogs
     _has_coloredlogs = True
-except:
+except ImportError:
     _has_coloredlogs = False
 
 # Supported log levels, mapping string values required for argument
@@ -58,10 +58,10 @@
 
 
 def _LogPipeLines(pipe, prefix):
-    l = logging.getLogger().getChild(prefix)
+    log = logging.getLogger().getChild(prefix)
     for line in iter(pipe.readline, b''):
         line = line.strip().decode('utf-8', errors="ignore")
-        l.info('%s' % line)
+        log.info('%s' % line)
 
 
 def _ExecuteProcess(cmd, cwd):
@@ -93,7 +93,7 @@
         install_directory
     )
 
-    _ExecuteProcess(f"npm ci".split(), install_directory)
+    _ExecuteProcess("npm ci".split(), install_directory)
 
 
 def _SetupReleaseZap(install_directory: str, zap_version: str):
diff --git a/src/app/ota_image_tool.py b/src/app/ota_image_tool.py
index c666c22..9f2bf04 100755
--- a/src/app/ota_image_tool.py
+++ b/src/app/ota_image_tool.py
@@ -262,7 +262,7 @@
     print(f'Magic: {magic:x}')
     print(f'Total Size: {total_size}')
     print(f'Header Size: {header_size}')
-    print(f'Header TLV:')
+    print('Header TLV:')
 
     for tag in header_tlv:
         tag_name = HeaderTag(tag).name.replace('_', ' ').title()
diff --git a/src/tools/chip-cert/dacs.py b/src/tools/chip-cert/dacs.py
index 7670516..96722b3 100755
--- a/src/tools/chip-cert/dacs.py
+++ b/src/tools/chip-cert/dacs.py
@@ -5,7 +5,7 @@
 import subprocess
 import sys
 import typing
-from binascii import hexlify, unhexlify
+from binascii import unhexlify
 from enum import Enum
 
 copyrightNotice = """/*
