diff --git a/contrib/heartbeat-monitor/PyHeartBeat.py b/contrib/heartbeat-monitor/PyHeartBeat.py
index 0115d99bcf4986c52ca651fe56b945b4b6268bbb..b3071f7bd5ed634f3ed85f15e7f44dd28df21802 100755
--- a/contrib/heartbeat-monitor/PyHeartBeat.py
+++ b/contrib/heartbeat-monitor/PyHeartBeat.py
@@ -53,9 +53,8 @@ https://www.oreilly.com/library/view/python-cookbook/0596001673/ch10s13.html
 import os
 import socket
 import sys
-from threading import Lock, Thread, Event
-from time import time, ctime, sleep
-
+from threading import Event, Lock, Thread
+from time import ctime, sleep, time
 
 DEFAULT_HEARTBEAT_PORT = 43334
 DEFAULT_WAIT_PERIOD = 10
diff --git a/run.py b/run.py
index 9b12ec2c0084494388f850c64a1b3591d9d1a6db..73fd70b6d1c9bb50ffc81e106374a011fad0ea76 100755
--- a/run.py
+++ b/run.py
@@ -21,21 +21,20 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
+import logging
 import os
-import sys
 import signal
-import logging
+import sys
 import threading
 
-from flask               import Flask
-from flask_sqlalchemy    import SQLAlchemy
+from flask import Flask
+from flask_sqlalchemy import SQLAlchemy
 
-from src.base.logger import AuraLogger
 from src.base.config import AuraConfig
-from src.base.utils  import SimpleUtil as SU
+from src.base.logger import AuraLogger
+from src.base.utils import SimpleUtil as SU
 from src.scheduling.models import DB
 
-
 config = AuraConfig()
 def configure_flask():
     app.config["SQLALCHEMY_DATABASE_URI"] = config.get_database_uri()
diff --git a/src/base/config.py b/src/base/config.py
index b16f29afc48de6d9aa46d625fe5407597b25ba27..b7845da4ed4f9207159fefd1b2ee8d987913751e 100644
--- a/src/base/config.py
+++ b/src/base/config.py
@@ -17,13 +17,12 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
+import logging
 import os
 import os.path
 import sys
-import logging
-
-from pathlib import Path
 from configparser import ConfigParser
+from pathlib import Path
 
 
 class AuraConfig:
diff --git a/src/base/utils.py b/src/base/utils.py
index 1407433748448503302c4f37636b78bd2a06618b..3636dc5d07c7593fcd39724234adf278d79e99ad 100644
--- a/src/base/utils.py
+++ b/src/base/utils.py
@@ -19,7 +19,6 @@
 
 import datetime
 import time
-
 from enum import Enum
 
 
diff --git a/src/client/client.py b/src/client/client.py
index 27fa97eb9560582055b80e892c6f858328d71b30..2fa2c2ae68ff0141393a3e25a7e04c71f91760d6 100644
--- a/src/client/client.py
+++ b/src/client/client.py
@@ -17,11 +17,10 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-import socket
-import urllib.parse
 import configparser
 import logging
-
+import socket
+import urllib.parse
 from multiprocessing import Lock
 
 from src.base.exceptions import LQConnectionError
diff --git a/src/client/connector.py b/src/client/connector.py
index ce4fb6603af04c96e8659570ce35d0e1d62a8f12..96b0b8c6e03c243488aa7467cd8fa6cd72196e0e 100644
--- a/src/client/connector.py
+++ b/src/client/connector.py
@@ -21,8 +21,9 @@ import logging
 import time
 
 from src.base.config import AuraConfig
-from src.base.utils import TerminalColors, SimpleUtil as SU
 from src.base.exceptions import LQConnectionError
+from src.base.utils import SimpleUtil as SU
+from src.base.utils import TerminalColors
 from src.client.playerclient import LiquidSoapPlayerClient
 
 
diff --git a/src/control.py b/src/control.py
index 90d03c80bc0e820cbf9c824d0865d9a80a01667e..b88f542709e8a35c4c71de03f6bf7566bd1ea2e4 100644
--- a/src/control.py
+++ b/src/control.py
@@ -17,14 +17,14 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
+import json
 import logging
 import socket
 import time
-import json
-import requests
-
-from threading import Thread, Timer, Lock
 from datetime import datetime, timedelta
+from threading import Lock, Thread, Timer
+
+import requests
 from http_parser.http import HttpStream
 from http_parser.reader import SocketReader
 
diff --git a/src/engine.py b/src/engine.py
index 0ebdfdb26a22436c6715a1b419502366bde4e723..654f746d3b59989f2fd032fdf05a4f08842c4737 100644
--- a/src/engine.py
+++ b/src/engine.py
@@ -17,38 +17,36 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-import time
 import logging
-
+import time
 from collections import namedtuple
 from contextlib import suppress
 from threading import Thread
 
 import meta
