diff --git a/requirements-fmt.txt b/requirements-fmt.txt
index a35b0f5..8fd8402 100644
--- a/requirements-fmt.txt
+++ b/requirements-fmt.txt
@@ -4,21 +4,21 @@
 #
 #    pip-compile requirements-fmt.in
 #
-black==23.9.1
+black==24.3.0
     # via -r requirements-fmt.in
 click==8.1.7
     # via black
-isort==5.12.0
+isort==5.13.2
     # via -r requirements-fmt.in
 mypy-extensions==1.0.0
     # via black
-packaging==23.1
+packaging==24.0
     # via black
-pathspec==0.11.2
+pathspec==0.12.1
     # via black
-platformdirs==3.10.0
+platformdirs==4.2.0
     # via black
 tomli==2.0.1
     # via black
-typing-extensions==4.8.0
+typing-extensions==4.10.0
     # via black
diff --git a/requirements-lint.txt b/requirements-lint.txt
index 4330e9c..4c5d8bd 100644
--- a/requirements-lint.txt
+++ b/requirements-lint.txt
@@ -4,47 +4,47 @@
 #
 #    pip-compile requirements-lint.in
 #
-black==23.9.1
+black==24.3.0
     # via -r requirements-lint.in
 click==8.1.7
     # via black
-codespell==2.2.5
+codespell==2.2.6
     # via -r requirements-lint.in
-flake8==6.0.0
+flake8==6.1.0
     # via
     #   -r requirements-lint.in
     #   flake8-builtins
     #   pep8-naming
     #   pyproject-flake8
-flake8-builtins==2.1.0
+flake8-builtins==2.2.0
     # via -r requirements-lint.in
 flake8-copyright==0.2.4
     # via -r requirements-lint.in
-isort==5.12.0
+isort==5.13.2
     # via -r requirements-lint.in
 mccabe==0.7.0
     # via flake8
 mypy-extensions==1.0.0
     # via black
-packaging==23.1
+packaging==24.0
     # via black
-pathspec==0.11.2
+pathspec==0.12.1
     # via black
 pep8-naming==0.13.3
     # via -r requirements-lint.in
-platformdirs==3.10.0
+platformdirs==4.2.0
     # via black
-pycodestyle==2.10.0
+pycodestyle==2.11.1
     # via flake8
-pyflakes==3.0.1
+pyflakes==3.1.0
     # via flake8
-pyproject-flake8==6.0.0.post1
+pyproject-flake8==6.1.0
     # via -r requirements-lint.in
 tomli==2.0.1
     # via
     #   black
     #   pyproject-flake8
-typing-extensions==4.8.0
+typing-extensions==4.10.0
     # via black
 
 # The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements.txt b/requirements.txt
index ba1d3f8..d782f28 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,17 +4,17 @@
 #
 #    pip-compile requirements.in
 #
-anyio==4.0.0
+anyio==4.3.0
     # via httpx
 asttokens==2.4.1
     # via stack-data
 backcall==0.2.0
     # via ipython
-bcrypt==4.0.1
+bcrypt==4.1.2
     # via paramiko
-cachetools==5.3.2
+cachetools==5.3.3
     # via google-auth
-certifi==2023.7.22
+certifi==2024.2.2
     # via
     #   httpcore
     #   httpx
@@ -26,29 +26,29 @@ cffi==1.16.0
     #   pynacl
 charset-normalizer==3.3.2
     # via requests
-cryptography==41.0.5
+cryptography==42.0.5
     # via paramiko
 decorator==5.1.1
     # via
     #   ipdb
     #   ipython
-exceptiongroup==1.1.3
+exceptiongroup==1.2.0
     # via
     #   anyio
     #   pytest
 executing==2.0.1
     # via stack-data
-google-auth==2.23.4
+google-auth==2.29.0
     # via kubernetes
 h11==0.14.0
     # via httpcore
-httpcore==1.0.2
+httpcore==1.0.4
     # via httpx
-httpx==0.25.1
+httpx==0.27.0
     # via lightkube
-hvac==2.0.0
+hvac==2.1.0
     # via juju
-idna==3.4
+idna==3.6
     # via
     #   anyio
     #   httpx
@@ -61,21 +61,21 @@ ipython==8.12.3
     # via ipdb
 jedi==0.19.1
     # via ipython
-jinja2==3.1.2
+jinja2==3.1.3
     # via pytest-operator
-juju==3.2.3.0
+juju==3.3.1.1
     # via
     #   -r requirements.in
     #   pytest-operator
-kubernetes==28.1.0
+kubernetes==29.0.0
     # via juju
-lightkube==0.15.0
+lightkube==0.15.2
     # via -r requirements.in
-lightkube-models==1.28.1.4
+lightkube-models==1.29.0.7
     # via lightkube
-macaroonbakery==1.3.1
+macaroonbakery==1.3.4
     # via juju
-markupsafe==2.1.3
+markupsafe==2.1.5
     # via jinja2
 matplotlib-inline==0.1.6
     # via ipython
@@ -85,27 +85,29 @@ oauthlib==3.2.2
     # via
     #   kubernetes
     #   requests-oauthlib
-packaging==23.2
-    # via pytest
-paramiko==2.12.0
+packaging==24.0
+    # via
+    #   juju
+    #   pytest
+paramiko==3.4.0
     # via juju
 parso==0.8.3
     # via jedi
-pexpect==4.8.0
+pexpect==4.9.0
     # via ipython
 pickleshare==0.7.5
     # via ipython
-pluggy==1.3.0
+pluggy==1.4.0
     # via pytest
-prompt-toolkit==3.0.41
+prompt-toolkit==3.0.43
     # via ipython
-protobuf==3.20.3
+protobuf==5.26.0
     # via macaroonbakery
 ptyprocess==0.7.0
     # via pexpect
 pure-eval==0.2.2
     # via stack-data
-pyasn1==0.5.0
+pyasn1==0.5.1
     # via
     #   juju
     #   pyasn1-modules
@@ -114,7 +116,7 @@ pyasn1-modules==0.3.0
     # via google-auth
 pycparser==2.21
     # via cffi
-pygments==2.16.1
+pygments==2.17.2
     # via ipython
 pymacaroons==0.13.0
     # via macaroonbakery
@@ -127,18 +129,18 @@ pyrfc3339==1.1
     # via
     #   juju
     #   macaroonbakery
-pytest==7.4.3
+pytest==8.1.1
     # via
     #   -r requirements.in
     #   pytest-asyncio
     #   pytest-operator
 pytest-asyncio==0.21.1
     # via pytest-operator
-pytest-operator==0.31.0
+pytest-operator==0.34.0
     # via -r requirements.in
-python-dateutil==2.8.2
+python-dateutil==2.9.0.post0
     # via kubernetes
-pytz==2023.3.post1
+pytz==2024.1
     # via pyrfc3339
 pyyaml==6.0.1
     # via
@@ -152,7 +154,7 @@ requests==2.31.0
     #   kubernetes
     #   macaroonbakery
     #   requests-oauthlib
-requests-oauthlib==1.3.1
+requests-oauthlib==2.0.0
     # via kubernetes
 rsa==4.9
     # via google-auth
@@ -161,10 +163,9 @@ six==1.16.0
     #   asttokens
     #   kubernetes
     #   macaroonbakery
-    #   paramiko
     #   pymacaroons
     #   python-dateutil
