diff --git a/buildstream/_artifactcache/pushreceive.py b/buildstream/_artifactcache/pushreceive.py
index 4df5bbe497c66146d98f290af9eb270297f21e30..4d85627a70b7748baaad3fb9464fe93418c79e5b 100644
--- a/buildstream/_artifactcache/pushreceive.py
+++ b/buildstream/_artifactcache/pushreceive.py
@@ -24,10 +24,8 @@ import logging
 import os
 import subprocess
 import sys
-import tempfile
 import shutil
 import tarfile
-import signal
 import tempfile
 from enum import Enum
 from urllib.parse import urlparse
diff --git a/buildstream/_artifactcache/tarcache.py b/buildstream/_artifactcache/tarcache.py
index 90821874eb94144d36048afda6938038d4b3b790..1c675e9a2c79bc8e62d95fc065b4d00886b7bae4 100644
--- a/buildstream/_artifactcache/tarcache.py
+++ b/buildstream/_artifactcache/tarcache.py
@@ -25,7 +25,6 @@ import subprocess
 
 from .. import utils
 from ..element import _KeyStrength
-from .._message import Message, MessageType
 from .._exceptions import ArtifactError, ProgramNotFoundError
 
 from . import ArtifactCache
diff --git a/buildstream/_context.py b/buildstream/_context.py
index 5fd4a428e09ee3b7dc9b349106766d3751036638..f975d3d554be5748ec2df6190be363d62a64f725 100644
--- a/buildstream/_context.py
+++ b/buildstream/_context.py
@@ -19,8 +19,6 @@
 #        Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
 
 import os
-import hashlib
-import pickle
 from collections import deque, Mapping
 from . import _site
 from . import _yaml
diff --git a/buildstream/_frontend/complete.py b/buildstream/_frontend/complete.py
index 6294e6eaea494e290dc6ee630f6232227a8a7300..346ee7859bf7a886b0133fe18df32a353300c5a7 100644
--- a/buildstream/_frontend/complete.py
+++ b/buildstream/_frontend/complete.py
@@ -20,13 +20,10 @@
 import collections
 import copy
 import os
-import sys
-import re
-import click
 
-from click.parser import split_arg_string
+import click
 from click.core import MultiCommand, Option, Argument
-
+from click.parser import split_arg_string
 
 WORDBREAK = '='
 
diff --git a/buildstream/_frontend/main.py b/buildstream/_frontend/main.py
index e14c53eaf19dfb603ec89b19a4f6466fbfdaed69..7e1b0cc180256df1c360720dd6d5b0505c896c2c 100644
--- a/buildstream/_frontend/main.py
+++ b/buildstream/_frontend/main.py
@@ -26,7 +26,7 @@ from blessings import Terminal
 from click import UsageError
 
 # Import buildstream public symbols
-from .. import Scope, Consistency
+from .. import Scope
 
 # Import various buildstream internals
 from .._context import Context
diff --git a/buildstream/_frontend/status.py b/buildstream/_frontend/status.py
index a0135ac1e772235ecfd12c9bfeab0059753df312..caaa8a363e43e9741637115f8186b8087d61fb8f 100644
--- a/buildstream/_frontend/status.py
+++ b/buildstream/_frontend/status.py
@@ -17,7 +17,6 @@
 #
 #  Authors:
 #        Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
-import datetime
 import click
 from blessings import Terminal
 
diff --git a/buildstream/_frontend/widget.py b/buildstream/_frontend/widget.py
index 1d7a5ecc828cf75f0f7113162c721a91a6ecd503..ccda68b6bcc908cc0b6dc9ccaf78110825184d2a 100644
--- a/buildstream/_frontend/widget.py
+++ b/buildstream/_frontend/widget.py
@@ -17,22 +17,22 @@
 #
 #  Authors:
 #        Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
-import os
-import click
-import subprocess
 import datetime
-import pkg_resources
+import os
 from collections import OrderedDict
 from contextlib import ExitStack
-from ruamel import yaml
 from mmap import mmap
 
-from .. import utils, _yaml
-from ..plugin import _plugin_lookup
-from .._message import MessageType
-from .._exceptions import ImplError
-from .. import Element, Scope, Consistency
+import click
+import pkg_resources
+from ruamel import yaml
+
 from . import Profile
+from .. import Element, Scope, Consistency
+from .. import _yaml
+from .._exceptions import ImplError
+from .._message import MessageType
+from ..plugin import _plugin_lookup
 
 
 # Widget()
