diff --git a/requirements.txt b/requirements.txt
index b112059b034688a897a0fcb4318effbaaf380929..5e4d359a2a07e2730713b91b211c106f5c00f585 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,15 +4,26 @@ jsonschema~=4.18.0
fastapi~=0.100.0
pydantic~=2.0.2
ansible-runner==2.3.3
+uvicorn[standard]~=0.22.0
+httpx~=0.24.0
-uvicorn[standard]
-httpx
+ansible-core~=2.15.1
+ansible_merge_vars~=5.0.0
+GitPython~=3.1.31
+jinja2==3.1.1
+junos-eznc~=2.6.7
+jxmlease~=1.0.3
+ncclient~=0.6.13
+ruamel.yaml~=0.17.32
+xmltodict~=0.13.0
+dictdiffer~=0.9.0
+jmespath~=1.0.1
-pytest
-responses
+pytest~=7.4.0
+responses~=0.23.1
sphinx
sphinx-rtd-theme
-requests
+requests~=2.31.0
docutils
isort
black
@@ -21,15 +32,3 @@ mypy
ruff
types-setuptools
types-requests
-
-ansible-core~=2.15.1
-ansible_merge_vars
-GitPython
-jinja2==3.1.1
-junos-eznc
-jxmlease
-ncclient
-ruamel.yaml
-xmltodict~=0.13.0
-dictdiffer~=0.9.0
-jmespath~=1.0.1
diff --git a/setup.py b/setup.py
index 171fb13b6bdcc7a45725d0564502a22e78fa6115..708c3093c2c5805d10d00d7617fabb3ee79b3614 100644
--- a/setup.py
+++ b/setup.py
@@ -9,15 +9,15 @@ setup(
url="https://gitlab.geant.org/goat/gap/lso",
packages=find_packages(),
install_requires=[
- "jsonschema",
- "fastapi",
- "pydantic",
- "ansible",
- "requests",
- "uvicorn",
- "ncclient",
- "xmltodict",
- "netaddr",
+ "jsonschema~=4.18.0",
+ "fastapi~=0.100.0",
+ "pydantic~=2.0.2",
+ "ansible~=8.1.0",
+ "requests~=2.31.0",
+ "uvicorn~=0.22.0",
+ "ncclient~=0.6.13",
+ "xmltodict~=0.13.0",
+ "netaddr~=0.8.0",
"jmespath~=1.0.0",
"dictdiffer~=0.9.0",
"ansible-runner~=2.3.3",