-sniffio==1.3.0
+sniffio==1.3.1
     # via
     #   anyio
     #   httpx
@@ -178,23 +179,24 @@ tomli==2.0.1
     #   pytest
 toposort==1.10
     # via juju
-traitlets==5.13.0
+traitlets==5.14.2
     # via
     #   ipython
     #   matplotlib-inline
-typing-extensions==4.8.0
+typing-extensions==4.10.0
     # via
+    #   anyio
     #   ipython
     #   typing-inspect
 typing-inspect==0.9.0
     # via juju
-urllib3==1.26.18
+urllib3==2.2.1
     # via
     #   kubernetes
     #   requests
-wcwidth==0.2.10
+wcwidth==0.2.13
     # via prompt-toolkit
-websocket-client==1.6.4
+websocket-client==1.7.0
     # via kubernetes
-websockets==8.1
+websockets==12.0
     # via juju
diff --git a/tests/notebooks/e2e-wine/requirements.txt b/tests/notebooks/e2e-wine/requirements.txt
index 32d9ca5..b2f7728 100644
--- a/tests/notebooks/e2e-wine/requirements.txt
+++ b/tests/notebooks/e2e-wine/requirements.txt
@@ -6,29 +6,29 @@
 #
 absl-py==1.4.0
     # via kfp
-alembic==1.12.0
+alembic==1.13.1
     # via mlflow
-attrs==23.1.0
+attrs==23.2.0
     # via
     #   jsonschema
     #   referencing
-blinker==1.6.2
+blinker==1.7.0
     # via flask
-boto3==1.28.50
+boto3==1.34.70
     # via -r requirements.in
-botocore==1.31.50
+botocore==1.34.70
     # via
     #   boto3
     #   s3transfer
-cachetools==5.3.1
+cachetools==5.3.3
     # via google-auth
-certifi==2023.7.22
+certifi==2024.2.2
     # via
     #   kfp-server-api
     #   kubernetes
     #   minio
     #   requests
-charset-normalizer==3.2.0
+charset-normalizer==3.3.2
     # via requests
 click==8.1.7
     # via
@@ -42,33 +42,33 @@ cloudpickle==2.2.1
     #   kfp
     #   mlflow
     #   shap
-configparser==6.0.0
+configparser==6.0.1
     # via minio
 contourpy==1.1.1
     # via matplotlib
-cycler==0.11.0
+cycler==0.12.1
     # via matplotlib
-databricks-cli==0.17.7
+databricks-cli==0.18.0
     # via mlflow
 deprecated==1.2.14
     # via kfp
 docker==6.1.3
     # via mlflow
-docstring-parser==0.15
+docstring-parser==0.16
     # via kfp
 entrypoints==0.4
     # via mlflow
-fire==0.5.0
+fire==0.6.0
     # via kfp
 flask==2.3.3
     # via mlflow
-fonttools==4.42.1
+fonttools==4.50.0
     # via matplotlib
-gitdb==4.0.10
+gitdb==4.0.11
     # via gitpython
-gitpython==3.1.36
+gitpython==3.1.42
     # via mlflow
-google-api-core==2.11.1
+google-api-core==2.18.0
     # via
     #   google-api-python-client
     #   google-cloud-core
@@ -76,7 +76,7 @@ google-api-core==2.11.1
     #   kfp
 google-api-python-client==1.12.11
     # via kfp
-google-auth==2.23.0
+google-auth==2.29.0
     # via
     #   google-api-core
     #   google-api-python-client
@@ -85,19 +85,21 @@ google-auth==2.23.0
     #   google-cloud-storage
     #   kfp
     #   kubernetes
-google-auth-httplib2==0.1.1
+google-auth-httplib2==0.2.0
     # via google-api-python-client
-google-cloud-core==2.3.3
+google-cloud-core==2.4.1
     # via google-cloud-storage
-google-cloud-storage==2.10.0
+google-cloud-storage==2.16.0
     # via kfp
 google-crc32c==1.5.0
-    # via google-resumable-media
-google-resumable-media==2.6.0
+    # via
+    #   google-cloud-storage
+    #   google-resumable-media
+google-resumable-media==2.7.0
     # via google-cloud-storage
-googleapis-common-protos==1.60.0
+googleapis-common-protos==1.63.0
     # via google-api-core
-greenlet==2.0.2
+greenlet==3.0.3
     # via sqlalchemy
 gunicorn==20.1.0
     # via mlflow
@@ -105,7 +107,7 @@ httplib2==0.22.0
     # via
     #   google-api-python-client
     #   google-auth-httplib2
-idna==3.4
+idna==3.6
     # via requests
 importlib-metadata==5.2.0
     # via
@@ -114,7 +116,7 @@ importlib-metadata==5.2.0
     #   markdown
     #   mlflow
     #   numba
-importlib-resources==6.0.1
+importlib-resources==6.4.0
     # via
     #   alembic
     #   jsonschema
@@ -122,7 +124,7 @@ importlib-resources==6.0.1
     #   matplotlib
 itsdangerous==2.1.2
     # via flask
-jinja2==3.1.2
+jinja2==3.1.3
     # via
     #   flask
     #   mlflow
@@ -132,9 +134,9 @@ jmespath==1.0.1
     #   botocore
 joblib==1.3.2
     # via scikit-learn
-jsonschema==4.19.0
+jsonschema==4.21.1
     # via kfp
-jsonschema-specifications==2023.7.1
+jsonschema-specifications==2023.12.1
     # via jsonschema
 kfp==1.8.22
     # via -r requirements.in
@@ -146,24 +148,24 @@ kiwisolver==1.4.5
     # via matplotlib
 kubernetes==25.3.0
     # via kfp
-llvmlite==0.40.1
+llvmlite==0.41.1
     # via numba
-mako==1.2.4
+mako==1.3.2
     # via alembic
-markdown==3.4.4
+markdown==3.6
     # via mlflow
-markupsafe==2.1.3
+markupsafe==2.1.5
     # via
     #   jinja2
     #   mako
     #   werkzeug
-matplotlib==3.7.3
+matplotlib==3.7.5
     # via mlflow
 minio==6.0.2
     # via -r requirements.in
 mlflow==2.1.1
     # via -r requirements.in
-numba==0.57.1
+numba==0.58.1
     # via shap
 numpy==1.24.4
     # via
@@ -191,10 +193,12 @@ pandas==1.5.3
     # via
     #   mlflow
     #   shap
-pillow==10.0.1
+pillow==10.2.0
     # via matplotlib
 pkgutil-resolve-name==1.3.10
     # via jsonschema
+proto-plus==1.23.0
+    # via google-api-core
 protobuf==3.20.3
     # via
     #   google-api-core
@@ -202,25 +206,26 @@ protobuf==3.20.3
     #   kfp
     #   kfp-pipeline-spec
     #   mlflow
+    #   proto-plus
 pyarrow==10.0.1
     # via
     #   -r requirements.in
     #   mlflow
-pyasn1==0.5.0
+pyasn1==0.5.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.3.0
     # via google-auth
-pydantic==1.10.12
+pydantic==1.10.14
     # via kfp
 pyjwt==2.8.0
     # via databricks-cli
-pyparsing==3.1.1
+pyparsing==3.1.2
     # via
     #   httplib2
     #   matplotlib
-python-dateutil==2.8.2
+python-dateutil==2.9.0.post0
     # via
     #   botocore
     #   kfp-server-api
