diff --git a/.flake8 b/.flake8
new file mode 100644
index 0000000000000000000000000000000000000000..39eea36963588377b022dbf36753e633a5953d81
--- /dev/null
+++ b/.flake8
@@ -0,0 +1,3 @@
+[flake8]
+max-line-length = 101
+inline-quotes = "
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b2997ecf3d7df5fe95c5fb52f4d492afa78ebb25..60ff711154126c52a71adbca38df6dd830ae2eab 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -38,6 +38,14 @@ build:
     paths:
       - ${PRE_COMMIT_HOME}
 
+flake8:
+  extends:
+    - .code_changes
+    - .pre-commit
+  stage: checks
+  script:
+    - pre-commit run --all-files flake8
+
 format:
   extends:
     - .code_changes
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index a4b5623908ad8ee634885bed4353ec359b931225..fc4e10fd5196e5eeac47ca4d269f2ba5eca721e9 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -43,3 +43,7 @@ repos:
     rev: 0.7.14
     hooks:
       - id: mdformat
+- repo: https://github.com/PyCQA/flake8
+  rev: 4.0.1
+  hooks:
+      - id: flake8