diff --git a/src/device/requirements.in b/src/device/requirements.in
index 6f20b0de1c62eee000a22244f38b2ab0fd4aefd5..bf5e6a2b3128f438a7c044c3f3cf9ee393de2265 100644
--- a/src/device/requirements.in
+++ b/src/device/requirements.in
@@ -23,6 +23,7 @@ Flask==2.1.3
 Flask-HTTPAuth==4.5.0
 Flask-RESTful==0.3.9
 Jinja2==3.0.3
+numpy<2.0.0
 ncclient==0.6.15
 p4runtime==1.3.0
 pandas==1.5.*
diff --git a/src/forecaster/requirements.in b/src/forecaster/requirements.in
index 6caa5d616f7b7efc525eb5d79a607b4005d0c4ac..9a31513799fd6aa5d915fb6c83a516176f290ce9 100644
--- a/src/forecaster/requirements.in
+++ b/src/forecaster/requirements.in
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#numpy==1.23.*
+numpy<2.0.0
 pandas==1.5.*
 #prophet==1.1.*
 scikit-learn==1.1.*
diff --git a/src/l3_centralizedattackdetector/requirements.in b/src/l3_centralizedattackdetector/requirements.in
index 34513101381471027dbdbab4d3a615e057acd92e..14808cba5d26a479095ff112b505febff095bdcd 100644
--- a/src/l3_centralizedattackdetector/requirements.in
+++ b/src/l3_centralizedattackdetector/requirements.in
@@ -12,6 +12,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-numpy==1.23.*
+numpy<2.0.0
 onnxruntime==1.12.*
 scikit-learn==1.1.*
diff --git a/src/l3_distributedattackdetector/requirements.in b/src/l3_distributedattackdetector/requirements.in
index 6deb8d906f733e25bfac07bbe82b536b4774f5bb..1d2fbafc26397ee41314686a202938d42c9a22c0 100644
--- a/src/l3_distributedattackdetector/requirements.in
+++ b/src/l3_distributedattackdetector/requirements.in
@@ -12,5 +12,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-numpy==1.23.*
+numpy<2.0.0
 asyncio==3.4.3
diff --git a/src/monitoring/requirements.in b/src/monitoring/requirements.in
index 8684cb22350416818c20e881993a62d4f10a2e9e..3b67c00ee6056de089cde8d9b7faeef05d75336a 100644
--- a/src/monitoring/requirements.in
+++ b/src/monitoring/requirements.in
@@ -18,7 +18,7 @@ APScheduler==3.10.1
 #google-api-core
 #opencensus[stackdriver]
 #google-cloud-profiler
-#numpy
+numpy<2.0.0
 #Jinja2==3.0.3
 #ncclient==0.6.13
 #p4runtime==1.3.0
diff --git a/src/opticalattackdetector/requirements.in b/src/opticalattackdetector/requirements.in
index 39982773b7bbd14a680aa3b26173e8fbcecd88fd..e8476e9faebacd73ff570de43f6417f4f32e23a0 100644
--- a/src/opticalattackdetector/requirements.in
+++ b/src/opticalattackdetector/requirements.in
@@ -12,5 +12,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-numpy
+numpy<2.0.0
 redis
diff --git a/src/opticalcontroller/requirements.in b/src/opticalcontroller/requirements.in
index 0b1947bee2c7f1e89491dff4f7589d3465d28c38..4732ee635a60b8320e25cd2c26388d1cfdfd25cc 100644
--- a/src/opticalcontroller/requirements.in
+++ b/src/opticalcontroller/requirements.in
@@ -17,5 +17,5 @@ flask-restplus==0.13.0
 itsdangerous==1.1.0
 Jinja2==2.11.3
 MarkupSafe==1.1.1
-numpy==1.23.0
+numpy<2.0.0
 Werkzeug==0.16.1
diff --git a/src/pathcomp/frontend/requirements.in b/src/pathcomp/frontend/requirements.in
index 0466b25dc1e326d72735c02aa9b581264dd02620..602ecff548366217e24331721bd0bec7afff8e04 100644
--- a/src/pathcomp/frontend/requirements.in
+++ b/src/pathcomp/frontend/requirements.in
@@ -13,6 +13,7 @@
 # limitations under the License.
 
 
+numpy<2.0.0
 pandas==1.5.*
 requests==2.27.1
 scikit-learn==1.1.*
diff --git a/src/slice/requirements.in b/src/slice/requirements.in
index f2e7219e38a9b76bee5c1ae9e95544d1bc38065a..158355b697b14265c7ce965953c9d75b9bfdea65 100644
--- a/src/slice/requirements.in
+++ b/src/slice/requirements.in
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 #deepdiff==5.8.*
-numpy==1.23.*
+numpy<2.0.0
 pandas==1.5.*
 questdb==1.0.1
 requests==2.27.*