@@ -240,7 +245,7 @@ pyyaml==6.0.1
     #   mlflow
 querystring-parser==1.2.4
     # via mlflow
-referencing==0.30.2
+referencing==0.34.0
     # via
     #   jsonschema
     #   jsonschema-specifications
@@ -255,17 +260,17 @@ requests==2.31.0
     #   mlflow
     #   requests-oauthlib
     #   requests-toolbelt
-requests-oauthlib==1.3.1
+requests-oauthlib==2.0.0
     # via kubernetes
 requests-toolbelt==0.10.1
     # via kfp
-rpds-py==0.10.3
+rpds-py==0.18.0
     # via
     #   jsonschema
     #   referencing
 rsa==4.9
     # via google-auth
-s3transfer==0.6.2
+s3transfer==0.10.1
     # via boto3
 scikit-learn==1.1.3
     # via
@@ -277,7 +282,7 @@ scipy==1.10.1
     #   mlflow
     #   scikit-learn
     #   shap
-shap==0.42.1
+shap==0.44.1
     # via mlflow
 six==1.16.0
     # via
@@ -292,7 +297,7 @@ slicer==0.0.7
     # via shap
 smmap==5.0.1
     # via gitdb
-sqlalchemy==1.4.49
+sqlalchemy==1.4.52
     # via
     #   alembic
     #   mlflow
@@ -306,15 +311,15 @@ tabulate==0.9.0
     #   kfp
 tenacity==8.2.3
     # via -r requirements.in
-termcolor==2.3.0
+termcolor==2.4.0
     # via fire
-threadpoolctl==3.2.0
+threadpoolctl==3.4.0
     # via scikit-learn
-tqdm==4.66.1
+tqdm==4.66.2
     # via shap
-typer==0.9.0
+typer==0.10.0
     # via kfp
-typing-extensions==4.8.0
+typing-extensions==4.10.0
     # via
     #   alembic
     #   kfp
@@ -324,28 +329,27 @@ uritemplate==3.0.1
     # via
     #   google-api-python-client
     #   kfp
-urllib3==1.26.16
+urllib3==1.26.18
     # via
     #   botocore
     #   databricks-cli
     #   docker
-    #   google-auth
     #   kfp
     #   kfp-server-api
     #   kubernetes
     #   minio
     #   requests
-websocket-client==1.6.3
+websocket-client==1.7.0
     # via
     #   docker
     #   kubernetes
-werkzeug==2.3.7
+werkzeug==3.0.1
     # via flask
-wheel==0.41.2
+wheel==0.43.0
     # via strip-hints
-wrapt==1.15.0
+wrapt==1.16.0
     # via deprecated
-zipp==3.17.0
+zipp==3.18.1
     # via
     #   importlib-metadata
     #   importlib-resources
diff --git a/tests/notebooks/katib/requirements.txt b/tests/notebooks/katib/requirements.txt
index e2397af..d135362 100644
--- a/tests/notebooks/katib/requirements.txt
+++ b/tests/notebooks/katib/requirements.txt
@@ -4,38 +4,38 @@
 #
 #    pip-compile requirements.in
 #
-cachetools==5.3.1
+cachetools==5.3.3
     # via google-auth
-certifi==2023.7.22
+certifi==2024.2.2
     # via
     #   kubeflow-katib
     #   kubernetes
     #   requests
-charset-normalizer==3.2.0
+charset-normalizer==3.3.2
     # via requests
-google-auth==2.23.0
+google-auth==2.29.0
     # via kubernetes
-grpcio==1.41.1
+grpcio==1.62.1
     # via kubeflow-katib
-idna==3.4
+idna==3.6
     # via requests
-kubeflow-katib==0.15.0
+kubeflow-katib==0.16.0
     # via -r requirements.in
-kubernetes==28.1.0
+kubernetes==29.0.0
     # via kubeflow-katib
 oauthlib==3.2.2
     # via
     #   kubernetes
     #   requests-oauthlib
-protobuf==3.19.5
+protobuf==3.20.3
     # via kubeflow-katib
-pyasn1==0.5.0
+pyasn1==0.5.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.3.0
     # via google-auth
-python-dateutil==2.8.2
+python-dateutil==2.9.0.post0
     # via kubernetes
 pyyaml==6.0.1
     # via kubernetes
@@ -43,25 +43,23 @@ requests==2.31.0
     # via
     #   kubernetes
     #   requests-oauthlib
-requests-oauthlib==1.3.1
+requests-oauthlib==2.0.0
     # via kubernetes
 rsa==4.9
     # via google-auth
 six==1.16.0
     # via
-    #   grpcio
     #   kubeflow-katib
     #   kubernetes
     #   python-dateutil
 tenacity==8.2.3
     # via -r requirements.in
-urllib3==1.26.16
+urllib3==2.2.1
     # via
-    #   google-auth
     #   kubeflow-katib
     #   kubernetes
     #   requests
-websocket-client==1.6.3
+websocket-client==1.7.0
     # via kubernetes
 
 # The following packages are considered to be unsafe in a requirements file:
diff --git a/tests/notebooks/kfp_v1/requirements.txt b/tests/notebooks/kfp_v1/requirements.txt
index 5856300..3bb49aa 100644
--- a/tests/notebooks/kfp_v1/requirements.txt
+++ b/tests/notebooks/kfp_v1/requirements.txt
@@ -6,18 +6,18 @@
 #
 absl-py==1.4.0
     # via kfp
-attrs==23.1.0
+attrs==23.2.0
     # via
     #   jsonschema
     #   referencing
-cachetools==5.3.1
+cachetools==5.3.3
     # via google-auth
-certifi==2023.7.22
+certifi==2024.2.2
     # via
     #   kfp-server-api
     #   kubernetes
     #   requests
-charset-normalizer==3.2.0
+charset-normalizer==3.3.2
     # via requests
 click==8.1.7
     # via
@@ -27,11 +27,11 @@ cloudpickle==2.2.1
     # via kfp
 deprecated==1.2.14
     # via kfp
-docstring-parser==0.15
+docstring-parser==0.16
     # via kfp
-fire==0.5.0
+fire==0.6.0
     # via kfp
-google-api-core==2.11.1
+google-api-core==2.18.0
     # via
     #   google-api-python-client
     #   google-cloud-core
@@ -39,7 +39,7 @@ google-api-core==2.11.1
     #   kfp
 google-api-python-client==1.12.11
     # via kfp
-google-auth==2.23.0
+google-auth==2.29.0
     # via
     #   google-api-core
     #   google-api-python-client
@@ -48,31 +48,33 @@ google-auth==2.23.0
     #   google-cloud-storage
     #   kfp
     #   kubernetes
-google-auth-httplib2==0.1.1
+google-auth-httplib2==0.2.0
     # via google-api-python-client
-google-cloud-core==2.3.3
+google-cloud-core==2.4.1
     # via google-cloud-storage
-google-cloud-storage==2.10.0
+google-cloud-storage==2.16.0
     # via kfp
 google-crc32c==1.5.0
-    # via google-resumable-media
-google-resumable-media==2.6.0
+    # via
+    #   google-cloud-storage
+    #   google-resumable-media
+google-resumable-media==2.7.0
     # via google-cloud-storage
-googleapis-common-protos==1.60.0
+googleapis-common-protos==1.63.0
     # via google-api-core
 httplib2==0.22.0
     # via
     #   google-api-python-client
     #   google-auth-httplib2
