diff --git a/osmclient/cli_commands/pdus.py b/osmclient/cli_commands/pdus.py
index 3ce5572..b1fc768 100755
--- a/osmclient/cli_commands/pdus.py
+++ b/osmclient/cli_commands/pdus.py
@@ -175,7 +175,6 @@
 def create_pdu_dictionary(
     name, pdu_type, interface, description, vim_account, descriptor_file, update=False
 ):
-
     logger.debug("")
     pdu = {}
 
diff --git a/osmclient/common/http.py b/osmclient/common/http.py
index 433edd0..9207cbc 100644
--- a/osmclient/common/http.py
+++ b/osmclient/common/http.py
@@ -42,7 +42,6 @@
         return curl_cmd
 
     def get_cmd(self, endpoint):
-
         data = BytesIO()
         curl_cmd = self._get_curl_cmd(endpoint)
         curl_cmd.setopt(pycurl.HTTPGET, 1)
diff --git a/osmclient/sol005/client.py b/osmclient/sol005/client.py
index a69f3cc..4f15fc5 100644
--- a/osmclient/sol005/client.py
+++ b/osmclient/sol005/client.py
@@ -55,7 +55,6 @@
         project="admin",
         **kwargs
     ):
-
         self._user = user
         self._password = password
         self._project = project
diff --git a/osmclient/sol005/nsi.py b/osmclient/sol005/nsi.py
index 999959e..6efce4b 100644
--- a/osmclient/sol005/nsi.py
+++ b/osmclient/sol005/nsi.py
@@ -145,7 +145,6 @@
         admin_status="ENABLED",
         wait=False,
     ):
-
         self._logger.debug("")
         self._client.get_token()
         nst = self._client.nst.get(nst_name)
diff --git a/osmclient/sol005/osmrepo.py b/osmclient/sol005/osmrepo.py
index 0e6bb46..6b9d527 100644
--- a/osmclient/sol005/osmrepo.py
+++ b/osmclient/sol005/osmrepo.py
@@ -147,7 +147,6 @@
         return f_name
 
     def pkg_get(self, pkgtype, name, repo, version, filter):
-
         pkg_name = self.get_pkg(pkgtype, name, repo, filter, version)
         if not pkg_name:
             raise ClientException("Package not found")
diff --git a/osmclient/sol005/user.py b/osmclient/sol005/user.py
index 917fb1a..d94b9c4 100644
--- a/osmclient/sol005/user.py
+++ b/osmclient/sol005/user.py
@@ -111,7 +111,6 @@
         if user.get("set-project"):
             # Remove project and insert project role mapping
             for set_project in user["set-project"]:
-
                 set_project_clean = [m.strip() for m in set_project.split(",")]
                 project, roles = set_project_clean[0], set_project_clean[1:]
 
diff --git a/requirements-dev.in b/requirements-dev.in
index 49324f7..20fd61f 100644
--- a/requirements-dev.in
+++ b/requirements-dev.in
@@ -13,5 +13,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-git+https://osm.etsi.org/gerrit/osm/IM.git@master#egg=osm-im
--r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=master
+git+https://osm.etsi.org/gerrit/osm/IM.git@paas#egg=osm-im
+-r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=paas
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 74fbf5f..f0b7dde 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -14,7 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #######################################################################################
-bitarray==2.5.1
+bitarray==2.6.2
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=paas
     #   pyangbind
@@ -22,7 +22,7 @@
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=paas
     #   pyangbind
-lxml==4.9.0
+lxml==4.9.2
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=paas
     #   pyang
@@ -37,7 +37,7 @@
     # via -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=paas
 pyyaml==5.4.1
     # via -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=paas
-regex==2022.6.2
+regex==2022.10.31
     # via
     #   -r https://osm.etsi.org/gitweb/?p=osm/IM.git;a=blob_plain;f=requirements.txt;hb=paas
     #   pyangbind
diff --git a/requirements-test.txt b/requirements-test.txt
index b312377..fd0128d 100644
--- a/requirements-test.txt
+++ b/requirements-test.txt
@@ -14,13 +14,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #######################################################################################
-coverage==6.4.1
-    # via
-    #   -r requirements-test.in
-    #   nose2
-mock==4.0.3
+coverage==7.1.0
     # via -r requirements-test.in
-nose2==0.11.0
+mock==5.0.1
     # via -r requirements-test.in
-six==1.16.0
-    # via nose2
+nose2==0.12.0
+    # via -r requirements-test.in
diff --git a/requirements.txt b/requirements.txt
index ecbce88..17bbbc5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -14,35 +14,33 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #######################################################################################
-certifi==2022.6.15
+certifi==2022.12.7
     # via requests
-charset-normalizer==2.0.12
+charset-normalizer==3.0.1
     # via requests
 click==8.1.3
     # via -r requirements.in
-idna==3.3
+idna==3.4
     # via requests
 jinja2==3.1.2
     # via -r requirements.in
-markupsafe==2.1.1
+markupsafe==2.1.2
     # via jinja2
-packaging==21.3
+packaging==23.0
     # via -r requirements.in
-prettytable==3.3.0
+prettytable==3.6.0
     # via -r requirements.in
-pycurl==7.45.1
+pycurl==7.45.2
     # via -r requirements.in
-pyparsing==3.0.9
-    # via packaging
 python-magic==0.4.27
     # via -r requirements.in
 pyyaml==5.4.1
     # via -r requirements.in
-requests==2.28.0
+requests==2.28.2
     # via -r requirements.in
-urllib3==1.26.9
+urllib3==1.26.14
     # via requests
 verboselogs==1.7
     # via -r requirements.in
-wcwidth==0.2.5
+wcwidth==0.2.6
     # via prettytable