-
 from src.base.config import AuraConfig
-from src.base.utils import SimpleUtil as SU
 from src.base.exceptions import (
-    LQConnectionError,
     InvalidChannelException,
-    LQStreamException,
     LoadSourceException,
+    LQConnectionError,
+    LQStreamException,
 )
-from src.resources import ResourceClass, ResourceUtil
+from src.base.utils import SimpleUtil as SU
 from src.channels import (
     Channel,
+    ChannelResolver,
+    ChannelRouter,
     ChannelType,
-    TransitionType,
-    LiquidsoapResponse,
     EntryPlayState,
+    LiquidsoapResponse,
     ResourceType,
-    ChannelRouter,
-    ChannelResolver,
+    TransitionType,
 )
-from src.events import EngineEventDispatcher
+from src.client.connector import PlayerConnector
 from src.control import EngineControlInterface
+from src.events import EngineEventDispatcher
 from src.mixer import Mixer, MixerType
-from src.client.connector import PlayerConnector
+from src.resources import ResourceClass, ResourceUtil
 
 
 class Engine:
diff --git a/src/events.py b/src/events.py
index 6d2a4e90ac08c38288d3276fa0c8c48ba00c48d9..6df21245ebb23f9c4b9427946fe41a3c96f29ef6 100644
--- a/src/events.py
+++ b/src/events.py
@@ -17,9 +17,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-import logging
 import datetime
-
+import logging
 from threading import Thread
 
 from src.base.config import AuraConfig
diff --git a/src/mixer.py b/src/mixer.py
index 44d6b5df2f083eaf6c89aeecf7844fe09c3aa70a..7aa4613027ae927b50cb3df449c78f30630e84b0 100644
--- a/src/mixer.py
+++ b/src/mixer.py
@@ -19,7 +19,6 @@
 
 import logging
 import time
-
 from enum import Enum
 
 from src.base.exceptions import LQConnectionError
diff --git a/src/plugins/mailer.py b/src/plugins/mailer.py
index ff0f06591e2abb70c6402b04b1f0c572f5ad2b9d..f34f2583db598bef4eabac225b4954d4cdce751a 100644
--- a/src/plugins/mailer.py
+++ b/src/plugins/mailer.py
@@ -19,7 +19,6 @@
 
 import logging
 import smtplib
-
 from email.message import EmailMessage
 
 from src.base.config import AuraConfig
diff --git a/src/plugins/monitor.py b/src/plugins/monitor.py
index 17d7e12896e524336ec3a895957aa94763b4b871..36a9484b4a475fde82618697cb47ca4d542e067f 100644
--- a/src/plugins/monitor.py
+++ b/src/plugins/monitor.py
@@ -17,24 +17,22 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-import os
 import datetime
-import urllib
-import logging
 import json
-import threading
+import logging
+import os
 import platform
-import requests
-
+import threading
+import urllib
 from enum import Enum
-from socket import socket, AF_INET, SOCK_DGRAM, SOL_SOCKET, SO_BROADCAST
+from socket import AF_INET, SO_BROADCAST, SOCK_DGRAM, SOL_SOCKET, socket
 
-import meta
+import requests
 
+import meta
 from src.base.config import AuraConfig
 from src.base.utils import SimpleUtil as SU
 
-
 # Exceptions
 
 
diff --git a/src/plugins/trackservice.py b/src/plugins/trackservice.py
index ee6f9c84435e50b1e35e632a056a7ac5fe2e0f71..1f33e66ba8e10d583418a88fa3339e9946303974 100644
--- a/src/plugins/trackservice.py
+++ b/src/plugins/trackservice.py
@@ -19,14 +19,13 @@
 
 import json
 import logging
-import requests
-
 from collections import deque
 
+import requests
+
 from src.base.config import AuraConfig
 from src.base.utils import SimpleUtil as SU
-from src.resources import ResourceClass
-from src.resources import ResourceUtil
+from src.resources import ResourceClass, ResourceUtil
 
 
 class TrackServiceHandler:
diff --git a/src/scheduling/api.py b/src/scheduling/api.py
index 3eb487e826c8f2bedd82be37f3d76f74b99e0b88..fe1abcdfa12e1c0bcd23c886ee830e0214906cda 100644
--- a/src/scheduling/api.py
+++ b/src/scheduling/api.py
@@ -18,10 +18,10 @@
 
 
 import logging
-import requests
 import queue
 import threading
 
+import requests
 
 from src.base.utils import SimpleUtil as SU
 from src.scheduling.utils import TimeslotFilter
diff --git a/src/scheduling/models.py b/src/scheduling/models.py
index 2f0c43e2883ebe740b45037400b7d6c2c2a1ca81..c81f708fb773a05715fd09c3016f55e097c0d50e 100644
--- a/src/scheduling/models.py
+++ b/src/scheduling/models.py
@@ -17,26 +17,25 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
+import datetime
+import logging
 import sys
 import time