-idna==3.4
+idna==3.6
     # via requests
-importlib-resources==6.0.1
+importlib-resources==6.4.0
     # via
     #   jsonschema
     #   jsonschema-specifications
-jsonschema==4.19.0
+jsonschema==4.21.1
     # via kfp
-jsonschema-specifications==2023.7.1
+jsonschema-specifications==2023.12.1
     # via jsonschema
 kfp==1.8.22
     # via -r requirements.in
@@ -86,23 +88,26 @@ oauthlib==3.2.2
     # via requests-oauthlib
 pkgutil-resolve-name==1.3.10
     # via jsonschema
+proto-plus==1.23.0
+    # via google-api-core
 protobuf==3.20.3
     # via
     #   google-api-core
     #   googleapis-common-protos
     #   kfp
     #   kfp-pipeline-spec
-pyasn1==0.5.0
+    #   proto-plus
+pyasn1==0.5.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.3.0
     # via google-auth
-pydantic==1.10.12
+pydantic==1.10.14
     # via kfp
-pyparsing==3.1.1
+pyparsing==3.1.2
     # via httplib2
-python-dateutil==2.8.2
+python-dateutil==2.9.0.post0
     # via
     #   kfp-server-api
     #   kubernetes
@@ -110,7 +115,7 @@ pyyaml==6.0.1
     # via
     #   kfp
     #   kubernetes
-referencing==0.30.2
+referencing==0.34.0
     # via
     #   jsonschema
     #   jsonschema-specifications
@@ -121,11 +126,11 @@ requests==2.31.0
     #   kubernetes
     #   requests-oauthlib
     #   requests-toolbelt
-requests-oauthlib==1.3.1
+requests-oauthlib==2.0.0
     # via kubernetes
 requests-toolbelt==0.10.1
     # via kfp
-rpds-py==0.10.3
+rpds-py==0.18.0
     # via
     #   jsonschema
     #   referencing
@@ -144,11 +149,11 @@ tabulate==0.9.0
     # via kfp
 tenacity==8.2.3
     # via -r requirements.in
-termcolor==2.3.0
+termcolor==2.4.0
     # via fire
-typer==0.9.0
+typer==0.10.0
     # via kfp
-typing-extensions==4.8.0
+typing-extensions==4.10.0
     # via
     #   kfp
     #   pydantic
@@ -157,20 +162,19 @@ uritemplate==3.0.1
     # via
     #   google-api-python-client
     #   kfp
-urllib3==1.26.16
+urllib3==1.26.18
     # via
-    #   google-auth
     #   kfp
     #   kfp-server-api
     #   kubernetes
     #   requests
-websocket-client==1.6.3
+websocket-client==1.7.0
     # via kubernetes
-wheel==0.41.2
+wheel==0.43.0
     # via strip-hints
-wrapt==1.15.0
+wrapt==1.16.0
     # via deprecated
-zipp==3.17.0
+zipp==3.18.1
     # via importlib-resources
 
 # The following packages are considered to be unsafe in a requirements file:
diff --git a/tests/notebooks/kfp_v2/requirements.txt b/tests/notebooks/kfp_v2/requirements.txt
index 5e0af9f..a123e5e 100644
--- a/tests/notebooks/kfp_v2/requirements.txt
+++ b/tests/notebooks/kfp_v2/requirements.txt
@@ -4,9 +4,9 @@
 #
 #    pip-compile requirements.in
 #
-cachetools==5.3.2
+cachetools==5.3.3
     # via google-auth
-certifi==2023.11.17
+certifi==2024.2.2
     # via
     #   kfp-server-api
     #   kubernetes
@@ -15,57 +15,60 @@ charset-normalizer==3.3.2
     # via requests
 click==8.1.7
     # via kfp
-docstring-parser==0.15
+docstring-parser==0.16
     # via kfp
-google-api-core==2.14.0
+google-api-core==2.18.0
     # via
     #   google-cloud-core
     #   google-cloud-storage
     #   kfp
-google-auth==2.23.4
+google-auth==2.29.0
     # via
     #   google-api-core
     #   google-cloud-core
     #   google-cloud-storage
     #   kfp
     #   kubernetes
-google-cloud-core==2.3.3
+google-cloud-core==2.4.1
     # via google-cloud-storage
-google-cloud-storage==2.13.0
+google-cloud-storage==2.16.0
     # via kfp
 google-crc32c==1.5.0
     # via
     #   google-cloud-storage
     #   google-resumable-media
-google-resumable-media==2.6.0
+google-resumable-media==2.7.0
     # via google-cloud-storage
-googleapis-common-protos==1.61.0
+googleapis-common-protos==1.63.0
     # via google-api-core
-idna==3.4
+idna==3.6
     # via requests
-kfp==2.4.0
+kfp==2.7.0
     # via -r requirements.in
-kfp-pipeline-spec==0.2.2
+kfp-pipeline-spec==0.3.0
     # via kfp
-kfp-server-api==2.0.3
+kfp-server-api==2.0.5
     # via kfp
 kubernetes==26.1.0
     # via kfp
 oauthlib==3.2.2
     # via requests-oauthlib
-protobuf==3.20.3
+proto-plus==1.23.0
+    # via google-api-core
+protobuf==4.25.3
     # via
     #   google-api-core
     #   googleapis-common-protos
     #   kfp
     #   kfp-pipeline-spec
+    #   proto-plus
 pyasn1==0.5.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.3.0
     # via google-auth
-python-dateutil==2.8.2
+python-dateutil==2.9.0.post0
     # via
     #   kfp-server-api
     #   kubernetes
@@ -80,7 +83,7 @@ requests==2.31.0
     #   kubernetes
     #   requests-oauthlib
     #   requests-toolbelt
-requests-oauthlib==1.3.1
+requests-oauthlib==2.0.0
     # via kubernetes
 requests-toolbelt==0.10.1
     # via kfp
@@ -95,7 +98,7 @@ tabulate==0.9.0
     # via kfp
 tenacity==8.2.3
     # via -r requirements.in
-typing-extensions==4.8.0
+typing-extensions==4.10.0
     # via kfp
 urllib3==1.26.18
     # via
@@ -103,7 +106,7 @@ urllib3==1.26.18
     #   kfp-server-api
     #   kubernetes
     #   requests
-websocket-client==1.6.4
+websocket-client==1.7.0
     # via kubernetes
 
 # The following packages are considered to be unsafe in a requirements file:
diff --git a/tests/notebooks/kserve/requirements.txt b/tests/notebooks/kserve/requirements.txt
index 8f1c195..e636ce7 100644
--- a/tests/notebooks/kserve/requirements.txt
+++ b/tests/notebooks/kserve/requirements.txt
@@ -4,87 +4,74 @@
 #
 #    pip-compile requirements.in
 #
-aiohttp==3.8.5
+aiohttp==3.9.3
     # via
     #   aiohttp-cors
     #   ray
 aiohttp-cors==0.7.0
     # via ray
-aiorwlock==1.3.0
-    # via ray
 aiosignal==1.3.1
     # via
     #   aiohttp
     #   ray
-anyio==4.0.0
+anyio==4.3.0
     # via
-    #   httpcore
+    #   httpx
     #   starlette
     #   watchfiles
 async-timeout==4.0.3
     # via aiohttp
-attrs==23.1.0
+attrs==23.2.0
     # via
     #   aiohttp
     #   jsonschema
