diff --git a/client-py/setup.py b/client-py/setup.py
index 5e7563d49399405f380065d5ab7cde409ce8f0e8..aac9697f8b0d9b0b1c40b4fd881b4c89f9ddf74e 100644
--- a/client-py/setup.py
+++ b/client-py/setup.py
@@ -8,8 +8,9 @@ setup(name='client-py',
 
     python_requires='>=3.6',
     install_requires=[
+        'protocol>=0.1.0',
         'pyzmq>=22.3.0',
-        'protobuf>=3.19.4',
+        'protobuf>=3.19.4,<4',
     ],
 
     description="Example python client for DZ2 toy CI prototype.",
diff --git a/protocol/setup.py b/protocol/setup.py
index fedd97daf2d855cbfef642f1d1e809874c8c091a..f3bb8240932129ab222b29219511ca7b6f9908af 100644
--- a/protocol/setup.py
+++ b/protocol/setup.py
@@ -22,7 +22,7 @@ setup(name='protocol',
 
     python_requires='>=3.6',
     install_requires=[
-        'protobuf>=3.19.4',
+        'protobuf>=3.19.4,<4',
     ],
 
     description="Example python protocol library for DZ2 toy CI prototype.",