diff --git a/buildstream/_fuse/hardlinks.py b/buildstream/_fuse/hardlinks.py
index 0deb6f2f88c9e80678268b5bd3b9f729557ecdf9..d23f3fff6f47806a9fde1d7f12faf57144669991 100644
--- a/buildstream/_fuse/hardlinks.py
+++ b/buildstream/_fuse/hardlinks.py
@@ -22,15 +22,12 @@
 #  The filesystem operations implementation here is based
 #  on some example code written by Stavros Korokithakis.
 
-import os
-import sys
-import stat
 import errno
+import os
 import shutil
-import signal
+import stat
 import tempfile
 
-from multiprocessing import Process
 from .fuse import FuseOSError, Operations
 
 from .mount import Mount
diff --git a/buildstream/_loader.py b/buildstream/_loader.py
index d96a1f2c6738b7a68630540bfa8e2d7bd7903dbd..a8ab4019f206c5e218e394da67a0d02427770113 100644
--- a/buildstream/_loader.py
+++ b/buildstream/_loader.py
@@ -19,13 +19,11 @@
 #        Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
 
 import os
-import copy
 from functools import cmp_to_key
 from collections import Mapping, namedtuple
 
 from ._exceptions import LoadError, LoadErrorReason
 from . import _yaml
-from ._yaml import CompositeTypeError
 
 from ._metaelement import MetaElement
 from ._metasource import MetaSource
diff --git a/buildstream/_options/optionarch.py b/buildstream/_options/optionarch.py
index 9cadbebba3eff36a9d0ed589d7a21f89a5078979..2ced6093509855cee0315b67544103d497d61389 100644
--- a/buildstream/_options/optionarch.py
+++ b/buildstream/_options/optionarch.py
@@ -19,7 +19,6 @@
 #        Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
 
 import os
-from .option import OPTION_SYMBOLS
 from .optionenum import OptionEnum
 
 
diff --git a/buildstream/_options/optioneltmask.py b/buildstream/_options/optioneltmask.py
index 765c50d10859df51c449de688833710f3961b937..46c7fcd621d8c1c1dd6ee8802407c1fea0cdb0de 100644
--- a/buildstream/_options/optioneltmask.py
+++ b/buildstream/_options/optioneltmask.py
@@ -19,7 +19,6 @@
 #        Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
 
 from .. import utils
-from .option import OPTION_SYMBOLS
 from .optionflags import OptionFlags
 
 
diff --git a/buildstream/_ostree.py b/buildstream/_ostree.py
index e541cb432855a2623e4a2064851c2edf5d565927..69256bb5a44160de0a50cdaa372bfd890892cfcf 100644
--- a/buildstream/_ostree.py
+++ b/buildstream/_ostree.py
@@ -23,9 +23,6 @@
 # Code based on Jürg's artifact cache and Andrew's ostree plugin
 #
 import os
-import subprocess
-from . import _site
-from . import utils
 from ._exceptions import BstError
 
 import gi
diff --git a/buildstream/_pipeline.py b/buildstream/_pipeline.py
index f182cce3b33e8f5a547ce38e96afabbad25ee90d..26e79cc5f3e72fa910a4275ef455c5035b231b32 100644
--- a/buildstream/_pipeline.py
+++ b/buildstream/_pipeline.py
@@ -19,7 +19,6 @@
 #        Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
 #        Jürg Billeter <juerg.billeter@codethink.co.uk>
 
-import datetime
 import os
 import stat
 import shlex
@@ -38,9 +37,8 @@ from ._sourcefactory import SourceFactory
 from . import Consistency
 from . import Scope
 from . import _site
-from . import _yaml, utils
+from . import utils
 from ._platform import Platform
-from .element import Element
 
 from ._scheduler import SchedStatus, TrackQueue, FetchQueue, BuildQueue, PullQueue, PushQueue
 
diff --git a/buildstream/_platform/linux.py b/buildstream/_platform/linux.py
index cab9aa9961ba62886f4bdf15cf232bc953f98778..265352561458663ed762bd7691991392dd5e1c27 100644
--- a/buildstream/_platform/linux.py
+++ b/buildstream/_platform/linux.py
@@ -18,15 +18,12 @@
 #  Authors:
 #        Tristan Maat <tristan.maat@codethink.co.uk>
 
-import os
-import sys
 import subprocess
 
 from .. import utils
-from .._exceptions import PlatformError
+from .._artifactcache.ostreecache import OSTreeCache
 from .._message import Message, MessageType
 from ..sandbox import SandboxBwrap