-    #   ray
     #   referencing
-blessed==1.20.0
-    # via gpustat
-cachetools==5.3.1
+cachetools==5.3.3
     # via google-auth
-certifi==2023.7.22
+certifi==2024.2.2
     # via
     #   httpcore
     #   httpx
     #   kubernetes
     #   requests
-charset-normalizer==3.2.0
-    # via
-    #   aiohttp
-    #   requests
+charset-normalizer==3.3.2
+    # via requests
 click==8.1.7
     # via
     #   ray
     #   uvicorn
-cloudevents==1.9.0
+cloudevents==1.10.1
     # via kserve
-colorful==0.5.5
+colorful==0.5.6
     # via ray
-cuda-python==12.2.0
-    # via tritonclient
-cython==3.0.2
-    # via cuda-python
 deprecation==2.1.0
     # via cloudevents
-distlib==0.3.7
+distlib==0.3.8
     # via virtualenv
-exceptiongroup==1.1.3
+exceptiongroup==1.2.0
     # via anyio
 fastapi==0.95.2
     # via
     #   kserve
     #   ray
-filelock==3.12.4
+filelock==3.13.3
     # via
     #   ray
     #   virtualenv
-frozenlist==1.4.0
+frozenlist==1.4.1
     # via
     #   aiohttp
     #   aiosignal
     #   ray
-google-api-core==2.11.1
+google-api-core==2.18.0
     # via opencensus
-google-auth==2.23.0
+google-auth==2.29.0
     # via
     #   google-api-core
     #   kubernetes
-googleapis-common-protos==1.60.0
+googleapis-common-protos==1.63.0
     # via google-api-core
-gpustat==1.1.1
-    # via ray
-grpcio==1.51.3
+grpcio==1.62.1
     # via
     #   kserve
     #   ray
@@ -92,35 +79,35 @@ h11==0.14.0
     # via
     #   httpcore
     #   uvicorn
-httpcore==0.16.3
+httpcore==1.0.4
     # via httpx
-httptools==0.6.0
+httptools==0.6.1
     # via uvicorn
-httpx==0.23.3
+httpx==0.26.0
     # via kserve
-idna==3.4
+idna==3.6
     # via
     #   anyio
+    #   httpx
     #   requests
-    #   rfc3986
     #   yarl
-importlib-resources==6.0.1
+importlib-resources==6.4.0
     # via
     #   jsonschema
     #   jsonschema-specifications
-jsonschema==4.19.0
+jsonschema==4.21.1
     # via ray
-jsonschema-specifications==2023.7.1
+jsonschema-specifications==2023.12.1
     # via jsonschema
-kserve==0.11.0
+kserve==0.12.0
     # via -r requirements.in
-kubernetes==28.1.0
+kubernetes==29.0.0
     # via
     #   -r requirements.in
     #   kserve
-msgpack==1.0.5
+msgpack==1.0.8
     # via ray
-multidict==6.0.4
+multidict==6.0.5
     # via
     #   aiohttp
     #   yarl
@@ -128,73 +115,70 @@ numpy==1.24.4
     # via
     #   kserve
     #   pandas
-    #   ray
-    #   tritonclient
-nvidia-ml-py==12.535.108
-    # via gpustat
 oauthlib==3.2.2
     # via
     #   kubernetes
     #   requests-oauthlib
-opencensus==0.11.3
+opencensus==0.11.4
     # via ray
 opencensus-context==0.1.3
     # via opencensus
-orjson==3.9.7
+orjson==3.9.15
     # via kserve
-packaging==23.1
-    # via deprecation
+packaging==24.0
+    # via
+    #   deprecation
+    #   ray
 pandas==2.0.3
     # via kserve
 pkgutil-resolve-name==1.3.10
     # via jsonschema
-platformdirs==3.10.0
+platformdirs==4.2.0
     # via virtualenv
 prometheus-client==0.13.1
     # via
     #   kserve
     #   ray
+proto-plus==1.23.0
+    # via google-api-core
 protobuf==3.20.3
     # via
     #   google-api-core
     #   googleapis-common-protos
     #   kserve
+    #   proto-plus
     #   ray
-psutil==5.9.5
-    # via
-    #   gpustat
-    #   kserve
+psutil==5.9.8
+    # via kserve
 py-spy==0.3.14
     # via ray
-pyasn1==0.5.0
+pyasn1==0.5.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.3.0
     # via google-auth
-pydantic==1.10.12
+pydantic==1.10.14
     # via
     #   fastapi
     #   ray
-python-dateutil==2.8.2
+python-dateutil==2.9.0.post0
     # via
     #   kserve
     #   kubernetes
     #   pandas
-python-dotenv==1.0.0
+python-dotenv==1.0.1
     # via uvicorn
-python-rapidjson==1.11
-    # via tritonclient
-pytz==2023.3.post1
+pytz==2024.1
     # via pandas
 pyyaml==6.0.1
     # via
     #   kubernetes
     #   ray
     #   uvicorn
-ray[serve]==2.4.0
+ray[serve]==2.10.0
     # via kserve
-referencing==0.30.2
+referencing==0.34.0
     # via
     #   jsonschema
     #   jsonschema-specifications
@@ -205,11 +189,9 @@ requests==2.31.0
     #   kubernetes
     #   ray
     #   requests-oauthlib
-requests-oauthlib==1.3.1
+requests-oauthlib==2.0.0
     # via kubernetes
-rfc3986[idna2008]==1.5.0
-    # via httpx
-rpds-py==0.10.3
+rpds-py==0.18.0
     # via
     #   jsonschema
     #   referencing
@@ -217,16 +199,15 @@ rsa==4.9
     # via google-auth
 six==1.16.0
     # via
-    #   blessed
     #   kserve
     #   kubernetes
+    #   opencensus
     #   python-dateutil
-smart-open==6.4.0
+smart-open==7.0.4
     # via ray
-sniffio==1.3.0
+sniffio==1.3.1
     # via
     #   anyio
-    #   httpcore
     #   httpx
 starlette==0.27.0
     # via
@@ -238,36 +219,36 @@ tenacity==8.2.3
     # via -r requirements.in
 timing-asgi==0.3.1
     # via kserve
-tritonclient==2.37.0.9383150
-    # via kserve
-typing-extensions==4.8.0
+typing-extensions==4.10.0
     # via
+    #   anyio
     #   pydantic
     #   starlette
-tzdata==2023.3
+tzdata==2024.1
     # via pandas
-urllib3==1.26.16
+urllib3==2.2.1
     # via
-    #   google-auth
     #   kubernetes
     #   requests
 uvicorn[standard]==0.19.0
     # via
     #   kserve
     #   ray
-uvloop==0.17.0
+uvloop==0.19.0
     # via uvicorn
-virtualenv==20.21.0
+virtualenv==20.25.1
     # via ray
-watchfiles==0.20.0
-    # via uvicorn
-wcwidth==0.2.6
-    # via blessed
-websocket-client==1.6.3
+watchfiles==0.21.0
+    # via
+    #   ray
+    #   uvicorn
+websocket-client==1.7.0
     # via kubernetes
-websockets==11.0.3
+websockets==12.0
     # via uvicorn
-yarl==1.9.2
+wrapt==1.16.0
+    # via smart-open
+yarl==1.9.4
     # via aiohttp
-zipp==3.17.0
+zipp==3.18.1
     # via importlib-resources
