diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bc89b0d3cf9a35abc7464f42aed5f40d0b3234ec..1fab6fd6f2ebc219ded4083ebac46335fea65f29 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,3 +1,10 @@
+stages:
+    - test
+    - deploy
+
+variables:
+  PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
+
 lint-openapi:
     image:
         name: redocly/cli
@@ -36,6 +43,20 @@ test-frontend:
             - cypress/screenshots
         expire_in: 1 week
 
+test-python:
+    image: python:latest
+    stage: test
+    cache: 
+      paths:
+        - .cache/pip
+    before_script:
+        - pip install pipenv
+        - pipenv requirements --dev > requirements.txt
+        - pip install -r requirements.txt 
+    script:
+        - black --check $CI_PROJECT_DIR
+        - mypy .
+
 # This snippet is copied and modified from the GitLab Documentation (as of 2021-01-10, the contents of the script seem to have changed by now)
 #   * Title of the documentation page: "Building a Docker image with kaniko"
 #   * Author: (c) 2011-present GitLab B.V.