-from .._artifactcache.ostreecache import OSTreeCache
 
 from . import Platform
 
diff --git a/buildstream/_platform/platform.py b/buildstream/_platform/platform.py
index 0f3007cd9f8e20ce92289a42244e6bcdb24f79b2..304aa4bba7d708cee73562b76d9e9c59289f5c08 100644
--- a/buildstream/_platform/platform.py
+++ b/buildstream/_platform/platform.py
@@ -20,10 +20,8 @@
 
 import os
 import sys
-import platform
 
-from .. import utils
-from .._exceptions import PlatformError, ProgramNotFoundError, ImplError
+from .._exceptions import PlatformError, ImplError
 
 
 class Platform():
diff --git a/buildstream/_platform/unix.py b/buildstream/_platform/unix.py
index c9d67d2bc35aacdf284dd28aa24053dafef12b4f..a34938a9836f399780395ad25f2a40a99b3e2ef7 100644
--- a/buildstream/_platform/unix.py
+++ b/buildstream/_platform/unix.py
@@ -20,10 +20,9 @@
 
 import os
 
-from .. import utils
+from .._artifactcache.tarcache import TarCache
 from .._exceptions import PlatformError
 from ..sandbox import SandboxChroot
-from .._artifactcache.tarcache import TarCache
 
 from . import Platform
 
diff --git a/buildstream/_scheduler/pushqueue.py b/buildstream/_scheduler/pushqueue.py
index 63cfd839c9e29038013fe55bfbf62ac858007d38..6ffaf7949f7524e6cc01ce326a5d7ccdeacd3207 100644
--- a/buildstream/_scheduler/pushqueue.py
+++ b/buildstream/_scheduler/pushqueue.py
@@ -19,9 +19,6 @@
 #        Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
 #        Jürg Billeter <juerg.billeter@codethink.co.uk>
 
-# BuildStream toplevel imports
-from .. import Consistency
-
 # Local imports
 from . import Queue, QueueType
 
diff --git a/buildstream/_scheduler/scheduler.py b/buildstream/_scheduler/scheduler.py
index f5f0664c14553e558c73d0212cad23b05b820be6..f8852e1f865afcd24406946efd4b86d86584dda7 100644
--- a/buildstream/_scheduler/scheduler.py
+++ b/buildstream/_scheduler/scheduler.py
@@ -26,10 +26,7 @@ import signal
 import datetime
 
 # Local imports
-from .queue import Queue, QueueType
-
-# BuildStream toplevel imports
-from .. import _signals
+from .queue import QueueType
 
 
 # A decent return code for Scheduler.run()
diff --git a/buildstream/_scheduler/trackqueue.py b/buildstream/_scheduler/trackqueue.py
index df73a7280188925302e36948c8878f17ab6801d3..404813f38b3ab82627c27d4678835ab505b7ce88 100644
--- a/buildstream/_scheduler/trackqueue.py
+++ b/buildstream/_scheduler/trackqueue.py
@@ -23,7 +23,6 @@
 import os
 
 # BuildStream toplevel imports
-from .. import Consistency
 from ..plugin import _plugin_lookup
 from .. import _yaml
 
diff --git a/buildstream/_yaml.py b/buildstream/_yaml.py
index 376d3dd7ef65dc8024a69b6de5f5942d77203f5b..8e51050c3f2426c239ce14cad19201ecfd2cb548 100644
--- a/buildstream/_yaml.py
+++ b/buildstream/_yaml.py
@@ -21,7 +21,6 @@
 import sys
 import collections
 import copy
-from enum import Enum
 from contextlib import ExitStack
 
 from ruamel import yaml
diff --git a/buildstream/plugin.py b/buildstream/plugin.py
index 35b116dfe7754b2c1f20c0f6a3ace9fb6ec12fc0..fa1cb03a141e0d4eeffc384c5c60f67efa2cb70e 100644
--- a/buildstream/plugin.py
+++ b/buildstream/plugin.py
@@ -67,11 +67,9 @@ Class Reference
 ---------------
 """
 
-import os
 import datetime
+import os
 import subprocess
-import signal
-import sys
 from contextlib import contextmanager
 from weakref import WeakValueDictionary
 
diff --git a/buildstream/plugins/sources/git.py b/buildstream/plugins/sources/git.py
index c1e40e5068597875b0aaff04e312c2e12cfa69a3..093f37dbaead3919c548d4bf8654fc09a3f19995 100644
--- a/buildstream/plugins/sources/git.py
+++ b/buildstream/plugins/sources/git.py
@@ -57,13 +57,13 @@
 """
 
 import os