diff --git a/tests/notebooks/mlflow-kserve/requirements.txt b/tests/notebooks/mlflow-kserve/requirements.txt
index bc8e22b..ed35987 100644
--- a/tests/notebooks/mlflow-kserve/requirements.txt
+++ b/tests/notebooks/mlflow-kserve/requirements.txt
@@ -4,56 +4,49 @@
 #
 #    pip-compile requirements.in
 #
-aiohttp==3.8.6
+aiohttp==3.9.3
     # via
     #   aiohttp-cors
     #   ray
 aiohttp-cors==0.7.0
     # via ray
-aiorwlock==1.3.0
-    # via ray
 aiosignal==1.3.1
     # via
     #   aiohttp
     #   ray
-alembic==1.12.0
+alembic==1.13.1
     # via mlflow
-anyio==4.0.0
+anyio==4.3.0
     # via
-    #   httpcore
+    #   httpx
     #   starlette
     #   watchfiles
 async-timeout==4.0.3
     # via aiohttp
-attrs==23.1.0
+attrs==23.2.0
     # via
     #   aiohttp
     #   jsonschema
-    #   ray
     #   referencing
-blessed==1.20.0
-    # via gpustat
-blinker==1.6.2
+blinker==1.7.0
     # via flask
-boto3==1.28.50
+boto3==1.34.70
     # via -r requirements.in
-botocore==1.31.50
+botocore==1.34.70
     # via
     #   boto3
     #   s3transfer
-cachetools==5.3.1
+cachetools==5.3.3
     # via google-auth
-certifi==2023.7.22
+certifi==2024.2.2
     # via
     #   httpcore
     #   httpx
     #   kubernetes
     #   minio
     #   requests
-charset-normalizer==3.2.0
-    # via
-    #   aiohttp
-    #   requests
+charset-normalizer==3.3.2
+    # via requests
 click==8.1.7
     # via
     #   databricks-cli
@@ -61,68 +54,64 @@ click==8.1.7
     #   mlflow
     #   ray
     #   uvicorn
-cloudevents==1.10.0
+cloudevents==1.10.1
     # via kserve
 cloudpickle==2.2.1
     # via
     #   mlflow
     #   shap
-colorful==0.5.5
+colorful==0.5.6
     # via ray
-configparser==6.0.0
+configparser==6.0.1
     # via minio
 contourpy==1.1.1
     # via matplotlib
-cuda-python==12.3.0
-    # via tritonclient
-cycler==0.11.0
+cycler==0.12.1
     # via matplotlib
-databricks-cli==0.17.7
+databricks-cli==0.18.0
     # via mlflow
 deprecation==2.1.0
     # via cloudevents
-distlib==0.3.7
+distlib==0.3.8
     # via virtualenv
 docker==6.1.3
     # via mlflow
 entrypoints==0.4
     # via mlflow
-exceptiongroup==1.1.3
+exceptiongroup==1.2.0
     # via anyio
 fastapi==0.95.2
     # via
     #   kserve
     #   ray
-filelock==3.12.4
+filelock==3.13.3
     # via
     #   ray
     #   virtualenv
 flask==2.3.3
     # via mlflow
-fonttools==4.42.1
+fonttools==4.50.0
     # via matplotlib
-frozenlist==1.4.0
+frozenlist==1.4.1
     # via
     #   aiohttp
     #   aiosignal
     #   ray
-gitdb==4.0.10
+gitdb==4.0.11
     # via gitpython
-gitpython==3.1.36
+gitpython==3.1.42
     # via mlflow
-google-api-core==2.11.1
+google-api-core==2.18.0
     # via opencensus
-google-auth==2.23.0
+google-auth==2.29.0
     # via
     #   google-api-core
     #   kubernetes
-googleapis-common-protos==1.60.0
+googleapis-common-protos==1.63.0
     # via google-api-core
-gpustat==1.1.1
-    # via ray
-greenlet==2.0.2
+greenlet==3.0.3
     # via sqlalchemy
-grpcio==1.51.3
+grpcio==1.62.1
     # via
     #   kserve
     #   ray
@@ -132,17 +121,17 @@ h11==0.14.0
     # via
     #   httpcore
     #   uvicorn
-httpcore==0.16.3
+httpcore==1.0.4
     # via httpx
 httptools==0.6.1
     # via uvicorn
-httpx==0.23.3
+httpx==0.26.0
     # via kserve
-idna==3.4
+idna==3.6
     # via
     #   anyio
+    #   httpx
     #   requests
-    #   rfc3986
     #   yarl
 importlib-metadata==5.2.0
     # via
@@ -151,7 +140,7 @@ importlib-metadata==5.2.0
     #   markdown
     #   mlflow
     #   numba
-importlib-resources==6.0.1
+importlib-resources==6.4.0
     # via
     #   alembic
     #   jsonschema
@@ -159,7 +148,7 @@ importlib-resources==6.0.1
     #   matplotlib
 itsdangerous==2.1.2
     # via flask
-jinja2==3.1.2
+jinja2==3.1.3
     # via
     #   flask
     #   mlflow
@@ -169,42 +158,42 @@ jmespath==1.0.1
     #   botocore
 joblib==1.3.2
     # via scikit-learn
-jsonschema==4.19.0
+jsonschema==4.21.1
     # via ray
-jsonschema-specifications==2023.7.1
+jsonschema-specifications==2023.12.1
     # via jsonschema
 kiwisolver==1.4.5
     # via matplotlib
-kserve==0.11.1
+kserve==0.12.0
     # via -r requirements.in
-kubernetes==25.3.0
+kubernetes==29.0.0
     # via
     #   -r requirements.in
     #   kserve
-llvmlite==0.40.1
+llvmlite==0.41.1
     # via numba
-mako==1.2.4
+mako==1.3.2
     # via alembic
-markdown==3.4.4
+markdown==3.6
     # via mlflow
-markupsafe==2.1.3
+markupsafe==2.1.5
     # via
     #   jinja2
     #   mako
     #   werkzeug
-matplotlib==3.7.3
+matplotlib==3.7.5
     # via mlflow
 minio==6.0.2
     # via -r requirements.in
 mlflow==2.1.1
     # via -r requirements.in
-msgpack==1.0.7
+msgpack==1.0.8
     # via ray
-multidict==6.0.4
+multidict==6.0.5
     # via
     #   aiohttp
     #   yarl
-numba==0.57.1
+numba==0.58.1
     # via shap
 numpy==1.24.4
     # via
@@ -216,22 +205,19 @@ numpy==1.24.4
     #   numba
     #   pandas
     #   pyarrow
-    #   ray
     #   scikit-learn
     #   scipy
     #   shap
-    #   tritonclient
-nvidia-ml-py==12.535.108
-    # via gpustat
 oauthlib==3.2.2
     # via
     #   databricks-cli
+    #   kubernetes
     #   requests-oauthlib
-opencensus==0.11.3
+opencensus==0.11.4
     # via ray
 opencensus-context==0.1.3
     # via opencensus
-orjson==3.9.9
+orjson==3.9.15
     # via kserve
 packaging==22.0
     # via
@@ -239,53 +225,56 @@ packaging==22.0
     #   docker
     #   matplotlib
     #   mlflow
+    #   ray
     #   shap
 pandas==1.5.3
     # via
     #   kserve
     #   mlflow
     #   shap
-pillow==10.0.1
+pillow==10.2.0
     # via matplotlib
 pkgutil-resolve-name==1.3.10
     # via jsonschema