-import logging
-import datetime
 
 import sqlalchemy as sa
-
 from sqlalchemy import (
     BigInteger,
     Boolean,
     Column,
+    ColumnDefault,
     DateTime,
+    ForeignKey,
     Integer,
     String,
-    ForeignKey,
-    ColumnDefault,
 )
-from sqlalchemy.orm import relationship
 from sqlalchemy.ext.declarative import declarative_base
 from sqlalchemy.ext.hybrid import hybrid_property
+from sqlalchemy.orm import relationship
 
 from src.base.config import AuraConfig
 from src.base.utils import SimpleUtil
diff --git a/src/scheduling/programme.py b/src/scheduling/programme.py
index 2c47e4eb5e81369f4e7b6ad27167628086d2f65c..09e10fc529f67368ccb9861a2ddb7bae7670ffed 100644
--- a/src/scheduling/programme.py
+++ b/src/scheduling/programme.py
@@ -18,21 +18,19 @@
 
 
 import logging
-
 from datetime import datetime
 
-
 from src.base.config import AuraConfig
 from src.base.utils import SimpleUtil as SU
 from src.engine import Engine
-from src.scheduling.utils import M3UPlaylistProcessor
+from src.scheduling.api import ApiFetcher
 from src.scheduling.models import (
-    Timeslot,
     Playlist,
     PlaylistEntry,
     PlaylistEntryMetaData,
+    Timeslot,
 )
-from src.scheduling.api import ApiFetcher
+from src.scheduling.utils import M3UPlaylistProcessor
 
 
 class ProgrammeService:
diff --git a/src/scheduling/scheduler.py b/src/scheduling/scheduler.py
index 7fc59bfef027324409f4106b1e88b960fcd50406..2d3f5b27b1d0bd8f9bf5115467747c97f63e63f8 100644
--- a/src/scheduling/scheduler.py
+++ b/src/scheduling/scheduler.py
@@ -21,18 +21,16 @@ import logging
 import threading
 import time
 
-
 from src.base.config import AuraConfig
+from src.base.exceptions import LoadSourceException, NoActiveTimeslotException
 from src.base.utils import SimpleUtil as SU
-from src.scheduling.models import AuraDatabaseModel
-from src.base.exceptions import NoActiveTimeslotException, LoadSourceException
+from src.channels import ChannelType, EntryPlayState, TransitionType
 from src.control import EngineExecutor
 from src.engine import Engine
-from src.channels import ChannelType, TransitionType, EntryPlayState
 from src.resources import ResourceClass, ResourceUtil
-
-from src.scheduling.utils import TimeslotRenderer
+from src.scheduling.models import AuraDatabaseModel
 from src.scheduling.programme import ProgrammeService
+from src.scheduling.utils import TimeslotRenderer
 
 
 class AuraScheduler(threading.Thread):
diff --git a/src/scheduling/utils.py b/src/scheduling/utils.py
index e66241fba3a6817e2e5d62c5546454253a09438f..152bcc49750efcd8ff056db1ae396613c610124a 100644
--- a/src/scheduling/utils.py
+++ b/src/scheduling/utils.py
@@ -18,12 +18,11 @@
 
 
 import logging
-
-from enum import Enum
 from datetime import datetime
+from enum import Enum
 
-from src.base.utils import SimpleUtil as SU
 from src.base.config import AuraConfig
+from src.base.utils import SimpleUtil as SU
 
 
 class EntryQueueState(Enum):
diff --git a/tests/test_config.py b/tests/test_config.py
index 678e6b52afbd141faaa6896c4aa03c64c444e547..fbf3c564d95105d262d1f05338e1c85f84b491a2 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -19,6 +19,7 @@
 
 import os
 import unittest
+
 import validators
 
 from src.base.config import AuraConfig
diff --git a/tests/test_engine_executor.py b/tests/test_engine_executor.py
index 2ce535d64e0af128b7e67e231f66a5cb09eaa6c9..b771e0237d8e6dc8aad6251877a537b7ff621b5f 100644
--- a/tests/test_engine_executor.py
+++ b/tests/test_engine_executor.py
@@ -17,8 +17,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-import unittest
 import time
+import unittest
 
 from src.base.utils import SimpleUtil as SU
 from src.control import EngineExecutor
diff --git a/tests/test_logger.py b/tests/test_logger.py
index dc3e4d29889d3ce18895f1e5dc2de73ec37d2cfc..c7ef59569f08aba7520dc708bbb464998cade528 100644
--- a/tests/test_logger.py
+++ b/tests/test_logger.py
@@ -19,8 +19,8 @@
 
 import unittest
 
-from src.base.logger import AuraLogger
 from src.base.config import AuraConfig
+from src.base.logger import AuraLogger
 
 
 class TestLogger(unittest.TestCase):