-import tempfile
-import shutil
 import re
+import shutil
 from collections import Mapping
-from configparser import RawConfigParser
 from io import StringIO
 
+from configparser import RawConfigParser
+
 from buildstream import Source, SourceError, Consistency
 from buildstream import utils
 
diff --git a/buildstream/plugins/sources/ostree.py b/buildstream/plugins/sources/ostree.py
index 6f2562fc0d9cadb0f4c616154f2d6723fa7fc041..d0b3c1807d00d9ed2e5fa0b74aaea7c7e9f1bf75 100644
--- a/buildstream/plugins/sources/ostree.py
+++ b/buildstream/plugins/sources/ostree.py
@@ -49,12 +49,11 @@
 """
 
 import os
-import tempfile
 import shutil
 
 from buildstream import Source, SourceError, Consistency
-from buildstream import utils
 from buildstream import _ostree
+from buildstream import utils
 from buildstream._ostree import OSTreeError
 
 
diff --git a/buildstream/plugins/sources/tar.py b/buildstream/plugins/sources/tar.py
index 8af1d50845a9023a831c7b8480efc0066260e898..f432a5148ce988f74162b23fa8ec405342436c46 100644
--- a/buildstream/plugins/sources/tar.py
+++ b/buildstream/plugins/sources/tar.py
@@ -51,7 +51,7 @@ import tarfile
 from contextlib import contextmanager, ExitStack
 from tempfile import TemporaryFile
 
-from buildstream import Source, SourceError
+from buildstream import SourceError
 from buildstream import utils
 
 from ._downloadablefilesource import DownloadableFileSource
diff --git a/buildstream/plugins/sources/zip.py b/buildstream/plugins/sources/zip.py
index 495aa6d0063acd2e9b51a850f170fab20ddcac1c..b39923df5a98ef4036eba00dc20d766a1946fdaf 100644
--- a/buildstream/plugins/sources/zip.py
+++ b/buildstream/plugins/sources/zip.py
@@ -50,7 +50,7 @@
 import os
 import zipfile
 
-from buildstream import Source, SourceError
+from buildstream import SourceError
 from buildstream import utils
 
 from ._downloadablefilesource import DownloadableFileSource
diff --git a/buildstream/source.py b/buildstream/source.py
index 71aa7e3585289cca7f13bf70027590a2c2c50e4f..cd78890f69a81d81b1d321af84ce0d3516557cb3 100644
--- a/buildstream/source.py
+++ b/buildstream/source.py
@@ -23,13 +23,11 @@ Source
 """
 
 import os
-import tempfile
-import shutil
 from contextlib import contextmanager
 
-from . import _yaml, _signals, utils
-from ._exceptions import BstError, ImplError, LoadError, LoadErrorReason
 from . import Plugin
+from . import _yaml, utils
+from ._exceptions import BstError, ImplError, LoadError, LoadErrorReason
 
 
 class Consistency():