-platformdirs==3.11.0
+platformdirs==4.2.0
     # via virtualenv
 prometheus-client==0.13.1
     # via
     #   kserve
     #   ray
+proto-plus==1.23.0
+    # via google-api-core
 protobuf==3.20.3
     # via
     #   google-api-core
+    #   googleapis-common-protos
     #   kserve
     #   mlflow
+    #   proto-plus
     #   ray
-psutil==5.9.6
-    # via
-    #   gpustat
-    #   kserve
+psutil==5.9.8
+    # via kserve
 py-spy==0.3.14
     # via ray
 pyarrow==10.0.1
     # via
     #   -r requirements.in
     #   mlflow
-pyasn1==0.5.0
+pyasn1==0.5.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.3.0
     # via google-auth
-pydantic==1.10.12
+pydantic==1.10.14
     # via
     #   fastapi
     #   ray
 pyjwt==2.8.0
     # via databricks-cli
-pyparsing==3.1.1
+pyparsing==3.1.2
     # via matplotlib
-python-dateutil==2.8.2
+python-dateutil==2.9.0.post0
     # via
     #   botocore
     #   kserve
@@ -293,10 +282,8 @@ python-dateutil==2.8.2
     #   matplotlib
     #   minio
     #   pandas
-python-dotenv==1.0.0
+python-dotenv==1.0.1
     # via uvicorn
-python-rapidjson==1.12
-    # via tritonclient
 pytz==2022.7.1
     # via
     #   minio
@@ -310,9 +297,9 @@ pyyaml==6.0.1
     #   uvicorn
 querystring-parser==1.2.4
     # via mlflow
-ray[serve]==2.4.0
+ray[serve]==2.10.0
     # via kserve
-referencing==0.30.2
+referencing==0.34.0
     # via
     #   jsonschema
     #   jsonschema-specifications
@@ -326,17 +313,15 @@ requests==2.31.0
     #   mlflow
     #   ray
     #   requests-oauthlib
-requests-oauthlib==1.3.1
+requests-oauthlib==2.0.0
     # via kubernetes
-rfc3986[idna2008]==1.5.0
-    # via httpx
-rpds-py==0.10.3
+rpds-py==0.18.0
     # via
     #   jsonschema
     #   referencing
 rsa==4.9
     # via google-auth
-s3transfer==0.6.2
+s3transfer==0.10.1
     # via boto3
 scikit-learn==1.1.3
     # via
@@ -348,28 +333,27 @@ scipy==1.10.1
     #   mlflow
     #   scikit-learn
     #   shap
-shap==0.42.1
+shap==0.44.1
     # via mlflow
 six==1.16.0
     # via
-    #   blessed
     #   databricks-cli
     #   kserve
     #   kubernetes
+    #   opencensus
     #   python-dateutil
     #   querystring-parser
 slicer==0.0.7
     # via shap
-smart-open==6.4.0
+smart-open==7.0.4
     # via ray
 smmap==5.0.1
     # via gitdb
-sniffio==1.3.0
+sniffio==1.3.1
     # via
     #   anyio
-    #   httpcore
     #   httpx
-sqlalchemy==1.4.49
+sqlalchemy==1.4.52
     # via
     #   alembic
     #   mlflow
@@ -385,25 +369,23 @@ tabulate==0.9.0
     #   kserve
 tenacity==8.2.3
     # via -r requirements.in
-threadpoolctl==3.2.0
+threadpoolctl==3.4.0
     # via scikit-learn
 timing-asgi==0.3.1
     # via kserve
-tqdm==4.66.1
+tqdm==4.66.2
     # via shap
-tritonclient==2.38.0
-    # via kserve
-typing-extensions==4.8.0
+typing-extensions==4.10.0
     # via
     #   alembic
+    #   anyio
     #   pydantic
     #   starlette
-urllib3==1.26.16
+urllib3==1.26.18
     # via
     #   botocore
     #   databricks-cli
     #   docker
-    #   google-auth
     #   kubernetes
     #   minio
     #   requests
@@ -413,23 +395,25 @@ uvicorn[standard]==0.19.0
     #   ray
 uvloop==0.19.0
     # via uvicorn
-virtualenv==20.21.0
+virtualenv==20.25.1
     # via ray
 watchfiles==0.21.0
-    # via uvicorn
-wcwidth==0.2.8
-    # via blessed
-websocket-client==1.6.3
+    # via
+    #   ray
+    #   uvicorn
+websocket-client==1.7.0
     # via
     #   docker
     #   kubernetes
 websockets==12.0
     # via uvicorn
-werkzeug==2.3.7
+werkzeug==3.0.1
     # via flask
-yarl==1.9.2
+wrapt==1.16.0
+    # via smart-open
+yarl==1.9.4
     # via aiohttp
-zipp==3.17.0
+zipp==3.18.1
     # via
     #   importlib-metadata
     #   importlib-resources
diff --git a/tests/notebooks/mlflow-minio/requirements.txt b/tests/notebooks/mlflow-minio/requirements.txt
index 5354fa2..4ccfc14 100644
--- a/tests/notebooks/mlflow-minio/requirements.txt
+++ b/tests/notebooks/mlflow-minio/requirements.txt
@@ -4,9 +4,9 @@
 #
 #    pip-compile requirements.in
 #
-aiobotocore==2.5.4
+aiobotocore==2.12.1
     # via s3fs
-aiohttp==3.8.5
+aiohttp==3.9.3
     # via
     #   aiobotocore
     #   s3fs
@@ -16,29 +16,27 @@ aiosignal==1.3.1
     # via aiohttp
 async-timeout==4.0.3
     # via aiohttp
-attrs==23.1.0
+attrs==23.2.0
     # via aiohttp
-botocore==1.31.17
+botocore==1.34.51
     # via aiobotocore
-certifi==2023.7.22
+certifi==2024.2.2
     # via minio
-charset-normalizer==3.2.0
-    # via aiohttp
-configparser==6.0.0
+configparser==6.0.1
     # via minio
-frozenlist==1.4.0
+frozenlist==1.4.1
     # via
     #   aiohttp
     #   aiosignal
-fsspec==2023.9.1
+fsspec==2024.3.1
     # via s3fs
-idna==3.4
+idna==3.6
     # via yarl
 jmespath==1.0.1
     # via botocore
 minio==6.0.2
     # via -r requirements.in
-multidict==6.0.4
+multidict==6.0.5
     # via
     #   aiohttp
     #   yarl
@@ -46,28 +44,28 @@ numpy==1.24.4
     # via pandas
 pandas==2.0.3
     # via -r requirements.in
-python-dateutil==2.8.2
+python-dateutil==2.9.0.post0
     # via
     #   botocore
     #   minio
     #   pandas
-pytz==2023.3.post1
+pytz==2024.1
     # via
     #   minio
     #   pandas
-s3fs==2023.9.1
+s3fs==2024.3.1
     # via -r requirements.in
 six==1.16.0
     # via python-dateutil
-typing-extensions==4.8.0
+typing-extensions==4.10.0
     # via aioitertools
-tzdata==2023.3
+tzdata==2024.1
     # via pandas
-urllib3==1.26.16
+urllib3==1.26.18
     # via
     #   botocore
     #   minio
-wrapt==1.15.0
+wrapt==1.16.0
     # via aiobotocore
-yarl==1.9.2
+yarl==1.9.4
     # via aiohttp
