diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1e00fc0b47d2a0a5807fc3424271d5e5d9b6ff72..5812c84af6f048c0d5a3ec54cded6f5a0986520f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,19 +12,28 @@ stages:
 debian:
   stage: unique_stage
   image: debian:unstable-slim
+  #      we could cache dependencies installation in our own Dockerfile
   script:
     # Get various dependencies
     - apt update -y
-    - apt install -y g++ libsimgrid-dev libzmq3-dev libprotobuf-dev protobuf-compiler libgtest-dev meson ninja-build pkg-config
+    - apt install -y g++ libsimgrid-dev libzmq3-dev libprotobuf-dev protobuf-compiler libgtest-dev meson ninja-build pkg-config python3 python3-pip
     # Build protocol (c++)
     - (cd protocol && meson setup build --prefix=/usr && ninja -C build && meson install -C build)
+
     # Build client (c++)
     - (cd client-cpp && meson setup build --prefix=/usr && ninja -C build && meson install -C build)
     # Build simulator (c++)
     - (cd simgrid-simulator && meson setup build --prefix=/usr -Ddo_unit_tests=true && ninja -C build && meson install -C build)
 
+    # Build protocol (python)
+    - (cd protocol && pip install .)
+    # Build client (python)
+    - (cd client-py && pip install .)
+
     # Run unit tests (simgrid simulator, c++)
     - (cd simgrid-simulator && meson test -C build)
 
     # Run integration tests (simgrid simulator VS c++ client)
     - test/simulator-cpp-client.sh
+    # Run integration tests (simgrid simulator VS python client)
+    - test/simulator-py-client.sh