diff --git a/buildstream/utils.py b/buildstream/utils.py
index 7cb21825eed593031646ecf3587f546075268bb4..b04ce408cccc9e0318d48f8c241d3f8d0f576498 100644
--- a/buildstream/utils.py
+++ b/buildstream/utils.py
@@ -22,25 +22,26 @@ Utilities
 =========
 """
 
-import os
+import calendar
 import errno
-import stat
-import shutil
-import string
-import collections
 import hashlib
+import os
 import pickle
-import calendar
-import psutil
-import subprocess
-import signal
 import re
+import shutil
+import signal
+import stat
+import string
+import subprocess
 import tempfile
-import pkg_resources
 from contextlib import contextmanager
-from ._exceptions import ProgramNotFoundError
-from . import _yaml
+
+import pkg_resources
+import psutil
+
 from . import _signals
+from . import _yaml
+from ._exceptions import ProgramNotFoundError
 
 
 class FileListResult():
diff --git a/setup.py b/setup.py
index 795e8f0cd4b9f90c56852dbbf1240b9e581e0439..7bbd245d87482b0409f6fa9ac47b7d0883fd7637 100755
--- a/setup.py
+++ b/setup.py
@@ -21,8 +21,6 @@
 import os
 import shutil
 import sys
-from setuptools import setup
-from setuptools.command.install import install
 
 if sys.version_info[0] != 3 or sys.version_info[1] < 4:
     print("BuildStream requires Python >= 3.4")
diff --git a/tests/format/assertion.py b/tests/format/assertion.py
index 27a3d3fc75d59f83735e351a9b2f68006382914c..e2c4d7d230bcb23f6c9c0609ee227f85bafc8149 100644
--- a/tests/format/assertion.py
+++ b/tests/format/assertion.py
@@ -1,6 +1,5 @@
 import os
 import pytest
-from buildstream import _yaml
 from buildstream._exceptions import LoadError, LoadErrorReason
 from tests.testutils.runcli import cli
 
diff --git a/tests/format/listdirectiveerrors.py b/tests/format/listdirectiveerrors.py
index 8a5d4f1526a50d38fc5a4ebff2ca561ab008f737..c069f3764fb449171213e3ebd78726ade800acdc 100644
--- a/tests/format/listdirectiveerrors.py
+++ b/tests/format/listdirectiveerrors.py
@@ -1,6 +1,5 @@
 import os
 import pytest
-from buildstream import _yaml
 from buildstream._exceptions import LoadError, LoadErrorReason
 from tests.testutils.runcli import cli
 
diff --git a/tests/format/optionexports.py b/tests/format/optionexports.py
index d824f03064ff309244298f3ad2573adac94793bc..9b009774d9dd4206e2b91d6e9258f7696be1f235 100644
--- a/tests/format/optionexports.py
+++ b/tests/format/optionexports.py
@@ -1,7 +1,6 @@
 import os
 import pytest
 from buildstream import _yaml
-from buildstream._exceptions import LoadError, LoadErrorReason
 from tests.testutils.runcli import cli
 
 # Project directory
diff --git a/tests/format/projectoverrides.py b/tests/format/projectoverrides.py
index 1824ff0be6a0a69fc4700aa1c70e5c38625b7262..13bce637335d91c2242bb483434d820adbc51571 100644
--- a/tests/format/projectoverrides.py
+++ b/tests/format/projectoverrides.py
@@ -2,7 +2,6 @@
 import os
 import pytest
 from buildstream import _yaml
-from buildstream._exceptions import LoadError, LoadErrorReason
 from tests.testutils.runcli import cli
 
 # Project directory
diff --git a/tests/frontend/buildcheckout.py b/tests/frontend/buildcheckout.py
index a1535b24d97898f4907c59ad7be3a06fdfe2bcd9..b5b294512f9fbe6423c3fef58e8fe56a16de41bd 100644
--- a/tests/frontend/buildcheckout.py
+++ b/tests/frontend/buildcheckout.py
@@ -1,7 +1,6 @@
 import os
 import pytest
 from tests.testutils import cli, create_repo, ALL_REPO_KINDS
-from tests.testutils.site import HAVE_OSTREE
 
 from buildstream import _yaml
 from buildstream._pipeline import PipelineError
diff --git a/tests/frontend/track.py b/tests/frontend/track.py
index 6b704c8b91354f8de3db88013609327f30595c26..f8323754576d02a8139a6ef021568366d4ad848c 100644
--- a/tests/frontend/track.py
+++ b/tests/frontend/track.py
@@ -1,7 +1,6 @@
 import os
 import pytest
 from tests.testutils import cli, create_repo, ALL_REPO_KINDS
-from tests.testutils.site import HAVE_OSTREE
 
 from buildstream import _yaml
 
diff --git a/tests/frontend/version.py b/tests/frontend/version.py
index cd6da8bd7aad6dd10da7dd386bd5c512cfe18188..69112d6856c05ab53e65f6c617c715741247e97b 100644
--- a/tests/frontend/version.py
+++ b/tests/frontend/version.py
@@ -1,4 +1,3 @@
-import pytest
 from tests.testutils.runcli import cli
 
 # For utils.get_bst_version()
diff --git a/tests/pipeline/load.py b/tests/pipeline/load.py
index 80a366a6b65ae19601e565ac5412f104bbdc9899..1414067e24697f8f76e31c7d181e0fa9f25e3c34 100644
--- a/tests/pipeline/load.py
+++ b/tests/pipeline/load.py
@@ -2,12 +2,6 @@ import os
 import pytest
 from tests.testutils.runcli import cli
 
-from buildstream import Scope
-from buildstream._context import Context
-from buildstream._project import Project
-from buildstream._pipeline import Pipeline
-from buildstream._platform import Platform
-
 DATA_DIR = os.path.join(
     os.path.dirname(os.path.realpath(__file__)),
     'load',
diff --git a/tests/plugins/pipeline.py b/tests/plugins/pipeline.py
index 8f8525318ba4f5f30a862afd17f398c66e38362b..c659aa34e7e1214b0f9adf87a95b22a0c64ad846 100644
--- a/tests/plugins/pipeline.py
+++ b/tests/plugins/pipeline.py
@@ -1,7 +1,6 @@
 import os
 import pytest
 
-from buildstream import Scope
 from buildstream._context import Context
 from buildstream._project import Project
 from buildstream._exceptions import PluginError
diff --git a/tests/plugins/third_party.py b/tests/plugins/third_party.py
index b82f112fe3e2a5629c81564f21fda7356b669872..35705358aa5ac8b702bcc74bd28f6c92ac219c6c 100644
--- a/tests/plugins/third_party.py
+++ b/tests/plugins/third_party.py
@@ -1,6 +1,5 @@
 import os
 import pytest
-import pkg_resources
 
 from pluginbase import PluginBase
 from buildstream._elementfactory import ElementFactory
diff --git a/tests/project/plugins.py b/tests/project/plugins.py
index ea21730b6a96a2f04473d0a67cd45ad0f7ff7ea7..7932fcd6ac14e8f138528546b95518ad84fbc340 100644
--- a/tests/project/plugins.py
+++ b/tests/project/plugins.py
@@ -1,7 +1,6 @@
 import os
 import pytest
 
-from buildstream import Scope
 from buildstream._context import Context
 from buildstream._project import Project
 from buildstream._pipeline import Pipeline
diff --git a/tests/sources/tar.py b/tests/sources/tar.py
index b90a5c5aba08191b2c733f19e165356ff6b874cb..b1859a81af5633aa92707328e761b870a06316f4 100644
--- a/tests/sources/tar.py
+++ b/tests/sources/tar.py
@@ -5,7 +5,7 @@ import tempfile
 import subprocess
 
 from buildstream._pipeline import PipelineError
-from buildstream import utils, _yaml
+from buildstream import _yaml
 from tests.testutils import cli
 from tests.testutils.site import HAVE_LZIP
 
diff --git a/tests/sources/zip.py b/tests/sources/zip.py
index dee85baa2d943c43e3345a59cc4d8cc5b50dd550..2fd0c04aafefd976facdd0ef3a27e0e162a16a9b 100644
--- a/tests/sources/zip.py
+++ b/tests/sources/zip.py
@@ -3,7 +3,7 @@ import pytest
 import zipfile
 
 from buildstream._pipeline import PipelineError
-from buildstream import utils, _yaml
+from buildstream import _yaml
 from tests.testutils import cli
 
 DATA_DIR = os.path.join(
diff --git a/tests/testutils/repo/bzr.py b/tests/testutils/repo/bzr.py
index b6e68411d078039c678701f4c5fafeb6b3a31a5e..8b0b6c295ee1ca746020310bc1dcced57c46d124 100644
--- a/tests/testutils/repo/bzr.py
+++ b/tests/testutils/repo/bzr.py
@@ -1,5 +1,4 @@
 import os
-import shutil
 import subprocess
 import pytest
 
diff --git a/tests/testutils/repo/git.py b/tests/testutils/repo/git.py
index 46338f445e4d170cb2f7a67590d3c00966be9918..e04abcb8607aa35fe542970166a41966df691c55 100644
--- a/tests/testutils/repo/git.py
+++ b/tests/testutils/repo/git.py
@@ -1,4 +1,3 @@
-import shutil
 import subprocess
 import pytest
 
diff --git a/tests/testutils/repo/tar.py b/tests/testutils/repo/tar.py
index 158a04891e3d5af97980d9d4ae773b3df4ee2523..ee6cb77b3bc9d611fb8c4529da3085c26c6dd048 100644
--- a/tests/testutils/repo/tar.py
+++ b/tests/testutils/repo/tar.py
@@ -1,6 +1,5 @@
 import os
 import tarfile
-import hashlib
 
 from buildstream.utils import sha256sum
 
diff --git a/tests/testutils/repo/zip.py b/tests/testutils/repo/zip.py
index 47c40242140a38ec90698c5ad6894abf67d0cdd1..32a46984e54ec8e4ddbf59ef91a25150d83c8f6c 100644
--- a/tests/testutils/repo/zip.py
+++ b/tests/testutils/repo/zip.py
@@ -1,4 +1,3 @@
-import hashlib
 import os
 import zipfile