diff --git a/tests/notebooks/mlflow/requirements.txt b/tests/notebooks/mlflow/requirements.txt
index a70e820..2eb42c6 100644
--- a/tests/notebooks/mlflow/requirements.txt
+++ b/tests/notebooks/mlflow/requirements.txt
@@ -4,21 +4,21 @@
 #
 #    pip-compile requirements.in
 #
-alembic==1.12.0
+alembic==1.13.1
     # via mlflow
-blinker==1.6.2
+blinker==1.7.0
     # via flask
-boto3==1.28.50
+boto3==1.34.70
     # via -r requirements.in
-botocore==1.31.50
+botocore==1.34.70
     # via
     #   boto3
     #   s3transfer
-certifi==2023.7.22
+certifi==2024.2.2
     # via
     #   minio
     #   requests
-charset-normalizer==3.2.0
+charset-normalizer==3.3.2
     # via requests
 click==8.1.7
     # via
@@ -29,13 +29,13 @@ cloudpickle==2.2.1
     # via
     #   mlflow
     #   shap
-configparser==6.0.0
+configparser==6.0.1
     # via minio
 contourpy==1.1.1
     # via matplotlib
-cycler==0.11.0
+cycler==0.12.1
     # via matplotlib
-databricks-cli==0.17.7
+databricks-cli==0.18.0
     # via mlflow
 docker==6.1.3
     # via mlflow
@@ -43,17 +43,17 @@ entrypoints==0.4
     # via mlflow
 flask==2.3.3
     # via mlflow
-fonttools==4.42.1
+fonttools==4.50.0
     # via matplotlib
-gitdb==4.0.10
+gitdb==4.0.11
     # via gitpython
-gitpython==3.1.36
+gitpython==3.1.42
     # via mlflow
-greenlet==2.0.2
+greenlet==3.0.3
     # via sqlalchemy
 gunicorn==20.1.0
     # via mlflow
-idna==3.4
+idna==3.6
     # via requests
 importlib-metadata==5.2.0
     # via
@@ -62,13 +62,13 @@ importlib-metadata==5.2.0
     #   markdown
     #   mlflow
     #   numba
-importlib-resources==6.0.1
+importlib-resources==6.4.0
     # via
     #   alembic
     #   matplotlib
 itsdangerous==2.1.2
     # via flask
-jinja2==3.1.2
+jinja2==3.1.3
     # via
     #   flask
     #   mlflow
@@ -80,24 +80,24 @@ joblib==1.3.2
     # via scikit-learn
 kiwisolver==1.4.5
     # via matplotlib
-llvmlite==0.40.1
+llvmlite==0.41.1
     # via numba
-mako==1.2.4
+mako==1.3.2
     # via alembic
-markdown==3.4.4
+markdown==3.6
     # via mlflow
-markupsafe==2.1.3
+markupsafe==2.1.5
     # via
     #   jinja2
     #   mako
     #   werkzeug
-matplotlib==3.7.3
+matplotlib==3.7.5
     # via mlflow
 minio==6.0.2
     # via -r requirements.in
 mlflow==2.1.1
     # via -r requirements.in
-numba==0.57.1
+numba==0.58.1
     # via shap
 numpy==1.24.4
     # via
@@ -122,17 +122,17 @@ pandas==1.5.3
     # via
     #   mlflow
     #   shap
-pillow==10.0.1
+pillow==10.2.0
     # via matplotlib
-protobuf==4.24.3
+protobuf==4.25.3
     # via mlflow
 pyarrow==10.0.1
     # via mlflow
 pyjwt==2.8.0
     # via databricks-cli
-pyparsing==3.1.1
+pyparsing==3.1.2
     # via matplotlib
-python-dateutil==2.8.2
+python-dateutil==2.9.0.post0
     # via
     #   botocore
     #   matplotlib
@@ -152,7 +152,7 @@ requests==2.31.0
     #   databricks-cli
     #   docker
     #   mlflow
-s3transfer==0.6.2
+s3transfer==0.10.1
     # via boto3
 scikit-learn==1.1.3
     # via
@@ -164,7 +164,7 @@ scipy==1.10.1
     #   mlflow
     #   scikit-learn
     #   shap
-shap==0.42.1
+shap==0.44.1
     # via mlflow
 six==1.16.0
     # via
@@ -175,7 +175,7 @@ slicer==0.0.7
     # via shap
 smmap==5.0.1
     # via gitdb
-sqlalchemy==1.4.49
+sqlalchemy==1.4.52
     # via
     #   alembic
     #   mlflow
@@ -185,24 +185,24 @@ tabulate==0.9.0
     # via databricks-cli
 tenacity==8.2.3
     # via -r requirements.in
-threadpoolctl==3.2.0
+threadpoolctl==3.4.0
     # via scikit-learn
-tqdm==4.66.1
+tqdm==4.66.2
     # via shap
-typing-extensions==4.8.0
+typing-extensions==4.10.0
     # via alembic
-urllib3==1.26.16
+urllib3==1.26.18
     # via
     #   botocore
     #   databricks-cli
     #   docker
     #   minio
     #   requests
-websocket-client==1.6.3
+websocket-client==1.7.0
     # via docker
-werkzeug==2.3.7
+werkzeug==3.0.1
     # via flask
-zipp==3.17.0
+zipp==3.18.1
     # via
     #   importlib-metadata
     #   importlib-resources
diff --git a/tests/notebooks/training/requirements.txt b/tests/notebooks/training/requirements.txt
index 15032d0..ce100b4 100644
--- a/tests/notebooks/training/requirements.txt
+++ b/tests/notebooks/training/requirements.txt
@@ -4,34 +4,34 @@
 #
 #    pip-compile requirements.in
 #
-cachetools==5.3.1
+cachetools==5.3.3
     # via google-auth
-certifi==2023.7.22
+certifi==2024.2.2
     # via
     #   kubeflow-training
     #   kubernetes
     #   requests
-charset-normalizer==3.2.0
+charset-normalizer==3.3.2
     # via requests
-google-auth==2.23.0
+google-auth==2.29.0
     # via kubernetes
-idna==3.4
+idna==3.6
     # via requests
-kubeflow-training==1.6.0
+kubeflow-training==1.7.0
     # via -r requirements.in
-kubernetes==28.1.0
+kubernetes==29.0.0
     # via kubeflow-training
 oauthlib==3.2.2
     # via
     #   kubernetes
     #   requests-oauthlib
-pyasn1==0.5.0
+pyasn1==0.5.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.3.0
     # via google-auth
-python-dateutil==2.8.2
+python-dateutil==2.9.0.post0
     # via kubernetes
 pyyaml==6.0.1
     # via kubernetes
@@ -39,7 +39,7 @@ requests==2.31.0
     # via
     #   kubernetes
     #   requests-oauthlib
-requests-oauthlib==1.3.1
+requests-oauthlib==2.0.0
     # via kubernetes
 retrying==1.3.4
     # via kubeflow-training
@@ -53,13 +53,12 @@ six==1.16.0
     #   retrying
 tenacity==8.2.3
     # via -r requirements.in
-urllib3==1.26.16
+urllib3==2.2.1
     # via
-    #   google-auth
     #   kubeflow-training
     #   kubernetes
     #   requests
-websocket-client==1.6.3
+websocket-client==1.7.0
     # via kubernetes
 
 # The following packages are considered to be unsafe in a requirements file: