diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 2ec1ba4f3d1db176fcc88f6539830c5831981af9..13328b4970dd5ad30adcfb190747228276250c10 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,14 +1,12 @@
 ---
 repos:
   - repo: https://github.com/pre-commit/pre-commit-hooks.git
-    rev: v4.0.1
+    rev: v4.3.0
     hooks:
       - id: check-added-large-files
       - id: check-executables-have-shebangs
-      - id: check-json
       - id: check-merge-conflict
       - id: check-shebang-scripts-are-executable
-      - id: check-symlinks
       - id: check-toml
         files: Pipfile
       - id: check-xml
@@ -24,7 +22,7 @@ repos:
       - id: codespell
 
   - repo: https://github.com/Yelp/detect-secrets.git
-    rev: v1.1.0
+    rev: v1.2.0
     hooks:
       - id: detect-secrets
 
@@ -36,7 +34,7 @@ repos:
         exclude: LICENSE
 
   - repo: https://gitlab.com/devopshq/gitlab-ci-linter.git
-    rev: v1.0.2
+    rev: v1.0.3
     hooks:
       - id: gitlab-ci-linter
         args:
@@ -49,41 +47,47 @@ repos:
       - id: yamltool
 
   - repo: https://github.com/adrienverge/yamllint.git
-    rev: v1.26.3
+    rev: v1.27.1
     hooks:
       - id: yamllint
 
   - repo: https://github.com/executablebooks/mdformat.git
-    rev: 0.7.10
+    rev: 0.7.14
     hooks:
       - id: mdformat
 
+  - repo: https://github.com/shellcheck-py/shellcheck-py.git
+    rev: v0.8.0.4
+    hooks:
+      - id: shellcheck
+
   - repo: https://git.shore.co.il/nimrod/pre-commit-hooks.git
-    rev: v0.2.0
+    rev: v0.3.0
     hooks:
       - id: shell-validate
       - id: docker-compose
 
-  - repo: https://github.com/shellcheck-py/shellcheck-py.git
-    rev: v0.7.2.1
-    hooks:
-      - id: shellcheck
-
   - repo: https://github.com/AleksaC/hadolint-py.git
-    rev: v2.8.0
+    rev: v2.10.0
     hooks:
       - id: hadolint
 
   - repo: https://github.com/ambv/black.git
-    rev: 22.3.0
+    rev: 22.6.0
     hooks:
       - id: black
         args:
           - |
             --line-length=79
 
+  - repo: https://github.com/PyCQA/isort
+    rev: 5.10.1
+    hooks:
+      - id: isort
+        args: ["--filter-files", "--profile", "black"]
+
   - repo: https://github.com/PyCQA/prospector.git
-    rev: 1.5.3.1
+    rev: 1.7.7
     hooks:
       - id: prospector
         args:
@@ -118,3 +122,29 @@ repos:
             --doctests
         additional_dependencies:
           - flake8-bugbear
+          - flake8-builtins
+          - flake8-comprehensions
+          - flake8-loopy
+          - flake8-pie
+          - flake8-tuple
+          - flake8-warnings
+
+  - repo: https://github.com/Lucas-C/pre-commit-hooks-safety.git
+    rev: v1.3.0
+    hooks:
+      - id: python-safety-dependencies-check
+
+  - repo: https://github.com/asottile/pyupgrade.git
+    rev: v2.37.1
+    hooks:
+      - id: pyupgrade
+
+  - repo: https://github.com/hadialqattan/pycln.git
+    rev: v2.0.2
+    hooks:
+      - id: pycln
+
+  - repo: https://github.com/PyCQA/docformatter.git
+    rev: v1.4
+    hooks:
+      - id: docformatter
diff --git a/entrypoint b/entrypoint
index 59b7d5db72077c87c237b418220cbed7bf582e7b..ad4eaa78744a0f1a7fab1e07861653087eb0c48b 100755
--- a/entrypoint
+++ b/entrypoint
@@ -1,4 +1,5 @@
 #!/bin/sh
+# shellcheck disable=SC2294
 set -eu
 
 [ "$(id -u)" = "0" ] || { echo "Not running as root, continuing as the current user."; eval exec "$@"; }
diff --git a/kodi_scan b/kodi_scan
index 47a3dd0cd4855b8138db18f14f409924126694a0..6fccacb09bfa375787f87697347d4a4d125bf232 100755
--- a/kodi_scan
+++ b/kodi_scan
@@ -4,7 +4,6 @@
 import json
 import urllib.request
 
-
 KODI_RPC_URL = "http://172.18.0.1:8080/jsonrpc"