From 8e149e7c3eadbbda5ce5e34d7f31fdc22d36de77 Mon Sep 17 00:00:00 2001 From: Orfeas Kourkakis Date: Fri, 13 Dec 2024 14:23:38 +0200 Subject: [PATCH] chore: update python dependencies + pin pip, blinker (#418) * Pin pip to 24.2 due to https://github.com/jazzband/pip-tools/issues/2131 * Update python dependencies using 'tox -e update-requirements' * Remove mocking of private ops class according to canonical/operator#1369 and canonical/seldon-core-operator#268 * Pin blinker due to seleniumbase/SeleniumBase#2782 Ref canonical/bundle-kubeflow#1177 --- .../jupyter-controller/requirements-fmt.txt | 16 +- .../requirements-integration.txt | 84 ++++---- .../jupyter-controller/requirements-lint.txt | 30 +-- .../jupyter-controller/requirements-unit.txt | 179 ++++++++++++++---- charms/jupyter-controller/requirements.txt | 167 ++++++++++++---- .../tests/unit/test_operator.py | 13 -- charms/jupyter-controller/tox.ini | 2 + charms/jupyter-ui/requirements-fmt.txt | 16 +- .../jupyter-ui/requirements-integration.txt | 99 +++++----- charms/jupyter-ui/requirements-lint.txt | 30 +-- charms/jupyter-ui/requirements-unit.txt | 175 +++++++++++++---- charms/jupyter-ui/requirements.txt | 165 ++++++++++++---- charms/jupyter-ui/tox.ini | 2 + requirements-fmt.txt | 16 +- requirements-integration.in | 2 + requirements-integration.txt | 155 +++++++-------- requirements-lint.txt | 30 +-- tox.ini | 2 + 18 files changed, 798 insertions(+), 385 deletions(-) diff --git a/charms/jupyter-controller/requirements-fmt.txt b/charms/jupyter-controller/requirements-fmt.txt index a0318fe1..9aa22f98 100644 --- a/charms/jupyter-controller/requirements-fmt.txt +++ b/charms/jupyter-controller/requirements-fmt.txt @@ -4,21 +4,21 @@ # # pip-compile requirements-fmt.in # -black==23.7.0 +black==24.8.0 # via -r requirements-fmt.in -click==8.1.6 +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.2 # via black -pathspec==0.11.2 +pathspec==0.12.1 # via black -platformdirs==3.10.0 +platformdirs==4.3.6 # via black -tomli==2.0.1 +tomli==2.2.1 # via black -typing-extensions==4.7.1 +typing-extensions==4.12.2 # via black diff --git a/charms/jupyter-controller/requirements-integration.txt b/charms/jupyter-controller/requirements-integration.txt index 7e4418c0..6b45aeb1 100644 --- a/charms/jupyter-controller/requirements-integration.txt +++ b/charms/jupyter-controller/requirements-integration.txt @@ -4,33 +4,35 @@ # # pip-compile requirements-integration.in # -anyio==4.4.0 +anyio==4.5.2 # via httpx -asttokens==2.4.1 +asttokens==3.0.0 # via stack-data -attrs==23.2.0 +attrs==24.2.0 # via jsonschema backcall==0.2.0 # via ipython -bcrypt==4.1.3 +backports-strenum==1.3.1 + # via juju +bcrypt==4.2.1 # via paramiko -cachetools==5.3.3 +cachetools==5.5.0 # via google-auth -certifi==2024.6.2 +certifi==2024.8.30 # via # httpcore # httpx # kubernetes # requests -cffi==1.16.0 +cffi==1.17.1 # via # cryptography # pynacl -charmed-kubeflow-chisme==0.4.1 +charmed-kubeflow-chisme==0.4.3 # via -r requirements-integration.in -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via requests -cryptography==42.0.8 +cryptography==44.0.0 # via paramiko decorator==5.1.1 # via @@ -38,30 +40,30 @@ decorator==5.1.1 # ipython deepdiff==6.2.1 # via charmed-kubeflow-chisme -exceptiongroup==1.2.1 +exceptiongroup==1.2.2 # via # anyio # pytest -executing==2.0.1 +executing==2.1.0 # via stack-data -google-auth==2.30.0 +google-auth==2.36.0 # via kubernetes h11==0.14.0 # via httpcore -httpcore==1.0.5 +httpcore==1.0.7 # via httpx -httpx==0.27.0 +httpx==0.27.2 # via # -r requirements-integration.in # lightkube -hvac==2.2.0 +hvac==2.3.0 # via juju -idna==3.7 +idna==3.10 # via # anyio # httpx # requests -importlib-resources==6.4.0 +importlib-resources==6.4.5 # via jsonschema iniconfig==2.0.0 # via pytest @@ -69,7 +71,7 @@ ipdb==0.13.13 # via pytest-operator ipython==8.12.3 # via ipdb -jedi==0.19.1 +jedi==0.19.2 # via ipython jinja2==3.1.4 # via @@ -77,18 +79,18 @@ jinja2==3.1.4 # pytest-operator jsonschema==4.17.3 # via serialized-data-interface -juju==3.5.0.0 +juju==3.6.0.0 # via # -r requirements-integration.in # charmed-kubeflow-chisme # pytest-operator kubernetes==30.1.0 # via juju -lightkube==0.15.2 +lightkube==0.15.6 # via # -r requirements-integration.in # charmed-kubeflow-chisme -lightkube-models==1.30.0.8 +lightkube-models==1.31.1.8 # via lightkube macaroonbakery==1.3.4 # via juju @@ -102,17 +104,17 @@ oauthlib==3.2.2 # via # kubernetes # requests-oauthlib -ops==2.14.0 +ops==2.17.1 # via # charmed-kubeflow-chisme # serialized-data-interface ordered-set==4.1.0 # via deepdiff -packaging==24.1 +packaging==24.2 # via # juju # pytest -paramiko==3.4.0 +paramiko==3.5.0 # via juju parso==0.8.4 # via jedi @@ -124,20 +126,20 @@ pkgutil-resolve-name==1.3.10 # via jsonschema pluggy==1.5.0 # via pytest -prompt-toolkit==3.0.47 +prompt-toolkit==3.0.48 # via ipython -protobuf==5.27.1 +protobuf==5.29.1 # via macaroonbakery ptyprocess==0.7.0 # via pexpect -pure-eval==0.2.2 +pure-eval==0.2.3 # via stack-data -pyasn1==0.6.0 +pyasn1==0.6.1 # via # juju # pyasn1-modules # rsa -pyasn1-modules==0.4.0 +pyasn1-modules==0.4.1 # via google-auth pycparser==2.22 # via cffi @@ -156,20 +158,20 @@ pyrfc3339==1.1 # macaroonbakery pyrsistent==0.20.0 # via jsonschema -pytest==8.2.2 +pytest==8.3.4 # via # -r requirements-integration.in # pytest-asyncio # pytest-operator pytest-asyncio==0.21.2 # via pytest-operator -pytest-operator==0.35.0 +pytest-operator==0.38.0 # via -r requirements-integration.in python-dateutil==2.9.0.post0 # via kubernetes -pytz==2024.1 +pytz==2024.2 # via pyrfc3339 -pyyaml==6.0.1 +pyyaml==6.0.2 # via # -r requirements-integration.in # juju @@ -196,9 +198,8 @@ ruamel-yaml-clib==0.2.8 # via ruamel-yaml serialized-data-interface==0.7.0 # via charmed-kubeflow-chisme -six==1.16.0 +six==1.17.0 # via - # asttokens # kubernetes # macaroonbakery # pymacaroons @@ -209,11 +210,11 @@ sniffio==1.3.1 # httpx stack-data==0.6.3 # via ipython -tenacity==8.3.0 +tenacity==9.0.0 # via # -r requirements-integration.in # charmed-kubeflow-chisme -tomli==2.0.1 +tomli==2.2.1 # via # ipdb # pytest @@ -227,10 +228,11 @@ typing-extensions==4.12.2 # via # anyio # ipython + # juju # typing-inspect typing-inspect==0.9.0 # via juju -urllib3==2.2.1 +urllib3==2.2.3 # via # kubernetes # requests @@ -240,7 +242,7 @@ websocket-client==1.8.0 # via # kubernetes # ops -websockets==12.0 +websockets==13.1 # via juju -zipp==3.19.2 +zipp==3.20.2 # via importlib-resources diff --git a/charms/jupyter-controller/requirements-lint.txt b/charms/jupyter-controller/requirements-lint.txt index 1edc2e8c..36e07981 100644 --- a/charms/jupyter-controller/requirements-lint.txt +++ b/charms/jupyter-controller/requirements-lint.txt @@ -4,47 +4,47 @@ # # pip-compile requirements-lint.in # -black==23.7.0 +black==24.8.0 # via -r requirements-lint.in -click==8.1.6 +click==8.1.7 # via black -codespell==2.2.5 +codespell==2.3.0 # via -r requirements-lint.in -flake8==6.0.0 +flake8==7.0.0 # via # -r requirements-lint.in # flake8-builtins # pep8-naming # pyproject-flake8 -flake8-builtins==2.1.0 +flake8-builtins==2.5.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.2 # via black -pathspec==0.11.2 +pathspec==0.12.1 # via black -pep8-naming==0.13.3 +pep8-naming==0.14.1 # via -r requirements-lint.in -platformdirs==3.10.0 +platformdirs==4.3.6 # via black -pycodestyle==2.10.0 +pycodestyle==2.11.1 # via flake8 -pyflakes==3.0.1 +pyflakes==3.2.0 # via flake8 -pyproject-flake8==6.0.0.post1 +pyproject-flake8==7.0.0 # via -r requirements-lint.in -tomli==2.0.1 +tomli==2.2.1 # via # black # pyproject-flake8 -typing-extensions==4.7.1 +typing-extensions==4.12.2 # via black # The following packages are considered to be unsafe in a requirements file: diff --git a/charms/jupyter-controller/requirements-unit.txt b/charms/jupyter-controller/requirements-unit.txt index ffdeb906..032dd4e5 100644 --- a/charms/jupyter-controller/requirements-unit.txt +++ b/charms/jupyter-controller/requirements-unit.txt @@ -4,41 +4,60 @@ # # pip-compile requirements-unit.in # -anyio==3.7.1 - # via httpcore -attrs==23.1.0 +annotated-types==0.7.0 + # via pydantic +anyio==4.5.2 + # via httpx +attrs==24.2.0 # via jsonschema -certifi==2023.7.22 +backports-strenum==1.3.1 + # via juju +bcrypt==4.2.1 + # via paramiko +cachetools==5.5.0 + # via google-auth +certifi==2024.8.30 # via # httpcore # httpx + # kubernetes # requests -charmed-kubeflow-chisme==0.2.0 +cffi==1.17.1 + # via + # cryptography + # pynacl +charmed-kubeflow-chisme==0.4.3 # via -r requirements.in -charset-normalizer==3.2.0 +charset-normalizer==3.4.0 # via requests -cosl==0.0.12 +cosl==0.0.45 # via -r requirements.in -coverage==7.3.0 +coverage==7.6.1 # via -r requirements-unit.in +cryptography==44.0.0 + # via paramiko deepdiff==6.2.1 # via charmed-kubeflow-chisme -exceptiongroup==1.1.2 +exceptiongroup==1.2.2 # via # anyio # pytest +google-auth==2.36.0 + # via kubernetes h11==0.14.0 # via httpcore -httpcore==0.17.3 +httpcore==1.0.7 # via httpx -httpx==0.24.1 +httpx==0.27.2 # via lightkube -idna==3.4 +hvac==2.3.0 + # via juju +idna==3.10 # via # anyio # httpx # requests -importlib-resources==6.0.1 +importlib-resources==6.4.5 # via jsonschema iniconfig==2.0.0 # via pytest @@ -46,15 +65,28 @@ jinja2==3.1.4 # via charmed-kubeflow-chisme jsonschema==4.17.3 # via serialized-data-interface -lightkube==0.14.0 +juju==3.6.0.0 + # via charmed-kubeflow-chisme +kubernetes==30.1.0 + # via juju +lightkube==0.15.6 # via # -r requirements.in # charmed-kubeflow-chisme -lightkube-models==1.27.1.4 + # cosl +lightkube-models==1.31.1.8 # via lightkube -markupsafe==2.1.3 +macaroonbakery==1.3.4 + # via juju +markupsafe==2.1.5 # via jinja2 -ops==2.14.0 +mypy-extensions==1.0.0 + # via typing-inspect +oauthlib==3.2.2 + # via + # kubernetes + # requests-oauthlib +ops==2.17.1 # via # -r requirements-unit.in # -r requirements.in @@ -63,49 +95,118 @@ ops==2.14.0 # serialized-data-interface ordered-set==4.1.0 # via deepdiff -packaging==23.1 - # via pytest +packaging==24.2 + # via + # juju + # pytest +paramiko==3.5.0 + # via juju pkgutil-resolve-name==1.3.10 # via jsonschema -pluggy==1.2.0 +pluggy==1.5.0 # via pytest -pyrsistent==0.19.3 +protobuf==5.29.1 + # via macaroonbakery +pyasn1==0.6.1 + # via + # juju + # pyasn1-modules + # rsa +pyasn1-modules==0.4.1 + # via google-auth +pycparser==2.22 + # via cffi +pydantic==2.10.3 + # via cosl +pydantic-core==2.27.1 + # via pydantic +pymacaroons==0.13.0 + # via macaroonbakery +pynacl==1.5.0 + # via + # macaroonbakery + # paramiko + # pymacaroons +pyrfc3339==1.1 + # via + # juju + # macaroonbakery +pyrsistent==0.20.0 # via jsonschema -pytest==7.4.0 +pytest==8.3.4 # via # -r requirements-unit.in # pytest-mock -pytest-mock==3.11.1 +pytest-mock==3.14.0 # via -r requirements-unit.in -pyyaml==6.0.1 +python-dateutil==2.9.0.post0 + # via kubernetes +pytz==2024.2 + # via pyrfc3339 +pyyaml==6.0.2 # via # -r requirements-unit.in # cosl + # juju + # kubernetes # lightkube # ops # serialized-data-interface -requests==2.31.0 - # via serialized-data-interface -ruamel-yaml==0.17.32 +requests==2.32.3 + # via + # hvac + # kubernetes + # macaroonbakery + # requests-oauthlib + # serialized-data-interface +requests-oauthlib==2.0.0 + # via kubernetes +rsa==4.9 + # via google-auth +ruamel-yaml==0.18.6 # via charmed-kubeflow-chisme ruamel-yaml-clib==0.2.8 # via ruamel-yaml serialized-data-interface==0.7.0 # via charmed-kubeflow-chisme -sniffio==1.3.0 +six==1.17.0 + # via + # kubernetes + # macaroonbakery + # pymacaroons + # python-dateutil +sniffio==1.3.1 # via # anyio - # httpcore # httpx -tenacity==8.2.2 - # via charmed-kubeflow-chisme -tomli==2.0.1 +tenacity==9.0.0 + # via + # charmed-kubeflow-chisme + # cosl +tomli==2.2.1 # via pytest -typing-extensions==4.11.0 - # via cosl -urllib3==2.0.4 - # via requests -websocket-client==1.6.1 - # via ops -zipp==3.16.2 +toposort==1.10 + # via juju +typing-extensions==4.12.2 + # via + # annotated-types + # anyio + # cosl + # juju + # pydantic + # pydantic-core + # typing-inspect +typing-inspect==0.9.0 + # via juju +urllib3==2.2.3 + # via + # kubernetes + # requests +websocket-client==1.8.0 + # via + # kubernetes + # ops +websockets==13.1 + # via juju +zipp==3.20.2 # via importlib-resources diff --git a/charms/jupyter-controller/requirements.txt b/charms/jupyter-controller/requirements.txt index e9a3121d..c0047e97 100644 --- a/charms/jupyter-controller/requirements.txt +++ b/charms/jupyter-controller/requirements.txt @@ -4,51 +4,83 @@ # # pip-compile requirements.in # -anyio==3.7.1 - # via httpcore -attrs==23.1.0 +annotated-types==0.7.0 + # via pydantic +anyio==4.5.2 + # via httpx +attrs==24.2.0 # via jsonschema -certifi==2023.7.22 +backports-strenum==1.3.1 + # via juju +bcrypt==4.2.1 + # via paramiko +cachetools==5.5.0 + # via google-auth +certifi==2024.8.30 # via # httpcore # httpx + # kubernetes # requests -charmed-kubeflow-chisme==0.2.0 +cffi==1.17.1 + # via + # cryptography + # pynacl +charmed-kubeflow-chisme==0.4.3 # via -r requirements.in -charset-normalizer==3.2.0 +charset-normalizer==3.4.0 # via requests -cosl==0.0.12 +cosl==0.0.45 # via -r requirements.in +cryptography==44.0.0 + # via paramiko deepdiff==6.2.1 # via charmed-kubeflow-chisme -exceptiongroup==1.1.2 +exceptiongroup==1.2.2 # via anyio +google-auth==2.36.0 + # via kubernetes h11==0.14.0 # via httpcore -httpcore==0.17.3 +httpcore==1.0.7 # via httpx -httpx==0.24.1 +httpx==0.27.2 # via lightkube -idna==3.4 +hvac==2.3.0 + # via juju +idna==3.10 # via # anyio # httpx # requests -importlib-resources==6.0.1 +importlib-resources==6.4.5 # via jsonschema jinja2==3.1.4 # via charmed-kubeflow-chisme jsonschema==4.17.3 # via serialized-data-interface -lightkube==0.14.0 +juju==3.6.0.0 + # via charmed-kubeflow-chisme +kubernetes==30.1.0 + # via juju +lightkube==0.15.6 # via # -r requirements.in # charmed-kubeflow-chisme -lightkube-models==1.27.1.4 + # cosl +lightkube-models==1.31.1.8 # via lightkube -markupsafe==2.1.3 +macaroonbakery==1.3.4 + # via juju +markupsafe==2.1.5 # via jinja2 -ops==2.14.0 +mypy-extensions==1.0.0 + # via typing-inspect +oauthlib==3.2.2 + # via + # kubernetes + # requests-oauthlib +ops==2.17.1 # via # -r requirements.in # charmed-kubeflow-chisme @@ -56,36 +88,105 @@ ops==2.14.0 # serialized-data-interface ordered-set==4.1.0 # via deepdiff +packaging==24.2 + # via juju +paramiko==3.5.0 + # via juju pkgutil-resolve-name==1.3.10 # via jsonschema -pyrsistent==0.19.3 +protobuf==5.29.1 + # via macaroonbakery +pyasn1==0.6.1 + # via + # juju + # pyasn1-modules + # rsa +pyasn1-modules==0.4.1 + # via google-auth +pycparser==2.22 + # via cffi +pydantic==2.10.3 + # via cosl +pydantic-core==2.27.1 + # via pydantic +pymacaroons==0.13.0 + # via macaroonbakery +pynacl==1.5.0 + # via + # macaroonbakery + # paramiko + # pymacaroons +pyrfc3339==1.1 + # via + # juju + # macaroonbakery +pyrsistent==0.20.0 # via jsonschema -pyyaml==6.0.1 +python-dateutil==2.9.0.post0 + # via kubernetes +pytz==2024.2 + # via pyrfc3339 +pyyaml==6.0.2 # via # cosl + # juju + # kubernetes # lightkube # ops # serialized-data-interface -requests==2.31.0 - # via serialized-data-interface -ruamel-yaml==0.17.32 +requests==2.32.3 + # via + # hvac + # kubernetes + # macaroonbakery + # requests-oauthlib + # serialized-data-interface +requests-oauthlib==2.0.0 + # via kubernetes +rsa==4.9 + # via google-auth +ruamel-yaml==0.18.6 # via charmed-kubeflow-chisme -ruamel-yaml-clib==0.2.7 +ruamel-yaml-clib==0.2.8 # via ruamel-yaml serialized-data-interface==0.7.0 # via charmed-kubeflow-chisme -sniffio==1.3.0 +six==1.17.0 + # via + # kubernetes + # macaroonbakery + # pymacaroons + # python-dateutil +sniffio==1.3.1 # via # anyio - # httpcore # httpx -tenacity==8.2.2 - # via charmed-kubeflow-chisme -typing-extensions==4.11.0 - # via cosl -urllib3==2.0.4 - # via requests -websocket-client==1.6.1 - # via ops -zipp==3.16.2 +tenacity==9.0.0 + # via + # charmed-kubeflow-chisme + # cosl +toposort==1.10 + # via juju +typing-extensions==4.12.2 + # via + # annotated-types + # anyio + # cosl + # juju + # pydantic + # pydantic-core + # typing-inspect +typing-inspect==0.9.0 + # via juju +urllib3==2.2.3 + # via + # kubernetes + # requests +websocket-client==1.8.0 + # via + # kubernetes + # ops +websockets==13.1 + # via juju +zipp==3.20.2 # via importlib-resources diff --git a/charms/jupyter-controller/tests/unit/test_operator.py b/charms/jupyter-controller/tests/unit/test_operator.py index 91cb0688..f6c0c350 100644 --- a/charms/jupyter-controller/tests/unit/test_operator.py +++ b/charms/jupyter-controller/tests/unit/test_operator.py @@ -80,19 +80,6 @@ def test_prometheus_data_set(self, harness: Harness, mocker): harness.set_model_name("test_kubeflow") harness.begin() - mock_net_get = mocker.patch("ops.testing._TestingModelBackend.network_get") - - bind_address = "1.1.1.1" - fake_network = { - "bind-addresses": [ - { - "interface-name": "eth0", - "addresses": [{"hostname": "cassandra-tester-0", "value": bind_address}], - } - ] - } - mock_net_get.return_value = fake_network - rel_id = harness.add_relation("metrics-endpoint", "otherapp") harness.add_relation_unit(rel_id, "otherapp/0") harness.update_relation_data(rel_id, "otherapp", {}) diff --git a/charms/jupyter-controller/tox.ini b/charms/jupyter-controller/tox.ini index f629b08e..98295afe 100644 --- a/charms/jupyter-controller/tox.ini +++ b/charms/jupyter-controller/tox.ini @@ -38,6 +38,8 @@ commands = bash -c 'for pattern in "requirements.in" "requirements-fmt.in" "requirements*.in"; do find . -type f -name "$pattern" -exec bash -c "cd \$(dirname "{}") && pip-compile --resolver=backtracking \$(basename "{}")" \;; done' deps = pip-tools + # Pin due to https://github.com/jazzband/pip-tools/issues/2131 + pip==24.2 description = Update requirements files by executing pip-compile on all requirements*.in files, including those in subdirs. [testenv:fmt] diff --git a/charms/jupyter-ui/requirements-fmt.txt b/charms/jupyter-ui/requirements-fmt.txt index a0318fe1..9aa22f98 100644 --- a/charms/jupyter-ui/requirements-fmt.txt +++ b/charms/jupyter-ui/requirements-fmt.txt @@ -4,21 +4,21 @@ # # pip-compile requirements-fmt.in # -black==23.7.0 +black==24.8.0 # via -r requirements-fmt.in -click==8.1.6 +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.2 # via black -pathspec==0.11.2 +pathspec==0.12.1 # via black -platformdirs==3.10.0 +platformdirs==4.3.6 # via black -tomli==2.0.1 +tomli==2.2.1 # via black -typing-extensions==4.7.1 +typing-extensions==4.12.2 # via black diff --git a/charms/jupyter-ui/requirements-integration.txt b/charms/jupyter-ui/requirements-integration.txt index 8f34c1a4..9f6482f8 100644 --- a/charms/jupyter-ui/requirements-integration.txt +++ b/charms/jupyter-ui/requirements-integration.txt @@ -4,41 +4,45 @@ # # pip-compile requirements-integration.in # -aiohttp==3.9.5 +aiohappyeyeballs==2.4.4 + # via aiohttp +aiohttp==3.10.11 # via -r requirements-integration.in aiosignal==1.3.1 # via aiohttp -anyio==4.4.0 +anyio==4.5.2 # via httpx -asttokens==2.4.1 +asttokens==3.0.0 # via stack-data -async-timeout==4.0.3 +async-timeout==5.0.1 # via aiohttp -attrs==23.2.0 +attrs==24.2.0 # via # aiohttp # jsonschema backcall==0.2.0 # via ipython -bcrypt==4.1.3 +backports-strenum==1.3.1 + # via juju +bcrypt==4.2.1 # via paramiko -cachetools==5.3.3 +cachetools==5.5.0 # via google-auth -certifi==2024.6.2 +certifi==2024.8.30 # via # httpcore # httpx # kubernetes # requests -cffi==1.16.0 +cffi==1.17.1 # via # cryptography # pynacl -charmed-kubeflow-chisme==0.4.1 +charmed-kubeflow-chisme==0.4.3 # via -r requirements-integration.in -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via requests -cryptography==42.0.8 +cryptography==44.0.0 # via paramiko decorator==5.1.1 # via @@ -48,33 +52,33 @@ deepdiff==6.2.1 # via charmed-kubeflow-chisme dpath==2.2.0 # via -r requirements-integration.in -exceptiongroup==1.2.1 +exceptiongroup==1.2.2 # via # anyio # pytest -executing==2.0.1 +executing==2.1.0 # via stack-data -frozenlist==1.4.1 +frozenlist==1.5.0 # via # aiohttp # aiosignal -google-auth==2.30.0 +google-auth==2.36.0 # via kubernetes h11==0.14.0 # via httpcore -httpcore==1.0.5 +httpcore==1.0.7 # via httpx -httpx==0.27.0 +httpx==0.27.2 # via lightkube -hvac==2.2.0 +hvac==2.3.0 # via juju -idna==3.7 +idna==3.10 # via # anyio # httpx # requests # yarl -importlib-resources==6.4.0 +importlib-resources==6.4.5 # via jsonschema iniconfig==2.0.0 # via pytest @@ -82,7 +86,7 @@ ipdb==0.13.13 # via pytest-operator ipython==8.12.3 # via ipdb -jedi==0.19.1 +jedi==0.19.2 # via ipython jinja2==3.1.4 # via @@ -90,16 +94,16 @@ jinja2==3.1.4 # pytest-operator jsonschema==4.17.3 # via serialized-data-interface -juju==3.5.0.0 +juju==3.6.0.0 # via # -r requirements-integration.in # charmed-kubeflow-chisme # pytest-operator kubernetes==30.1.0 # via juju -lightkube==0.15.2 +lightkube==0.15.6 # via charmed-kubeflow-chisme -lightkube-models==1.30.0.8 +lightkube-models==1.31.1.8 # via lightkube macaroonbakery==1.3.4 # via juju @@ -107,7 +111,7 @@ markupsafe==2.1.5 # via jinja2 matplotlib-inline==0.1.7 # via ipython -multidict==6.0.5 +multidict==6.1.0 # via # aiohttp # yarl @@ -117,17 +121,17 @@ oauthlib==3.2.2 # via # kubernetes # requests-oauthlib -ops==2.14.0 +ops==2.17.1 # via # charmed-kubeflow-chisme # serialized-data-interface ordered-set==4.1.0 # via deepdiff -packaging==24.1 +packaging==24.2 # via # juju # pytest -paramiko==3.4.0 +paramiko==3.5.0 # via juju parso==0.8.4 # via jedi @@ -139,20 +143,22 @@ pkgutil-resolve-name==1.3.10 # via jsonschema pluggy==1.5.0 # via pytest -prompt-toolkit==3.0.47 +prompt-toolkit==3.0.48 # via ipython -protobuf==5.27.1 +propcache==0.2.0 + # via yarl +protobuf==5.29.1 # via macaroonbakery ptyprocess==0.7.0 # via pexpect -pure-eval==0.2.2 +pure-eval==0.2.3 # via stack-data -pyasn1==0.6.0 +pyasn1==0.6.1 # via # juju # pyasn1-modules # rsa -pyasn1-modules==0.4.0 +pyasn1-modules==0.4.1 # via google-auth pycparser==2.22 # via cffi @@ -171,20 +177,20 @@ pyrfc3339==1.1 # macaroonbakery pyrsistent==0.20.0 # via jsonschema -pytest==8.2.2 +pytest==8.3.4 # via # -r requirements-integration.in # pytest-asyncio # pytest-operator pytest-asyncio==0.21.2 # via pytest-operator -pytest-operator==0.35.0 +pytest-operator==0.38.0 # via -r requirements-integration.in python-dateutil==2.9.0.post0 # via kubernetes -pytz==2024.1 +pytz==2024.2 # via pyrfc3339 -pyyaml==6.0.1 +pyyaml==6.0.2 # via # -r requirements-integration.in # juju @@ -210,9 +216,8 @@ ruamel-yaml-clib==0.2.8 # via ruamel-yaml serialized-data-interface==0.7.0 # via charmed-kubeflow-chisme -six==1.16.0 +six==1.17.0 # via - # asttokens # kubernetes # macaroonbakery # pymacaroons @@ -223,11 +228,11 @@ sniffio==1.3.1 # httpx stack-data==0.6.3 # via ipython -tenacity==8.3.0 +tenacity==9.0.0 # via # -r requirements-integration.in # charmed-kubeflow-chisme -tomli==2.0.1 +tomli==2.2.1 # via # ipdb # pytest @@ -241,10 +246,12 @@ typing-extensions==4.12.2 # via # anyio # ipython + # juju + # multidict # typing-inspect typing-inspect==0.9.0 # via juju -urllib3==2.2.1 +urllib3==2.2.3 # via # kubernetes # requests @@ -254,9 +261,9 @@ websocket-client==1.8.0 # via # kubernetes # ops -websockets==12.0 +websockets==13.1 # via juju -yarl==1.9.4 +yarl==1.15.2 # via aiohttp -zipp==3.19.2 +zipp==3.20.2 # via importlib-resources diff --git a/charms/jupyter-ui/requirements-lint.txt b/charms/jupyter-ui/requirements-lint.txt index 258e74bd..8b244f68 100644 --- a/charms/jupyter-ui/requirements-lint.txt +++ b/charms/jupyter-ui/requirements-lint.txt @@ -4,54 +4,54 @@ # # pip-compile requirements-lint.in # -black==23.7.0 +black==24.8.0 # via -r requirements-lint.in -click==8.1.6 +click==8.1.7 # via black -codespell==2.2.5 +codespell==2.3.0 # via -r requirements-lint.in -flake8==6.0.0 +flake8==7.0.0 # via # -r requirements-lint.in # flake8-builtins # flake8-docstrings # pep8-naming # pyproject-flake8 -flake8-builtins==2.1.0 +flake8-builtins==2.5.0 # via -r requirements-lint.in flake8-copyright==0.2.4 # via -r requirements-lint.in flake8-docstrings==1.7.0 # 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.2 # via black -pathspec==0.11.2 +pathspec==0.12.1 # via black -pep8-naming==0.13.3 +pep8-naming==0.14.1 # via -r requirements-lint.in -platformdirs==3.10.0 +platformdirs==4.3.6 # via black -pycodestyle==2.10.0 +pycodestyle==2.11.1 # via flake8 pydocstyle==6.3.0 # via flake8-docstrings -pyflakes==3.0.1 +pyflakes==3.2.0 # via flake8 -pyproject-flake8==6.0.0.post1 +pyproject-flake8==7.0.0 # via -r requirements-lint.in snowballstemmer==2.2.0 # via pydocstyle -tomli==2.0.1 +tomli==2.2.1 # via # black # pyproject-flake8 -typing-extensions==4.7.1 +typing-extensions==4.12.2 # via black # The following packages are considered to be unsafe in a requirements file: diff --git a/charms/jupyter-ui/requirements-unit.txt b/charms/jupyter-ui/requirements-unit.txt index 41108b07..0ad8896e 100644 --- a/charms/jupyter-ui/requirements-unit.txt +++ b/charms/jupyter-ui/requirements-unit.txt @@ -4,41 +4,60 @@ # # pip-compile requirements-unit.in # -anyio==3.7.1 - # via httpcore -attrs==23.1.0 +annotated-types==0.7.0 + # via pydantic +anyio==4.5.2 + # via httpx +attrs==24.2.0 # via jsonschema -certifi==2023.7.22 +backports-strenum==1.3.1 + # via juju +bcrypt==4.2.1 + # via paramiko +cachetools==5.5.0 + # via google-auth +certifi==2024.8.30 # via # httpcore # httpx + # kubernetes # requests -charmed-kubeflow-chisme==0.2.0 +cffi==1.17.1 + # via + # cryptography + # pynacl +charmed-kubeflow-chisme==0.4.3 # via -r requirements.in -charset-normalizer==3.2.0 +charset-normalizer==3.4.0 # via requests -cosl==0.0.12 +cosl==0.0.45 # via -r requirements.in -coverage==7.3.0 +coverage==7.6.1 # via -r requirements-unit.in +cryptography==44.0.0 + # via paramiko deepdiff==6.2.1 # via charmed-kubeflow-chisme -exceptiongroup==1.1.2 +exceptiongroup==1.2.2 # via # anyio # pytest +google-auth==2.36.0 + # via kubernetes h11==0.14.0 # via httpcore -httpcore==0.17.3 +httpcore==1.0.7 # via httpx -httpx==0.24.1 +httpx==0.27.2 # via lightkube -idna==3.4 +hvac==2.3.0 + # via juju +idna==3.10 # via # anyio # httpx # requests -importlib-resources==6.0.1 +importlib-resources==6.4.5 # via jsonschema iniconfig==2.0.0 # via pytest @@ -46,15 +65,28 @@ jinja2==3.1.4 # via charmed-kubeflow-chisme jsonschema==4.17.3 # via serialized-data-interface -lightkube==0.14.0 +juju==3.6.0.0 + # via charmed-kubeflow-chisme +kubernetes==30.1.0 + # via juju +lightkube==0.15.6 # via # -r requirements.in # charmed-kubeflow-chisme -lightkube-models==1.27.1.4 + # cosl +lightkube-models==1.31.1.8 # via lightkube -markupsafe==2.1.3 +macaroonbakery==1.3.4 + # via juju +markupsafe==2.1.5 # via jinja2 -ops==2.14.0 +mypy-extensions==1.0.0 + # via typing-inspect +oauthlib==3.2.2 + # via + # kubernetes + # requests-oauthlib +ops==2.17.1 # via # -r requirements-unit.in # -r requirements.in @@ -63,27 +95,72 @@ ops==2.14.0 # serialized-data-interface ordered-set==4.1.0 # via deepdiff -packaging==23.1 - # via pytest +packaging==24.2 + # via + # juju + # pytest +paramiko==3.5.0 + # via juju pkgutil-resolve-name==1.3.10 # via jsonschema -pluggy==1.2.0 +pluggy==1.5.0 # via pytest -pyrsistent==0.19.3 +protobuf==5.29.1 + # via macaroonbakery +pyasn1==0.6.1 + # via + # juju + # pyasn1-modules + # rsa +pyasn1-modules==0.4.1 + # via google-auth +pycparser==2.22 + # via cffi +pydantic==2.10.3 + # via cosl +pydantic-core==2.27.1 + # via pydantic +pymacaroons==0.13.0 + # via macaroonbakery +pynacl==1.5.0 + # via + # macaroonbakery + # paramiko + # pymacaroons +pyrfc3339==1.1 + # via + # juju + # macaroonbakery +pyrsistent==0.20.0 # via jsonschema -pytest==7.4.0 +pytest==8.3.4 # via -r requirements-unit.in -pyyaml==6.0.1 +python-dateutil==2.9.0.post0 + # via kubernetes +pytz==2024.2 + # via pyrfc3339 +pyyaml==6.0.2 # via # -r requirements-unit.in # -r requirements.in # cosl + # juju + # kubernetes # lightkube # ops # serialized-data-interface -requests==2.31.0 - # via serialized-data-interface -ruamel-yaml==0.17.32 +requests==2.32.3 + # via + # hvac + # kubernetes + # macaroonbakery + # requests-oauthlib + # serialized-data-interface +requests-oauthlib==2.0.0 + # via kubernetes +rsa==4.9 + # via google-auth +ruamel-yaml==0.18.6 # via charmed-kubeflow-chisme ruamel-yaml-clib==0.2.8 # via ruamel-yaml @@ -91,20 +168,44 @@ serialized-data-interface==0.3.6 # via # -r requirements.in # charmed-kubeflow-chisme -sniffio==1.3.0 +six==1.17.0 + # via + # kubernetes + # macaroonbakery + # pymacaroons + # python-dateutil +sniffio==1.3.1 # via # anyio - # httpcore # httpx -tenacity==8.2.2 - # via charmed-kubeflow-chisme -tomli==2.0.1 +tenacity==9.0.0 + # via + # charmed-kubeflow-chisme + # cosl +tomli==2.2.1 # via pytest +toposort==1.10 + # via juju typing-extensions==4.12.2 - # via cosl -urllib3==2.0.4 - # via requests -websocket-client==1.6.1 - # via ops -zipp==3.16.2 + # via + # annotated-types + # anyio + # cosl + # juju + # pydantic + # pydantic-core + # typing-inspect +typing-inspect==0.9.0 + # via juju +urllib3==2.2.3 + # via + # kubernetes + # requests +websocket-client==1.8.0 + # via + # kubernetes + # ops +websockets==13.1 + # via juju +zipp==3.20.2 # via importlib-resources diff --git a/charms/jupyter-ui/requirements.txt b/charms/jupyter-ui/requirements.txt index c534a6e7..1b3bc1ab 100644 --- a/charms/jupyter-ui/requirements.txt +++ b/charms/jupyter-ui/requirements.txt @@ -4,51 +4,83 @@ # # pip-compile requirements.in # -anyio==3.7.1 - # via httpcore -attrs==23.1.0 +annotated-types==0.7.0 + # via pydantic +anyio==4.5.2 + # via httpx +attrs==24.2.0 # via jsonschema -certifi==2023.7.22 +backports-strenum==1.3.1 + # via juju +bcrypt==4.2.1 + # via paramiko +cachetools==5.5.0 + # via google-auth +certifi==2024.8.30 # via # httpcore # httpx + # kubernetes # requests -charmed-kubeflow-chisme==0.2.0 +cffi==1.17.1 + # via + # cryptography + # pynacl +charmed-kubeflow-chisme==0.4.3 # via -r requirements.in -charset-normalizer==3.2.0 +charset-normalizer==3.4.0 # via requests -cosl==0.0.12 +cosl==0.0.45 # via -r requirements.in +cryptography==44.0.0 + # via paramiko deepdiff==6.2.1 # via charmed-kubeflow-chisme -exceptiongroup==1.1.2 +exceptiongroup==1.2.2 # via anyio +google-auth==2.36.0 + # via kubernetes h11==0.14.0 # via httpcore -httpcore==0.17.3 +httpcore==1.0.7 # via httpx -httpx==0.24.1 +httpx==0.27.2 # via lightkube -idna==3.4 +hvac==2.3.0 + # via juju +idna==3.10 # via # anyio # httpx # requests -importlib-resources==6.0.1 +importlib-resources==6.4.5 # via jsonschema jinja2==3.1.4 # via charmed-kubeflow-chisme jsonschema==4.17.3 # via serialized-data-interface -lightkube==0.14.0 +juju==3.6.0.0 + # via charmed-kubeflow-chisme +kubernetes==30.1.0 + # via juju +lightkube==0.15.6 # via # -r requirements.in # charmed-kubeflow-chisme -lightkube-models==1.27.1.4 + # cosl +lightkube-models==1.31.1.8 # via lightkube -markupsafe==2.1.3 +macaroonbakery==1.3.4 + # via juju +markupsafe==2.1.5 # via jinja2 -ops==2.14.0 +mypy-extensions==1.0.0 + # via typing-inspect +oauthlib==3.2.2 + # via + # kubernetes + # requests-oauthlib +ops==2.17.1 # via # -r requirements.in # charmed-kubeflow-chisme @@ -56,39 +88,108 @@ ops==2.14.0 # serialized-data-interface ordered-set==4.1.0 # via deepdiff +packaging==24.2 + # via juju +paramiko==3.5.0 + # via juju pkgutil-resolve-name==1.3.10 # via jsonschema -pyrsistent==0.19.3 +protobuf==5.29.1 + # via macaroonbakery +pyasn1==0.6.1 + # via + # juju + # pyasn1-modules + # rsa +pyasn1-modules==0.4.1 + # via google-auth +pycparser==2.22 + # via cffi +pydantic==2.10.3 + # via cosl +pydantic-core==2.27.1 + # via pydantic +pymacaroons==0.13.0 + # via macaroonbakery +pynacl==1.5.0 + # via + # macaroonbakery + # paramiko + # pymacaroons +pyrfc3339==1.1 + # via + # juju + # macaroonbakery +pyrsistent==0.20.0 # via jsonschema -pyyaml==6.0.1 +python-dateutil==2.9.0.post0 + # via kubernetes +pytz==2024.2 + # via pyrfc3339 +pyyaml==6.0.2 # via # -r requirements.in # cosl + # juju + # kubernetes # lightkube # ops # serialized-data-interface -requests==2.31.0 - # via serialized-data-interface -ruamel-yaml==0.17.32 +requests==2.32.3 + # via + # hvac + # kubernetes + # macaroonbakery + # requests-oauthlib + # serialized-data-interface +requests-oauthlib==2.0.0 + # via kubernetes +rsa==4.9 + # via google-auth +ruamel-yaml==0.18.6 # via charmed-kubeflow-chisme -ruamel-yaml-clib==0.2.7 +ruamel-yaml-clib==0.2.8 # via ruamel-yaml serialized-data-interface==0.3.6 # via # -r requirements.in # charmed-kubeflow-chisme -sniffio==1.3.0 +six==1.17.0 + # via + # kubernetes + # macaroonbakery + # pymacaroons + # python-dateutil +sniffio==1.3.1 # via # anyio - # httpcore # httpx -tenacity==8.2.2 - # via charmed-kubeflow-chisme +tenacity==9.0.0 + # via + # charmed-kubeflow-chisme + # cosl +toposort==1.10 + # via juju typing-extensions==4.12.2 - # via cosl -urllib3==2.0.4 - # via requests -websocket-client==1.6.1 - # via ops -zipp==3.16.2 + # via + # annotated-types + # anyio + # cosl + # juju + # pydantic + # pydantic-core + # typing-inspect +typing-inspect==0.9.0 + # via juju +urllib3==2.2.3 + # via + # kubernetes + # requests +websocket-client==1.8.0 + # via + # kubernetes + # ops +websockets==13.1 + # via juju +zipp==3.20.2 # via importlib-resources diff --git a/charms/jupyter-ui/tox.ini b/charms/jupyter-ui/tox.ini index f629b08e..98295afe 100644 --- a/charms/jupyter-ui/tox.ini +++ b/charms/jupyter-ui/tox.ini @@ -38,6 +38,8 @@ commands = bash -c 'for pattern in "requirements.in" "requirements-fmt.in" "requirements*.in"; do find . -type f -name "$pattern" -exec bash -c "cd \$(dirname "{}") && pip-compile --resolver=backtracking \$(basename "{}")" \;; done' deps = pip-tools + # Pin due to https://github.com/jazzband/pip-tools/issues/2131 + pip==24.2 description = Update requirements files by executing pip-compile on all requirements*.in files, including those in subdirs. [testenv:fmt] diff --git a/requirements-fmt.txt b/requirements-fmt.txt index a0318fe1..9aa22f98 100644 --- a/requirements-fmt.txt +++ b/requirements-fmt.txt @@ -4,21 +4,21 @@ # # pip-compile requirements-fmt.in # -black==23.7.0 +black==24.8.0 # via -r requirements-fmt.in -click==8.1.6 +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.2 # via black -pathspec==0.11.2 +pathspec==0.12.1 # via black -platformdirs==3.10.0 +platformdirs==4.3.6 # via black -tomli==2.0.1 +tomli==2.2.1 # via black -typing-extensions==4.7.1 +typing-extensions==4.12.2 # via black diff --git a/requirements-integration.in b/requirements-integration.in index 4910e2f4..a4656f3c 100644 --- a/requirements-integration.in +++ b/requirements-integration.in @@ -8,3 +8,5 @@ requests selenium selenium-wire tenacity +# Pin due to https://github.com/seleniumbase/SeleniumBase/issues/2782 +blinker===1.7.0 diff --git a/requirements-integration.txt b/requirements-integration.txt index 00c999b7..caeafae7 100644 --- a/requirements-integration.txt +++ b/requirements-integration.txt @@ -4,25 +4,29 @@ # # pip-compile requirements-integration.in # -anyio==4.0.0 - # via httpcore -asttokens==2.4.0 +anyio==4.5.2 + # via httpx +asttokens==3.0.0 # via stack-data -attrs==23.1.0 +attrs==24.2.0 # via # outcome # trio backcall==0.2.0 # via ipython -bcrypt==4.0.1 +backports-strenum==1.3.1 + # via juju +bcrypt==4.2.1 # via paramiko -blinker==1.6.2 - # via selenium-wire +blinker===1.7.0 + # via + # -r requirements-integration.in + # selenium-wire brotli==1.1.0 # via selenium-wire -cachetools==5.3.1 +cachetools==5.5.0 # via google-auth -certifi==2023.7.22 +certifi==2024.8.30 # via # httpcore # httpx @@ -30,13 +34,13 @@ certifi==2023.7.22 # requests # selenium # selenium-wire -cffi==1.15.1 +cffi==1.17.1 # via # cryptography # pynacl -charset-normalizer==3.2.0 +charset-normalizer==3.4.0 # via requests -cryptography==41.0.3 +cryptography==44.0.0 # via # paramiko # pyopenssl @@ -44,15 +48,15 @@ decorator==5.1.1 # via # ipdb # ipython -exceptiongroup==1.1.3 +exceptiongroup==1.2.2 # via # anyio # pytest # trio # trio-websocket -executing==1.2.0 +executing==2.1.0 # via stack-data -google-auth==2.17.3 +google-auth==2.36.0 # via kubernetes h11==0.14.0 # via @@ -62,17 +66,17 @@ h2==4.1.0 # via selenium-wire hpack==4.0.0 # via h2 -httpcore==0.17.3 +httpcore==1.0.7 # via httpx -httpx==0.24.1 +httpx==0.27.2 # via lightkube -hvac==1.2.0 +hvac==2.3.0 # via juju hyperframe==6.0.1 # via # h2 # selenium-wire -idna==3.4 +idna==3.10 # via # anyio # httpx @@ -82,29 +86,29 @@ iniconfig==2.0.0 # via pytest ipdb==0.13.13 # via pytest-operator -ipython==8.12.2 +ipython==8.12.3 # via ipdb -jedi==0.19.0 +jedi==0.19.2 # via ipython -jinja2==3.1.2 +jinja2==3.1.4 # via pytest-operator -juju==3.2.2 +juju==3.6.0.0 # via # -r requirements-integration.in # pytest-operator kaitaistruct==0.10 # via selenium-wire -kubernetes==27.2.0 +kubernetes==30.1.0 # via juju -lightkube==0.14.0 +lightkube==0.15.6 # via -r requirements-integration.in -lightkube-models==1.28.1.4 +lightkube-models==1.31.1.8 # 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 +matplotlib-inline==0.1.7 # via ipython mypy-extensions==1.0.0 # via typing-inspect @@ -112,42 +116,42 @@ oauthlib==3.2.2 # via # kubernetes # requests-oauthlib -outcome==1.2.0 +outcome==1.3.0.post0 # via trio -packaging==23.1 - # via pytest -paramiko==2.12.0 +packaging==24.2 + # via + # juju + # pytest +paramiko==3.5.0 # via juju -parso==0.8.3 +parso==0.8.4 # via jedi -pexpect==4.8.0 +pexpect==4.9.0 # via ipython pickleshare==0.7.5 # via ipython -pluggy==1.3.0 +pluggy==1.5.0 # via pytest -prompt-toolkit==3.0.39 +prompt-toolkit==3.0.48 # via ipython -protobuf==3.20.3 +protobuf==5.29.1 # via macaroonbakery ptyprocess==0.7.0 # via pexpect -pure-eval==0.2.2 +pure-eval==0.2.3 # via stack-data -pyasn1==0.5.0 +pyasn1==0.6.1 # via # juju # pyasn1-modules # rsa # selenium-wire -pyasn1-modules==0.3.0 +pyasn1-modules==0.4.1 # via google-auth -pycparser==2.21 +pycparser==2.22 # via cffi -pygments==2.16.1 +pygments==2.18.0 # via ipython -pyhcl==0.4.5 - # via hvac pymacaroons==0.13.0 # via macaroonbakery pynacl==1.5.0 @@ -155,9 +159,9 @@ pynacl==1.5.0 # macaroonbakery # paramiko # pymacaroons -pyopenssl==23.2.0 +pyopenssl==24.3.0 # via selenium-wire -pyparsing==3.1.1 +pyparsing==3.1.4 # via selenium-wire pyrfc3339==1.1 # via @@ -167,100 +171,101 @@ pysocks==1.7.1 # via # selenium-wire # urllib3 -pytest==7.4.2 +pytest==8.3.4 # via # -r requirements-integration.in # pytest-asyncio # pytest-operator -pytest-asyncio==0.21.1 +pytest-asyncio==0.21.2 # via pytest-operator -pytest-operator==0.29.0 +pytest-operator==0.38.0 # via -r requirements-integration.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via kubernetes -pytz==2023.3.post1 +pytz==2024.2 # via pyrfc3339 -pyyaml==6.0.1 +pyyaml==6.0.2 # via # -r requirements-integration.in # juju # kubernetes # lightkube # pytest-operator -requests==2.31.0 +requests==2.32.3 # via # -r requirements-integration.in # hvac # kubernetes # macaroonbakery # requests-oauthlib -requests-oauthlib==1.3.1 +requests-oauthlib==2.0.0 # via kubernetes rsa==4.9 # via google-auth -selenium==4.12.0 +selenium==4.27.1 # via # -r requirements-integration.in # selenium-wire selenium-wire==5.1.0 # via -r requirements-integration.in -six==1.16.0 +six==1.17.0 # via - # asttokens - # google-auth # kubernetes # macaroonbakery - # paramiko # pymacaroons # python-dateutil -sniffio==1.3.0 +sniffio==1.3.1 # via # anyio - # httpcore # httpx # trio sortedcontainers==2.4.0 # via trio -stack-data==0.6.2 +stack-data==0.6.3 # via ipython -tenacity==8.2.3 +tenacity==9.0.0 # via -r requirements-integration.in -tomli==2.0.1 +tomli==2.2.1 # via # ipdb # pytest toposort==1.10 # via juju -traitlets==5.9.0 +traitlets==5.14.3 # via # ipython # matplotlib-inline -trio==0.22.2 +trio==0.27.0 # via # selenium # trio-websocket -trio-websocket==0.10.4 +trio-websocket==0.11.1 # via selenium -typing-extensions==4.7.1 +typing-extensions==4.12.2 # via + # anyio # ipython + # juju + # selenium # typing-inspect typing-inspect==0.9.0 # via juju -urllib3[socks]==2.0.4 +urllib3[socks]==2.2.3 # via # kubernetes # requests # selenium -wcwidth==0.2.6 +wcwidth==0.2.13 # via prompt-toolkit -websocket-client==1.6.2 - # via kubernetes -websockets==8.1 +websocket-client==1.8.0 + # via + # kubernetes + # selenium +websockets==13.1 # via juju wsproto==1.2.0 # via # selenium-wire # trio-websocket -zstandard==0.21.0 +zstandard==0.23.0 # via selenium-wire diff --git a/requirements-lint.txt b/requirements-lint.txt index 1edc2e8c..36e07981 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -4,47 +4,47 @@ # # pip-compile requirements-lint.in # -black==23.7.0 +black==24.8.0 # via -r requirements-lint.in -click==8.1.6 +click==8.1.7 # via black -codespell==2.2.5 +codespell==2.3.0 # via -r requirements-lint.in -flake8==6.0.0 +flake8==7.0.0 # via # -r requirements-lint.in # flake8-builtins # pep8-naming # pyproject-flake8 -flake8-builtins==2.1.0 +flake8-builtins==2.5.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.2 # via black -pathspec==0.11.2 +pathspec==0.12.1 # via black -pep8-naming==0.13.3 +pep8-naming==0.14.1 # via -r requirements-lint.in -platformdirs==3.10.0 +platformdirs==4.3.6 # via black -pycodestyle==2.10.0 +pycodestyle==2.11.1 # via flake8 -pyflakes==3.0.1 +pyflakes==3.2.0 # via flake8 -pyproject-flake8==6.0.0.post1 +pyproject-flake8==7.0.0 # via -r requirements-lint.in -tomli==2.0.1 +tomli==2.2.1 # via # black # pyproject-flake8 -typing-extensions==4.7.1 +typing-extensions==4.12.2 # via black # The following packages are considered to be unsafe in a requirements file: diff --git a/tox.ini b/tox.ini index e691bec3..f3e27bde 100644 --- a/tox.ini +++ b/tox.ini @@ -35,6 +35,8 @@ commands = bash -c 'for pattern in "requirements.in" "requirements-fmt.in" "requirements*.in"; do find . -type f -name "$pattern" -exec bash -c "cd \$(dirname "{}") && pip-compile --resolver=backtracking \$(basename "{}")" \;; done' deps = pip-tools + # Pin due to https://github.com/jazzband/pip-tools/issues/2131 + pip==24.2 description = Update requirements files by executing pip-compile on all requirements*.in files, including those in subdirs. [testenv:fmt]