From 80e1c0eb517ed3ad864a4c190a389234e30d61cd Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 11:46:30 +0200 Subject: [PATCH 01/30] typing-extensions upgraded to 3.10.0.2 --- api/tests/requirements.txt | 2 +- packages/models-library/requirements/_base.txt | 2 +- packages/models-library/requirements/_test.txt | 2 +- packages/postgres-database/requirements/_test.txt | 2 +- packages/service-integration/requirements/_base.txt | 2 +- packages/settings-library/requirements/_base.txt | 2 +- packages/simcore-sdk/requirements/_base.txt | 2 +- packages/simcore-sdk/requirements/_test.txt | 2 +- services/catalog/requirements/_base.txt | 2 +- services/catalog/requirements/_test.txt | 2 +- services/datcore-adapter/requirements/_base.txt | 2 +- services/director-v2/requirements/_base.txt | 2 +- services/director-v2/requirements/_test.txt | 2 +- services/dynamic-sidecar/requirements/_base.txt | 2 +- services/dynamic-sidecar/requirements/_tools.txt | 2 +- services/storage/requirements/_base.txt | 3 +-- services/storage/requirements/_test.txt | 2 +- services/storage/requirements/_tools.txt | 2 +- services/web/server/requirements/_base.txt | 2 +- services/web/server/requirements/_packages.txt | 2 +- services/web/server/requirements/_test.txt | 2 +- tests/e2e/requirements/requirements.txt | 2 +- tests/environment-setup/requirements/requirements.txt | 7 +++---- 23 files changed, 25 insertions(+), 27 deletions(-) diff --git a/api/tests/requirements.txt b/api/tests/requirements.txt index af4b3c51d2f..5f748b2f809 100644 --- a/api/tests/requirements.txt +++ b/api/tests/requirements.txt @@ -99,7 +99,7 @@ toml==0.10.2 # via # pytest # pytest-cov -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via aiohttp werkzeug==2.0.1 # via openapi-core diff --git a/packages/models-library/requirements/_base.txt b/packages/models-library/requirements/_base.txt index 2439b2b0217..fbdb5b5d27f 100644 --- a/packages/models-library/requirements/_base.txt +++ b/packages/models-library/requirements/_base.txt @@ -16,5 +16,5 @@ pydantic==1.8.2 # via # -c requirements/../../../requirements/constraints.txt # -r requirements/_base.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via pydantic diff --git a/packages/models-library/requirements/_test.txt b/packages/models-library/requirements/_test.txt index b1e2f12e110..b7c135584d6 100644 --- a/packages/models-library/requirements/_test.txt +++ b/packages/models-library/requirements/_test.txt @@ -123,7 +123,7 @@ toml==0.10.2 # pylint # pytest # pytest-cov -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp diff --git a/packages/postgres-database/requirements/_test.txt b/packages/postgres-database/requirements/_test.txt index 48be83bec0e..e5234fc5c2f 100644 --- a/packages/postgres-database/requirements/_test.txt +++ b/packages/postgres-database/requirements/_test.txt @@ -173,7 +173,7 @@ toml==0.10.2 # pylint # pytest # pytest-cov -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via aiohttp urllib3==1.26.6 # via diff --git a/packages/service-integration/requirements/_base.txt b/packages/service-integration/requirements/_base.txt index 91de340e782..3f778b3de2c 100644 --- a/packages/service-integration/requirements/_base.txt +++ b/packages/service-integration/requirements/_base.txt @@ -57,7 +57,7 @@ six==1.16.0 # via jsonschema toml==0.10.2 # via pytest -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via pydantic urllib3==1.26.6 # via diff --git a/packages/settings-library/requirements/_base.txt b/packages/settings-library/requirements/_base.txt index 97bbb3cfe14..1a6472abe35 100644 --- a/packages/settings-library/requirements/_base.txt +++ b/packages/settings-library/requirements/_base.txt @@ -12,5 +12,5 @@ pydantic==1.8.2 # -r requirements/_base.in typer==0.3.2 # via -r requirements/_base.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via pydantic diff --git a/packages/simcore-sdk/requirements/_base.txt b/packages/simcore-sdk/requirements/_base.txt index a8d0cad00c1..15297fb7259 100644 --- a/packages/simcore-sdk/requirements/_base.txt +++ b/packages/simcore-sdk/requirements/_base.txt @@ -122,7 +122,7 @@ trafaret==2.1.0 # via trafaret-config trafaret-config==2.0.2 # via -r requirements/_base.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # aiohttp # pydantic diff --git a/packages/simcore-sdk/requirements/_test.txt b/packages/simcore-sdk/requirements/_test.txt index 281bc7eeb77..cb8ccd5dba9 100644 --- a/packages/simcore-sdk/requirements/_test.txt +++ b/packages/simcore-sdk/requirements/_test.txt @@ -179,7 +179,7 @@ toml==0.10.2 # pylint # pytest # pytest-cov -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp diff --git a/services/catalog/requirements/_base.txt b/services/catalog/requirements/_base.txt index a0757aa1070..72fe63abc5e 100644 --- a/services/catalog/requirements/_base.txt +++ b/services/catalog/requirements/_base.txt @@ -134,7 +134,7 @@ starlette==0.14.2 # via fastapi tenacity==6.3.1 # via -r requirements/_base.in -typing-extensions==3.7.4.3 +typing-extensions==3.10.0.2 # via pydantic ujson==4.0.2 # via fastapi diff --git a/services/catalog/requirements/_test.txt b/services/catalog/requirements/_test.txt index 82b636bc495..ac200068cf4 100644 --- a/services/catalog/requirements/_test.txt +++ b/services/catalog/requirements/_test.txt @@ -218,7 +218,7 @@ toml==0.10.2 # pylint # pytest # pytest-cov -typing-extensions==3.7.4.3 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp diff --git a/services/datcore-adapter/requirements/_base.txt b/services/datcore-adapter/requirements/_base.txt index de4b047725c..e8d7d42b5e5 100644 --- a/services/datcore-adapter/requirements/_base.txt +++ b/services/datcore-adapter/requirements/_base.txt @@ -141,7 +141,7 @@ starlette==0.14.2 # via fastapi typer==0.3.2 # via -r requirements/../../../packages/settings-library/requirements/_base.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # fastapi-pagination # pydantic diff --git a/services/director-v2/requirements/_base.txt b/services/director-v2/requirements/_base.txt index b990527a1ec..ffa4c2987e3 100644 --- a/services/director-v2/requirements/_base.txt +++ b/services/director-v2/requirements/_base.txt @@ -245,7 +245,7 @@ tornado==6.1 # distributed typer==0.3.2 # via -r requirements/../../../packages/settings-library/requirements/_base.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # aiodocker # aiohttp diff --git a/services/director-v2/requirements/_test.txt b/services/director-v2/requirements/_test.txt index 3d274cd9ba0..c4484e310ef 100644 --- a/services/director-v2/requirements/_test.txt +++ b/services/director-v2/requirements/_test.txt @@ -299,7 +299,7 @@ toml==0.10.2 # pylint # pytest # pytest-cov -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp diff --git a/services/dynamic-sidecar/requirements/_base.txt b/services/dynamic-sidecar/requirements/_base.txt index 9a34f1be690..325d0724f57 100644 --- a/services/dynamic-sidecar/requirements/_base.txt +++ b/services/dynamic-sidecar/requirements/_base.txt @@ -141,7 +141,7 @@ texttable==1.6.3 # via docker-compose typer==0.3.2 # via -r requirements/../../../packages/settings-library/requirements/_base.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # aiodocker # aiohttp diff --git a/services/dynamic-sidecar/requirements/_tools.txt b/services/dynamic-sidecar/requirements/_tools.txt index fe893181900..ccfd27ce7b8 100644 --- a/services/dynamic-sidecar/requirements/_tools.txt +++ b/services/dynamic-sidecar/requirements/_tools.txt @@ -81,7 +81,7 @@ tomli==1.2.1 # via # black # pep517 -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # black diff --git a/services/storage/requirements/_base.txt b/services/storage/requirements/_base.txt index 7533986dd6b..bf18a2980c6 100644 --- a/services/storage/requirements/_base.txt +++ b/services/storage/requirements/_base.txt @@ -179,7 +179,7 @@ typer==0.4.0 # via # -r requirements/../../../packages/settings-library/requirements/_base.in # -r requirements/_base.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # aiohttp # pydantic @@ -203,7 +203,6 @@ wrapt==1.12.1 # via aiobotocore yarl==1.5.1 # via - # -c requirements/../../../packages/service-library/requirements/././constraints.txt # -r requirements/../../../packages/postgres-database/requirements/_base.in # aiohttp diff --git a/services/storage/requirements/_test.txt b/services/storage/requirements/_test.txt index 98303396cc4..d57a7988c62 100644 --- a/services/storage/requirements/_test.txt +++ b/services/storage/requirements/_test.txt @@ -188,7 +188,7 @@ toml==0.10.2 # pylint # pytest # pytest-cov -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp diff --git a/services/storage/requirements/_tools.txt b/services/storage/requirements/_tools.txt index e0a0926383a..b956729189a 100644 --- a/services/storage/requirements/_tools.txt +++ b/services/storage/requirements/_tools.txt @@ -68,7 +68,7 @@ tomli==1.2.1 # via # black # pep517 -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # -c requirements/_test.txt diff --git a/services/web/server/requirements/_base.txt b/services/web/server/requirements/_base.txt index d937db7d45d..2137d2af250 100644 --- a/services/web/server/requirements/_base.txt +++ b/services/web/server/requirements/_base.txt @@ -209,7 +209,7 @@ sqlalchemy==1.3.24 # aiopg tqdm==4.61.1 # via parfive -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # aiohttp # aiohttp-jinja2 diff --git a/services/web/server/requirements/_packages.txt b/services/web/server/requirements/_packages.txt index 8710cb44b80..61325a98a2b 100644 --- a/services/web/server/requirements/_packages.txt +++ b/services/web/server/requirements/_packages.txt @@ -154,7 +154,7 @@ tenacity==8.0.1 # -r requirements/../../../../packages/service-library/requirements/_base.in trafaret==2.1.0 # via -r requirements/../../../../packages/service-library/requirements/_aiohttp.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp diff --git a/services/web/server/requirements/_test.txt b/services/web/server/requirements/_test.txt index 67dd7908f06..0b42210cb4d 100644 --- a/services/web/server/requirements/_test.txt +++ b/services/web/server/requirements/_test.txt @@ -298,7 +298,7 @@ toml==0.10.2 # pylint # pytest # pytest-cov -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # -c requirements/_packages.txt diff --git a/tests/e2e/requirements/requirements.txt b/tests/e2e/requirements/requirements.txt index 001118401c0..8e25d34ea0e 100644 --- a/tests/e2e/requirements/requirements.txt +++ b/tests/e2e/requirements/requirements.txt @@ -6,7 +6,7 @@ # certifi==2021.5.30 # via requests -charset-normalizer==2.0.4 +charset-normalizer==2.0.6 # via requests docker==5.0.2 # via -r requirements.in diff --git a/tests/environment-setup/requirements/requirements.txt b/tests/environment-setup/requirements/requirements.txt index 3f30767b85b..fcd14ba1b53 100644 --- a/tests/environment-setup/requirements/requirements.txt +++ b/tests/environment-setup/requirements/requirements.txt @@ -7,7 +7,6 @@ aiohttp==3.7.4.post0 # via # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/_base.in # -c requirements/../../../packages/settings-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # pytest-aiohttp @@ -15,14 +14,14 @@ async-timeout==3.0.1 # via aiohttp attrs==20.3.0 # via - # -c requirements/../../../packages/service-library/requirements/_base.in + # -c requirements/../../../packages/service-library/requirements/./constraints.txt # aiohttp # pytest chardet==4.0.0 # via aiohttp idna==2.10 # via - # -c requirements/../../../packages/service-library/requirements/_base.in + # -c requirements/../../../packages/service-library/requirements/./constraints.txt # yarl iniconfig==1.1.1 # via pytest @@ -73,7 +72,7 @@ termcolor==1.1.0 # via pytest-sugar toml==0.10.2 # via pytest -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # aiohttp # pydantic From 10bfe33900685fe6c6ab747a2987ddc9a2f78706 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 11:51:05 +0200 Subject: [PATCH 02/30] Fixes api-server ugprade after changes in service-lib (got via simcore-sdk) --- services/api-server/requirements/_base.txt | 82 ++-------------------- services/api-server/requirements/_test.txt | 12 +--- 2 files changed, 9 insertions(+), 85 deletions(-) diff --git a/services/api-server/requirements/_base.txt b/services/api-server/requirements/_base.txt index ede8c285712..c2950a4c6c8 100644 --- a/services/api-server/requirements/_base.txt +++ b/services/api-server/requirements/_base.txt @@ -22,28 +22,11 @@ aiohttp==3.7.4.post0 # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in - # aiozipkin aiopg==1.2.1 # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/_base.in -aiozipkin==0.7.1 - # via - # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt - # -c requirements/../../../requirements/constraints.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in alembic==1.6.5 # via -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in aniso8601==7.0.0 @@ -58,13 +41,11 @@ async-timeout==3.0.1 # aiopg attrs==20.3.0 # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in + # -c requirements/../../../packages/service-library/requirements/./constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/_base.in # aiohttp - # jsonschema - # openapi-core certifi==2020.12.5 # via # httpx @@ -122,13 +103,13 @@ httpx==0.18.1 # via -r requirements/_base.in idna==2.10 # via + # -c requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -r requirements/../../../packages/models-library/requirements/_base.in # -r requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # email-validator # requests # rfc3986 @@ -144,10 +125,6 @@ importlib-resources==5.1.3 ; python_version < "3.9" # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # -r requirements/_base.in -isodate==0.6.0 - # via - # openapi-core - # openapi-schema-validator itsdangerous==1.1.0 # via fastapi jinja2==2.11.3 @@ -161,17 +138,6 @@ jinja2==2.11.3 # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # fastapi -jsonschema==3.2.0 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-schema-validator - # openapi-spec-validator -lazy-object-proxy==1.4.3 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-core mako==1.1.4 # via alembic markupsafe==2.0.1 @@ -185,24 +151,12 @@ multidict==5.1.0 # yarl networkx==2.5.1 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in -openapi-core==0.12.0 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -openapi-schema-validator==0.1.5 - # via openapi-spec-validator -openapi-spec-validator==0.3.1 - # via openapi-core orjson==3.5.2 # via fastapi packaging==20.9 # via # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/_base.in -prometheus-client==0.10.1 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in promise==2.3 # via # graphql-core @@ -210,8 +164,6 @@ promise==2.3 psycopg2-binary==2.9.1 # via # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # aiopg # sqlalchemy @@ -242,8 +194,6 @@ pyinstrument-cext==0.2.4 # via pyinstrument pyparsing==2.4.7 # via packaging -pyrsistent==0.17.3 - # via jsonschema python-dateutil==2.8.2 # via alembic python-dotenv==0.17.1 @@ -267,7 +217,6 @@ pyyaml==5.4.1 # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # fastapi - # openapi-spec-validator # trafaret-config # uvicorn requests==2.25.1 @@ -283,11 +232,6 @@ six==1.16.0 # graphene # graphql-core # graphql-relay - # isodate - # jsonschema - # openapi-core - # openapi-schema-validator - # openapi-spec-validator # python-dateutil # python-multipart # tenacity @@ -308,15 +252,11 @@ sqlalchemy==1.3.24 # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # -r requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # aiopg # alembic starlette==0.14.2 # via fastapi -strict-rfc3339==0.7 - # via openapi-core tenacity==7.0.0 # via # -r requirements/../../../packages/service-library/requirements/_base.in @@ -327,13 +267,10 @@ tenacity==7.0.0 tqdm==4.60.0 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in trafaret==2.1.0 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # trafaret-config + # via trafaret-config trafaret-config==2.0.2 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # aiohttp # pydantic @@ -366,16 +303,9 @@ websocket-client==0.59.0 # docker websockets==8.1 # via uvicorn -werkzeug==2.0.1 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in yarl==1.6.3 # via # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt # -r requirements/../../../packages/postgres-database/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in # aiohttp - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/services/api-server/requirements/_test.txt b/services/api-server/requirements/_test.txt index fbe8377dc56..47f34eb693c 100644 --- a/services/api-server/requirements/_test.txt +++ b/services/api-server/requirements/_test.txt @@ -100,13 +100,9 @@ iniconfig==1.1.1 isort==5.9.3 # via pylint jsonschema==3.2.0 - # via - # -c requirements/_base.txt - # docker-compose + # via docker-compose lazy-object-proxy==1.4.3 - # via - # -c requirements/_base.txt - # astroid + # via astroid mako==1.1.4 # via # -c requirements/_base.txt @@ -152,9 +148,7 @@ pyparsing==2.4.7 # -c requirements/_base.txt # packaging pyrsistent==0.17.3 - # via - # -c requirements/_base.txt - # jsonschema + # via jsonschema pytest==6.2.4 # via # -r requirements/_test.in From f98fd96be6eed6cc37958e532552f8a73848f6a9 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 11:53:42 +0200 Subject: [PATCH 03/30] Added reminder note --- packages/simcore-sdk/requirements/ci.txt | 4 +++- packages/simcore-sdk/requirements/dev.txt | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/simcore-sdk/requirements/ci.txt b/packages/simcore-sdk/requirements/ci.txt index 73aa24c8d50..a6d404c4937 100644 --- a/packages/simcore-sdk/requirements/ci.txt +++ b/packages/simcore-sdk/requirements/ci.txt @@ -12,9 +12,11 @@ # installs this repo's packages ../postgres-database/[migration] -../service-library/ ../pytest-simcore/ ../models-library/ + +# FIXME: these dependencies should be removed +../service-library/ ../../services/storage/client-sdk/python/ # Needed ONLY for testing diff --git a/packages/simcore-sdk/requirements/dev.txt b/packages/simcore-sdk/requirements/dev.txt index 0f4f9648029..a8d8d609e7d 100644 --- a/packages/simcore-sdk/requirements/dev.txt +++ b/packages/simcore-sdk/requirements/dev.txt @@ -12,10 +12,13 @@ --requirement _tools.txt # installs this repo's packages ---editable ../postgres-database/[migration] ---editable ../service-library/ --editable ../pytest-simcore/ + +--editable ../postgres-database/[migration] --editable ../models-library/ + +# FIXME: these dependencies should be removed +--editable ../service-library/ ../../services/storage/client-sdk/python/ # Needed ONLY for testing # installs current package From 3d3c1c5a435667e51fb758ffa206db6ff0c445e9 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 11:56:15 +0200 Subject: [PATCH 04/30] Fixes dask-sidecar reqs after changes in service-lib reqs --- services/dask-sidecar/requirements/_base.txt | 104 ++-------------- .../requirements/_dask-complete.txt | 2 +- .../dask-sidecar/requirements/_packages.txt | 111 +----------------- services/dask-sidecar/requirements/_test.txt | 8 +- 4 files changed, 18 insertions(+), 207 deletions(-) diff --git a/services/dask-sidecar/requirements/_base.txt b/services/dask-sidecar/requirements/_base.txt index 10aa4e3ec7d..9e51af79730 100644 --- a/services/dask-sidecar/requirements/_base.txt +++ b/services/dask-sidecar/requirements/_base.txt @@ -18,7 +18,6 @@ aiohttp==3.7.4.post0 # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/_base.in # -c requirements/../../../packages/settings-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt @@ -27,30 +26,8 @@ aiohttp==3.7.4.post0 # -c requirements/../../../packages/simcore-sdk/requirements/_base.in # -c requirements/../../../requirements/constraints.txt # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # aiodocker - # aiozipkin # jupyter-server-proxy -aiopg==1.2.1 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -c requirements/../../../packages/simcore-sdk/requirements/_base.in - # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -aiozipkin==0.7.1 - # via - # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/_base.in - # -c requirements/../../../packages/settings-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt - # -c requirements/../../../requirements/constraints.txt - # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in alembic==1.6.5 # via # -c requirements/../../../services/sidecar/requirements/_base.txt @@ -65,16 +42,14 @@ async-timeout==3.0.1 # via # -c requirements/../../../services/sidecar/requirements/_base.txt # aiohttp - # aiopg attrs==20.2.0 # via - # -c requirements/../../../packages/service-library/requirements/_base.in + # -c requirements/../../../packages/service-library/requirements/./constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/_base.in # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # aiohttp # jsonschema - # openapi-core bleach==3.3.0 # via nbconvert blosc==1.10.4 @@ -133,12 +108,12 @@ idna==2.10 # via # -c requirements/../../../packages/models-library/requirements/_base.in # -c requirements/../../../packages/postgres-database/requirements/_base.in - # -c requirements/../../../packages/service-library/requirements/_base.in + # -c requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/../../../services/sidecar/requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # anyio # email-validator # requests @@ -148,11 +123,6 @@ ipython-genutils==0.2.0 # jupyter-server # nbformat # traitlets -isodate==0.6.0 - # via - # -c requirements/../../../services/sidecar/requirements/_base.txt - # openapi-core - # openapi-schema-validator jinja2==3.0.1 # via # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt @@ -168,13 +138,7 @@ jinja2==3.0.1 # jupyter-server # nbconvert jsonschema==3.2.0 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # nbformat - # openapi-schema-validator - # openapi-spec-validator + # via nbformat jupyter-client==6.1.12 # via # jupyter-server @@ -191,12 +155,6 @@ jupyter-server-proxy==3.0.2 # via -r requirements/_base.in jupyterlab-pygments==0.1.2 # via nbconvert -lazy-object-proxy==1.4.3 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-core locket==0.2.1 # via partd lz4==3.1.3 @@ -237,19 +195,6 @@ numpy==1.20.3 # bokeh # dask # pandas -openapi-core==0.12.0 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -openapi-schema-validator==0.1.5 - # via - # -c requirements/../../../services/sidecar/requirements/_base.txt - # openapi-spec-validator -openapi-spec-validator==0.3.1 - # via - # -c requirements/../../../services/sidecar/requirements/_base.txt - # openapi-core packaging==20.4 # via # -c requirements/../../../packages/simcore-sdk/requirements/_base.in @@ -266,22 +211,15 @@ partd==1.2.0 # via dask pillow==8.2.0 # via bokeh -prometheus_client==0.11.0 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # jupyter-server +prometheus-client==0.11.0 + # via jupyter-server psutil==5.8.0 # via distributed psycopg2-binary==2.9.1 # via - # -c requirements/../../../packages/service-library/requirements/_base.in # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt # -c requirements/../../../packages/simcore-sdk/requirements/_base.in # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # aiopg # sqlalchemy ptyprocess==0.7.0 # via terminado @@ -323,9 +261,7 @@ pyparsing==2.4.7 # -c requirements/../../../services/sidecar/requirements/_base.txt # packaging pyrsistent==0.17.3 - # via - # -c requirements/../../../services/sidecar/requirements/_base.txt - # jsonschema + # via jsonschema python-dateutil==2.8.1 # via # -c requirements/../../../services/sidecar/requirements/_base.txt @@ -358,7 +294,6 @@ pyyaml==5.4.1 # bokeh # dask # distributed - # openapi-spec-validator pyzmq==22.1.0 # via # jupyter-client @@ -376,11 +311,7 @@ six==1.15.0 # -c requirements/../../../services/sidecar/requirements/_base.txt # argon2-cffi # bleach - # isodate # jsonschema - # openapi-core - # openapi-schema-validator - # openapi-spec-validator # packaging # python-dateutil # tenacity @@ -395,7 +326,6 @@ sqlalchemy==1.3.24 # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/postgres-database/requirements/_base.in # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/_base.in # -c requirements/../../../packages/settings-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt @@ -405,13 +335,7 @@ sqlalchemy==1.3.24 # -c requirements/../../../requirements/constraints.txt # -c requirements/../../../services/sidecar/requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # aiopg # alembic -strict-rfc3339==0.7 - # via - # -c requirements/../../../services/sidecar/requirements/_base.txt - # openapi-core tblib==1.7.0 # via distributed tenacity==6.2.0 @@ -438,11 +362,6 @@ tornado==6.1 # jupyter-client # jupyter-server # terminado -trafaret==2.1.0 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in traitlets==5.0.5 # via # jupyter-client @@ -451,7 +370,7 @@ traitlets==5.0.5 # nbclient # nbconvert # nbformat -typing-extensions==3.7.4.3 +typing-extensions==3.10.0.2 # via # -c requirements/../../../services/sidecar/requirements/_base.txt # aiodocker @@ -485,11 +404,6 @@ websocket-client==0.59.0 # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # docker # jupyter-server -werkzeug==2.0.1 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -c requirements/../../../services/sidecar/requirements/_base.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in yarl==1.6.3 # via # -c requirements/../../../packages/postgres-database/requirements/_base.in diff --git a/services/dask-sidecar/requirements/_dask-complete.txt b/services/dask-sidecar/requirements/_dask-complete.txt index 37feae77e37..ff5e8ae6bec 100644 --- a/services/dask-sidecar/requirements/_dask-complete.txt +++ b/services/dask-sidecar/requirements/_dask-complete.txt @@ -119,7 +119,7 @@ tornado==6.1 # -c requirements/./_base.txt # bokeh # distributed -typing-extensions==3.7.4.3 +typing-extensions==3.10.0.2 # via # -c requirements/./_base.txt # bokeh diff --git a/services/dask-sidecar/requirements/_packages.txt b/services/dask-sidecar/requirements/_packages.txt index 023727349d1..8203bf3a0a3 100644 --- a/services/dask-sidecar/requirements/_packages.txt +++ b/services/dask-sidecar/requirements/_packages.txt @@ -33,17 +33,11 @@ aiohttp==3.7.4.post0 # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/../../../services/sidecar/requirements/_base.txt # aiodocker - # aiozipkin aiopg==1.2.1 # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/../../../services/sidecar/requirements/_base.txt aioredis==1.3.1 @@ -64,20 +58,6 @@ aiormq==3.2.3 # via # -r requirements/../../../services/sidecar/requirements/_base.txt # aio-pika -aiozipkin==0.7.1 - # via - # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt - # -c requirements/../../../requirements/constraints.txt - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../services/sidecar/requirements/_base.txt alembic==1.6.5 # via # -c requirements/_base.txt @@ -96,15 +76,13 @@ async-timeout==3.0.1 # aioredis attrs==20.2.0 # via + # -c requirements/../../../packages/service-library/requirements/./constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/../../../services/sidecar/requirements/_base.txt # aiohttp # aioredlock - # jsonschema - # openapi-core billiard==3.6.3.0 # via # -r requirements/../../../services/sidecar/requirements/_base.txt @@ -156,43 +134,22 @@ hiredis==1.1.0 # aioredis idna==2.10 # via + # -c requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/_base.txt # -r requirements/../../../packages/models-library/requirements/_base.in # -r requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../services/sidecar/requirements/_base.txt # email-validator # requests # yarl -isodate==0.6.0 - # via - # -c requirements/_base.txt - # -r requirements/../../../services/sidecar/requirements/_base.txt - # openapi-core - # openapi-schema-validator -jsonschema==3.2.0 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../services/sidecar/requirements/_base.txt - # openapi-schema-validator - # openapi-spec-validator kombu==4.6.11 # via # -r requirements/../../../services/sidecar/requirements/_base.txt # celery -lazy-object-proxy==1.4.3 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../services/sidecar/requirements/_base.txt - # openapi-core mako==1.1.4 # via # -c requirements/_base.txt @@ -214,22 +171,6 @@ networkx==2.5 # via # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/../../../services/sidecar/requirements/_base.txt -openapi-core==0.12.0 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../services/sidecar/requirements/_base.txt -openapi-schema-validator==0.1.5 - # via - # -c requirements/_base.txt - # -r requirements/../../../services/sidecar/requirements/_base.txt - # openapi-spec-validator -openapi-spec-validator==0.3.1 - # via - # -c requirements/_base.txt - # -r requirements/../../../services/sidecar/requirements/_base.txt - # openapi-core packaging==20.4 # via # -c requirements/_base.txt @@ -239,18 +180,10 @@ pamqp==2.3.0 # via # -r requirements/../../../services/sidecar/requirements/_base.txt # aiormq -prometheus_client==0.11.0 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../services/sidecar/requirements/_base.txt psycopg2-binary==2.9.1 # via # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/../../../services/sidecar/requirements/_base.txt # aiopg @@ -288,11 +221,6 @@ pyparsing==2.4.7 # -c requirements/_base.txt # -r requirements/../../../services/sidecar/requirements/_base.txt # packaging -pyrsistent==0.17.3 - # via - # -c requirements/_base.txt - # -r requirements/../../../services/sidecar/requirements/_base.txt - # jsonschema python-dateutil==2.8.1 # via # -c requirements/_base.txt @@ -322,7 +250,6 @@ pyyaml==5.4.1 # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../services/sidecar/requirements/_base.txt - # openapi-spec-validator # trafaret-config redis==3.5.3 # via -r requirements/../../../services/sidecar/requirements/_base.txt @@ -335,11 +262,6 @@ six==1.15.0 # via # -c requirements/_base.txt # -r requirements/../../../services/sidecar/requirements/_base.txt - # isodate - # jsonschema - # openapi-core - # openapi-schema-validator - # openapi-spec-validator # packaging # python-dateutil # tenacity @@ -357,17 +279,10 @@ sqlalchemy==1.3.24 # -c requirements/../../../requirements/constraints.txt # -c requirements/_base.txt # -r requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../services/sidecar/requirements/_base.txt # aiopg # alembic -strict-rfc3339==0.7 - # via - # -c requirements/_base.txt - # -r requirements/../../../services/sidecar/requirements/_base.txt - # openapi-core tenacity==6.2.0 # via # -c requirements/_base.txt @@ -379,15 +294,10 @@ tenacity==6.2.0 tqdm==4.61.1 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in trafaret==2.1.0 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../services/sidecar/requirements/_base.txt - # trafaret-config + # via trafaret-config trafaret-config==2.0.2 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in -typing-extensions==3.7.4.3 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # -r requirements/../../../services/sidecar/requirements/_base.txt @@ -425,12 +335,6 @@ websocket-client==0.59.0 # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # -r requirements/../../../services/sidecar/requirements/_base.txt # docker -werkzeug==2.0.1 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../services/sidecar/requirements/_base.txt yarl==1.6.3 # via # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt @@ -441,6 +345,3 @@ yarl==1.6.3 # aio-pika # aiohttp # aiormq - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/services/dask-sidecar/requirements/_test.txt b/services/dask-sidecar/requirements/_test.txt index a2c4f3f9c49..25d60be7ca7 100644 --- a/services/dask-sidecar/requirements/_test.txt +++ b/services/dask-sidecar/requirements/_test.txt @@ -12,7 +12,6 @@ aiohttp==3.7.4.post0 # pytest-aiohttp aiopg==1.2.1 # via - # -c requirements/_base.txt # -c requirements/_packages.txt # -r requirements/_test.in alembic==1.6.5 @@ -75,10 +74,7 @@ iniconfig==1.1.1 isort==5.9.3 # via pylint lazy-object-proxy==1.4.3 - # via - # -c requirements/_base.txt - # -c requirements/_packages.txt - # astroid + # via astroid mako==1.1.4 # via # -c requirements/_base.txt @@ -195,7 +191,7 @@ toml==0.10.2 # pylint # pytest # pytest-cov -typing-extensions==3.7.4.3 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # -c requirements/_packages.txt From 23d0b28e5eb9e56a91345cf0c2283fff7f0e8bc1 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 11:59:20 +0200 Subject: [PATCH 05/30] Fixes sidecar reqs after changes in service-lib reqs --- services/sidecar/requirements/_base.txt | 82 ++--------------- services/sidecar/requirements/_packages.txt | 98 ++------------------- services/sidecar/requirements/_test.txt | 7 +- 3 files changed, 13 insertions(+), 174 deletions(-) diff --git a/services/sidecar/requirements/_base.txt b/services/sidecar/requirements/_base.txt index b28ced1901d..5b44163ece1 100644 --- a/services/sidecar/requirements/_base.txt +++ b/services/sidecar/requirements/_base.txt @@ -23,7 +23,6 @@ aiohttp==3.7.4.post0 # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/_base.in # -c requirements/../../../packages/settings-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt @@ -31,14 +30,10 @@ aiohttp==3.7.4.post0 # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/_base.in # -c requirements/../../../requirements/constraints.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # aiodocker - # aiozipkin aiopg==1.2.1 # via - # -c requirements/../../../packages/service-library/requirements/_base.in # -c requirements/../../../packages/simcore-sdk/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/_base.in aioredis==1.3.1 # via @@ -56,19 +51,6 @@ aioredlock==0.5.2 # via -r requirements/_base.in aiormq==3.2.3 # via aio-pika -aiozipkin==0.7.1 - # via - # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/_base.in - # -c requirements/../../../packages/settings-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt - # -c requirements/../../../requirements/constraints.txt - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in alembic==1.6.5 # via -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in amqp==2.6.1 @@ -80,13 +62,11 @@ async-timeout==3.0.1 # aioredis attrs==20.2.0 # via - # -c requirements/../../../packages/service-library/requirements/_base.in + # -c requirements/../../../packages/service-library/requirements/./constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # aiohttp # aioredlock - # jsonschema - # openapi-core billiard==3.6.3.0 # via celery caio==0.6.1 @@ -117,31 +97,16 @@ idna==2.10 # via # -c requirements/../../../packages/models-library/requirements/_base.in # -c requirements/../../../packages/postgres-database/requirements/_base.in - # -c requirements/../../../packages/service-library/requirements/_base.in + # -c requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # email-validator # requests # yarl -isodate==0.6.0 - # via - # openapi-core - # openapi-schema-validator -jsonschema==3.2.0 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-schema-validator - # openapi-spec-validator kombu==4.6.11 # via celery -lazy-object-proxy==1.4.3 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-core mako==1.1.4 # via alembic markupsafe==2.0.1 @@ -155,30 +120,16 @@ networkx==2.5 # via # -c requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/_base.in -openapi-core==0.12.0 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -openapi-schema-validator==0.1.5 - # via openapi-spec-validator -openapi-spec-validator==0.3.1 - # via openapi-core packaging==20.4 # via # -c requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/_base.in pamqp==2.3.0 # via aiormq -prometheus-client==0.11.0 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in psycopg2-binary==2.9.1 # via - # -c requirements/../../../packages/service-library/requirements/_base.in # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt # -c requirements/../../../packages/simcore-sdk/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # aiopg # sqlalchemy pydantic==1.8.2 @@ -207,8 +158,6 @@ pyinstrument-cext==0.2.4 # via pyinstrument pyparsing==2.4.7 # via packaging -pyrsistent==0.17.3 - # via jsonschema python-dateutil==2.8.1 # via alembic python-editor==1.0.4 @@ -228,18 +177,12 @@ pyyaml==5.4.1 # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-spec-validator redis==3.5.3 # via celery requests==2.25.1 # via docker six==1.15.0 # via - # isodate - # jsonschema - # openapi-core - # openapi-schema-validator - # openapi-spec-validator # packaging # python-dateutil # tenacity @@ -250,7 +193,6 @@ sqlalchemy==1.3.24 # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/postgres-database/requirements/_base.in # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/_base.in # -c requirements/../../../packages/settings-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt @@ -259,12 +201,9 @@ sqlalchemy==1.3.24 # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/_base.in # aiopg # alembic -strict-rfc3339==0.7 - # via openapi-core tenacity==6.2.0 # via # -c requirements/../../../packages/service-library/requirements/_base.in @@ -272,11 +211,7 @@ tenacity==6.2.0 # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/_base.in -trafaret==2.1.0 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -typing-extensions==3.7.4.3 +typing-extensions==3.10.0.2 # via # aiodocker # aiohttp @@ -307,10 +242,6 @@ websocket-client==0.59.0 # via # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # docker -werkzeug==2.0.1 - # via - # -c requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in yarl==1.6.3 # via # -c requirements/../../../packages/postgres-database/requirements/_base.in @@ -319,6 +250,3 @@ yarl==1.6.3 # aio-pika # aiohttp # aiormq - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/services/sidecar/requirements/_packages.txt b/services/sidecar/requirements/_packages.txt index 3290d573450..bd8015c6749 100644 --- a/services/sidecar/requirements/_packages.txt +++ b/services/sidecar/requirements/_packages.txt @@ -24,29 +24,11 @@ aiohttp==3.7.4.post0 # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in - # aiozipkin aiopg==1.2.1 # via # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in -aiozipkin==0.7.1 - # via - # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt - # -c requirements/../../../requirements/constraints.txt - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in alembic==1.6.5 # via # -c requirements/_base.txt @@ -58,13 +40,11 @@ async-timeout==3.0.1 # aiopg attrs==20.2.0 # via + # -c requirements/../../../packages/service-library/requirements/./constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # aiohttp - # jsonschema - # openapi-core certifi==2021.5.30 # via # -c requirements/_base.txt @@ -96,35 +76,17 @@ email-validator==1.1.1 # pydantic idna==2.10 # via + # -c requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/_base.txt # -r requirements/../../../packages/models-library/requirements/_base.in # -r requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # email-validator # requests # yarl -isodate==0.6.0 - # via - # -c requirements/_base.txt - # openapi-core - # openapi-schema-validator -jsonschema==3.2.0 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-schema-validator - # openapi-spec-validator -lazy-object-proxy==1.4.3 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-core mako==1.1.4 # via # -c requirements/_base.txt @@ -143,34 +105,14 @@ networkx==2.5 # via # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/_base.in -openapi-core==0.12.0 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -openapi-schema-validator==0.1.5 - # via - # -c requirements/_base.txt - # openapi-spec-validator -openapi-spec-validator==0.3.1 - # via - # -c requirements/_base.txt - # openapi-core packaging==20.4 # via # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/_base.in -prometheus-client==0.11.0 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in psycopg2-binary==2.9.1 # via # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # aiopg # sqlalchemy @@ -203,10 +145,6 @@ pyparsing==2.4.7 # via # -c requirements/_base.txt # packaging -pyrsistent==0.17.3 - # via - # -c requirements/_base.txt - # jsonschema python-dateutil==2.8.1 # via # -c requirements/_base.txt @@ -228,7 +166,6 @@ pyyaml==5.4.1 # -c requirements/_base.txt # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-spec-validator # trafaret-config requests==2.25.1 # via @@ -237,11 +174,6 @@ requests==2.25.1 six==1.15.0 # via # -c requirements/_base.txt - # isodate - # jsonschema - # openapi-core - # openapi-schema-validator - # openapi-spec-validator # packaging # python-dateutil # tenacity @@ -259,15 +191,9 @@ sqlalchemy==1.3.24 # -c requirements/../../../requirements/constraints.txt # -c requirements/_base.txt # -r requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # aiopg # alembic -strict-rfc3339==0.7 - # via - # -c requirements/_base.txt - # openapi-core tenacity==6.2.0 # via # -c requirements/_base.txt @@ -278,14 +204,10 @@ tenacity==6.2.0 tqdm==4.61.1 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in trafaret==2.1.0 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # trafaret-config + # via trafaret-config trafaret-config==2.0.2 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in -typing-extensions==3.7.4.3 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp @@ -313,11 +235,6 @@ websocket-client==0.59.0 # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # docker -werkzeug==2.0.1 - # via - # -c requirements/_base.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in yarl==1.6.3 # via # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt @@ -325,6 +242,3 @@ yarl==1.6.3 # -r requirements/../../../packages/postgres-database/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in # aiohttp - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/services/sidecar/requirements/_test.txt b/services/sidecar/requirements/_test.txt index a2c4f3f9c49..4d0fbbfafa8 100644 --- a/services/sidecar/requirements/_test.txt +++ b/services/sidecar/requirements/_test.txt @@ -75,10 +75,7 @@ iniconfig==1.1.1 isort==5.9.3 # via pylint lazy-object-proxy==1.4.3 - # via - # -c requirements/_base.txt - # -c requirements/_packages.txt - # astroid + # via astroid mako==1.1.4 # via # -c requirements/_base.txt @@ -195,7 +192,7 @@ toml==0.10.2 # pylint # pytest # pytest-cov -typing-extensions==3.7.4.3 +typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # -c requirements/_packages.txt From 81017dd6e935bd29e2ebb5ce1838f2f5e4b37a75 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 11:59:42 +0200 Subject: [PATCH 06/30] Fixes swarm-deploy reqs after changes in service-lib reqs --- tests/swarm-deploy/requirements/_test.txt | 84 ++--------------------- 1 file changed, 7 insertions(+), 77 deletions(-) diff --git a/tests/swarm-deploy/requirements/_test.txt b/tests/swarm-deploy/requirements/_test.txt index 53931d386f8..b131f375bff 100644 --- a/tests/swarm-deploy/requirements/_test.txt +++ b/tests/swarm-deploy/requirements/_test.txt @@ -21,29 +21,12 @@ aiohttp==3.7.4.post0 # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in - # aiozipkin # pytest-aiohttp aiopg==1.3.1 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/_base.in + # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in aiormq==3.3.1 # via aio-pika -aiozipkin==0.7.1 - # via - # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt - # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt - # -c requirements/../../../requirements/constraints.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in alembic==1.6.5 # via # -r requirements/../../../packages/postgres-database/requirements/_migration.txt @@ -55,12 +38,10 @@ async-timeout==3.0.1 # aiopg attrs==20.3.0 # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in + # -c requirements/../../../packages/service-library/requirements/./constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # aiohttp - # jsonschema - # openapi-core # pytest certifi==2021.5.30 # via @@ -93,33 +74,18 @@ email-validator==1.1.3 # via pydantic idna==2.10 # via + # -c requirements/../../../packages/service-library/requirements/./constraints.txt # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -r requirements/../../../packages/models-library/requirements/_base.in # -r requirements/../../../packages/postgres-database/requirements/_migration.txt - # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # email-validator # requests # yarl iniconfig==1.1.1 # via pytest -isodate==0.6.0 - # via - # openapi-core - # openapi-schema-validator -jsonschema==3.2.0 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-schema-validator - # openapi-spec-validator -lazy-object-proxy==1.4.3 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # openapi-core mako==1.1.4 # via # -r requirements/../../../packages/postgres-database/requirements/_migration.txt @@ -145,14 +111,6 @@ multidict==5.1.0 # yarl networkx==2.6.2 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in -openapi-core==0.12.0 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in -openapi-schema-validator==0.1.5 - # via openapi-spec-validator -openapi-spec-validator==0.3.1 - # via openapi-core packaging==21.0 # via # -r requirements/../../../packages/simcore-sdk/requirements/_base.in @@ -162,16 +120,10 @@ pamqp==2.3.0 # via aiormq pluggy==0.13.1 # via pytest -prometheus-client==0.11.0 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in psycopg2-binary==2.9.1 # via # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt # -r requirements/../../../packages/postgres-database/requirements/_migration.txt - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # aiopg # sqlalchemy @@ -197,8 +149,6 @@ pyinstrument==4.0.2 # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in pyparsing==2.4.7 # via packaging -pyrsistent==0.18.0 - # via jsonschema pytest==6.2.4 # via # -r requirements/_test.in @@ -241,7 +191,6 @@ pyyaml==5.4.1 # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # -r requirements/_test.in - # openapi-spec-validator # trafaret-config requests==2.26.0 # via @@ -250,11 +199,6 @@ requests==2.26.0 six==1.16.0 # via # -r requirements/../../../packages/postgres-database/requirements/_migration.txt - # isodate - # jsonschema - # openapi-core - # openapi-schema-validator - # openapi-spec-validator # python-dateutil # websocket-client sqlalchemy==1.3.24 @@ -268,13 +212,9 @@ sqlalchemy==1.3.24 # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # -r requirements/../../../packages/postgres-database/requirements/_migration.txt - # -r requirements/../../../packages/service-library/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in # aiopg # alembic -strict-rfc3339==0.7 - # via openapi-core tenacity==8.0.1 # via # -r requirements/../../../packages/postgres-database/requirements/_migration.txt @@ -292,13 +232,10 @@ toml==0.10.2 tqdm==4.62.0 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in trafaret==2.1.0 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in - # trafaret-config + # via trafaret-config trafaret-config==2.0.2 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via # aiohttp # pydantic @@ -324,10 +261,6 @@ websocket-client==0.59.0 # -r requirements/../../../packages/postgres-database/requirements/_migration.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # docker -werkzeug==2.0.1 - # via - # -r requirements/../../../packages/service-library/requirements/_base.in - # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in yarl==1.6.3 # via # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt @@ -335,6 +268,3 @@ yarl==1.6.3 # aio-pika # aiohttp # aiormq - -# The following packages are considered to be unsafe in a requirements file: -# setuptools From 2f8351af7d6893ec7153eb93d2542e02b03f1920 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 12:09:00 +0200 Subject: [PATCH 07/30] upgrades all to pylint==2.11.1 --- packages/models-library/requirements/_test.txt | 6 ++++-- packages/postgres-database/requirements/_test.txt | 9 ++++++--- packages/service-integration/requirements/_test.txt | 9 +++++++-- packages/service-library/requirements/_test.txt | 6 ++++-- packages/settings-library/requirements/_test.txt | 9 +++++++-- packages/simcore-sdk/requirements/_test.txt | 6 ++++-- services/api-server/requirements/_test.txt | 9 +++++++-- services/catalog/requirements/_test.txt | 6 ++++-- services/dask-sidecar/requirements/_test.txt | 6 ++++-- services/datcore-adapter/requirements/_test.txt | 9 +++++++-- services/director-v2/requirements/_test.txt | 6 ++++-- services/dynamic-sidecar/requirements/_tools.txt | 6 ++++-- services/sidecar/requirements/_test.txt | 6 ++++-- services/storage/requirements/_test.txt | 6 ++++-- services/web/server/requirements/_test.txt | 6 ++++-- 15 files changed, 74 insertions(+), 31 deletions(-) diff --git a/packages/models-library/requirements/_test.txt b/packages/models-library/requirements/_test.txt index b7c135584d6..50cfa494aca 100644 --- a/packages/models-library/requirements/_test.txt +++ b/packages/models-library/requirements/_test.txt @@ -9,7 +9,7 @@ aiohttp==3.7.4.post0 # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # pytest-aiohttp -astroid==2.7.3 +astroid==2.8.0 # via pylint async-timeout==3.0.1 # via aiohttp @@ -71,7 +71,7 @@ psycopg2-binary==2.9.1 # via sqlalchemy py==1.10.0 # via pytest -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pyparsing==2.4.7 # via packaging @@ -127,6 +127,8 @@ typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp + # astroid + # pylint urllib3==1.26.6 # via # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt diff --git a/packages/postgres-database/requirements/_test.txt b/packages/postgres-database/requirements/_test.txt index e5234fc5c2f..24125e33e86 100644 --- a/packages/postgres-database/requirements/_test.txt +++ b/packages/postgres-database/requirements/_test.txt @@ -10,7 +10,7 @@ aiohttp==3.7.4.post0 # pytest-aiohttp aiopg==1.3.1 # via -r requirements/_test.in -astroid==2.7.3 +astroid==2.8.0 # via pylint async-timeout==3.0.1 # via @@ -107,7 +107,7 @@ py==1.10.0 # via pytest pycparser==2.20 # via cffi -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pynacl==1.4.0 # via paramiko @@ -174,7 +174,10 @@ toml==0.10.2 # pytest # pytest-cov typing-extensions==3.10.0.2 - # via aiohttp + # via + # aiohttp + # astroid + # pylint urllib3==1.26.6 # via # -c requirements/../../../requirements/constraints.txt diff --git a/packages/service-integration/requirements/_test.txt b/packages/service-integration/requirements/_test.txt index 959c6a43479..ede6da8a4b9 100644 --- a/packages/service-integration/requirements/_test.txt +++ b/packages/service-integration/requirements/_test.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/_test.txt --strip-extras requirements/_test.in # -astroid==2.7.3 +astroid==2.8.0 # via pylint attrs==21.2.0 # via @@ -56,7 +56,7 @@ py==1.10.0 # via # -c requirements/_base.txt # pytest -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pyparsing==2.4.7 # via @@ -89,6 +89,11 @@ toml==0.10.2 # pylint # pytest # pytest-cov +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # astroid + # pylint urllib3==1.26.6 # via # -c requirements/../../../requirements/constraints.txt diff --git a/packages/service-library/requirements/_test.txt b/packages/service-library/requirements/_test.txt index 9cfbc9e62f6..30ab7abbde4 100644 --- a/packages/service-library/requirements/_test.txt +++ b/packages/service-library/requirements/_test.txt @@ -9,7 +9,7 @@ aiohttp==3.7.4.post0 # -c requirements/../../../requirements/constraints.txt # -c requirements/_aiohttp.txt # pytest-aiohttp -astroid==2.7.3 +astroid==2.8.0 # via pylint async-timeout==3.0.1 # via @@ -100,7 +100,7 @@ py==1.10.0 # via pytest pycparser==2.20 # via cffi -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pynacl==1.4.0 # via paramiko @@ -168,6 +168,8 @@ typing-extensions==3.10.0.2 # -c requirements/_aiohttp.txt # -c requirements/_base.txt # aiohttp + # astroid + # pylint urllib3==1.26.6 # via # -c requirements/../../../requirements/constraints.txt diff --git a/packages/settings-library/requirements/_test.txt b/packages/settings-library/requirements/_test.txt index 54883ed7c40..c610cb52dfe 100644 --- a/packages/settings-library/requirements/_test.txt +++ b/packages/settings-library/requirements/_test.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/_test.txt --strip-extras requirements/_test.in # -astroid==2.7.3 +astroid==2.8.0 # via pylint attrs==21.2.0 # via pytest @@ -41,7 +41,7 @@ pluggy==0.13.1 # via pytest py==1.10.0 # via pytest -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pyparsing==2.4.7 # via packaging @@ -73,6 +73,11 @@ toml==0.10.2 # pylint # pytest # pytest-cov +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # astroid + # pylint urllib3==1.26.6 # via # -c requirements/../../../requirements/constraints.txt diff --git a/packages/simcore-sdk/requirements/_test.txt b/packages/simcore-sdk/requirements/_test.txt index cb8ccd5dba9..0040b6f8ee2 100644 --- a/packages/simcore-sdk/requirements/_test.txt +++ b/packages/simcore-sdk/requirements/_test.txt @@ -16,7 +16,7 @@ alembic==1.6.5 # via # -c requirements/_base.txt # -r requirements/_test.in -astroid==2.7.3 +astroid==2.8.0 # via pylint async-timeout==3.0.1 # via @@ -108,7 +108,7 @@ py==1.10.0 # via # pytest # pytest-forked -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pyparsing==2.4.7 # via @@ -183,6 +183,8 @@ typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp + # astroid + # pylint urllib3==1.26.6 # via # -c requirements/../../../requirements/constraints.txt diff --git a/services/api-server/requirements/_test.txt b/services/api-server/requirements/_test.txt index 47f34eb693c..871d2fd2e96 100644 --- a/services/api-server/requirements/_test.txt +++ b/services/api-server/requirements/_test.txt @@ -10,7 +10,7 @@ alembic==1.6.5 # -r requirements/_test.in asgi-lifespan==1.0.1 # via -r requirements/_test.in -astroid==2.7.3 +astroid==2.8.0 # via pylint attrs==20.3.0 # via @@ -139,7 +139,7 @@ pycparser==2.20 # via # -c requirements/_base.txt # cffi -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pynacl==1.4.0 # via paramiko @@ -234,6 +234,11 @@ toml==0.10.2 # pylint # pytest # pytest-cov +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # astroid + # pylint urllib3==1.26.5 # via # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt diff --git a/services/catalog/requirements/_test.txt b/services/catalog/requirements/_test.txt index ac200068cf4..d2bc885cd5e 100644 --- a/services/catalog/requirements/_test.txt +++ b/services/catalog/requirements/_test.txt @@ -10,7 +10,7 @@ aiohttp==3.7.4.post0 # pytest-aiohttp alembic==1.6.5 # via -r requirements/_test.in -astroid==2.7.3 +astroid==2.8.0 # via pylint async-timeout==3.0.1 # via @@ -135,7 +135,7 @@ py==1.10.0 # via pytest pycparser==2.20 # via cffi -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pynacl==1.4.0 # via paramiko @@ -222,6 +222,8 @@ typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp + # astroid + # pylint urllib3==1.26.5 # via # -c requirements/../../../requirements/constraints.txt diff --git a/services/dask-sidecar/requirements/_test.txt b/services/dask-sidecar/requirements/_test.txt index 25d60be7ca7..d1d064c59a9 100644 --- a/services/dask-sidecar/requirements/_test.txt +++ b/services/dask-sidecar/requirements/_test.txt @@ -19,7 +19,7 @@ alembic==1.6.5 # -c requirements/_base.txt # -c requirements/_packages.txt # -r requirements/_test.in -astroid==2.7.3 +astroid==2.8.0 # via pylint async-timeout==3.0.1 # via @@ -119,7 +119,7 @@ ptvsd==4.3.2 # via -r requirements/_test.in py==1.10.0 # via pytest -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pyparsing==2.4.7 # via @@ -196,6 +196,8 @@ typing-extensions==3.10.0.2 # -c requirements/_base.txt # -c requirements/_packages.txt # aiohttp + # astroid + # pylint urllib3==1.26.5 # via # -c requirements/../../../requirements/constraints.txt diff --git a/services/datcore-adapter/requirements/_test.txt b/services/datcore-adapter/requirements/_test.txt index 728524d7018..b60b7e4cfd6 100644 --- a/services/datcore-adapter/requirements/_test.txt +++ b/services/datcore-adapter/requirements/_test.txt @@ -10,7 +10,7 @@ anyio==3.2.1 # httpcore asgi-lifespan==1.0.1 # via -r requirements/_test.in -astroid==2.7.3 +astroid==2.8.0 # via pylint attrs==21.2.0 # via pytest @@ -83,7 +83,7 @@ py==1.10.0 # via # pytest # pytest-forked -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pyparsing==2.4.7 # via packaging @@ -151,6 +151,11 @@ toml==0.10.2 # pylint # pytest # pytest-cov +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # astroid + # pylint urllib3==1.26.6 # via # -c requirements/../../../requirements/constraints.txt diff --git a/services/director-v2/requirements/_test.txt b/services/director-v2/requirements/_test.txt index c4484e310ef..8e0d2906b6f 100644 --- a/services/director-v2/requirements/_test.txt +++ b/services/director-v2/requirements/_test.txt @@ -29,7 +29,7 @@ anyio==3.2.1 # httpcore asgi-lifespan==1.0.1 # via -r requirements/_test.in -astroid==2.7.3 +astroid==2.8.0 # via pylint async-asgi-testclient==1.4.6 # via -r requirements/_test.in @@ -196,7 +196,7 @@ py==1.10.0 # pytest-forked pycparser==2.20 # via cffi -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pynacl==1.4.0 # via paramiko @@ -303,6 +303,8 @@ typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp + # astroid + # pylint urllib3==1.26.6 # via # -c requirements/../../../requirements/constraints.txt diff --git a/services/dynamic-sidecar/requirements/_tools.txt b/services/dynamic-sidecar/requirements/_tools.txt index ccfd27ce7b8..4397c2c5781 100644 --- a/services/dynamic-sidecar/requirements/_tools.txt +++ b/services/dynamic-sidecar/requirements/_tools.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -astroid==2.7.3 +astroid==2.8.0 # via pylint backports.entry-points-selectable==1.1.0 # via virtualenv @@ -57,7 +57,7 @@ platformdirs==2.3.0 # virtualenv pre-commit==2.14.1 # via -r requirements/../../../requirements/devenv.txt -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_tools.in pyyaml==5.4.1 # via @@ -84,8 +84,10 @@ tomli==1.2.1 typing-extensions==3.10.0.2 # via # -c requirements/_base.txt + # astroid # black # mypy + # pylint virtualenv==20.7.2 # via pre-commit wheel==0.37.0 diff --git a/services/sidecar/requirements/_test.txt b/services/sidecar/requirements/_test.txt index 4d0fbbfafa8..53c426841d3 100644 --- a/services/sidecar/requirements/_test.txt +++ b/services/sidecar/requirements/_test.txt @@ -20,7 +20,7 @@ alembic==1.6.5 # -c requirements/_base.txt # -c requirements/_packages.txt # -r requirements/_test.in -astroid==2.7.3 +astroid==2.8.0 # via pylint async-timeout==3.0.1 # via @@ -120,7 +120,7 @@ ptvsd==4.3.2 # via -r requirements/_test.in py==1.10.0 # via pytest -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pyparsing==2.4.7 # via @@ -197,6 +197,8 @@ typing-extensions==3.10.0.2 # -c requirements/_base.txt # -c requirements/_packages.txt # aiohttp + # astroid + # pylint urllib3==1.26.5 # via # -c requirements/../../../requirements/constraints.txt diff --git a/services/storage/requirements/_test.txt b/services/storage/requirements/_test.txt index d57a7988c62..636966295c0 100644 --- a/services/storage/requirements/_test.txt +++ b/services/storage/requirements/_test.txt @@ -9,7 +9,7 @@ aiohttp==3.7.4.post0 # -c requirements/../../../requirements/constraints.txt # -c requirements/_base.txt # pytest-aiohttp -astroid==2.7.3 +astroid==2.8.0 # via pylint async-timeout==3.0.1 # via @@ -113,7 +113,7 @@ py==1.10.0 # via pytest pycparser==2.20 # via cffi -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pynacl==1.4.0 # via paramiko @@ -192,6 +192,8 @@ typing-extensions==3.10.0.2 # via # -c requirements/_base.txt # aiohttp + # astroid + # pylint urllib3==1.26.6 # via # -c requirements/../../../requirements/constraints.txt diff --git a/services/web/server/requirements/_test.txt b/services/web/server/requirements/_test.txt index 0b42210cb4d..acc53991f71 100644 --- a/services/web/server/requirements/_test.txt +++ b/services/web/server/requirements/_test.txt @@ -19,7 +19,7 @@ amqp==5.0.6 # via # -c requirements/_base.txt # kombu -astroid==2.7.3 +astroid==2.8.0 # via pylint async-timeout==3.0.1 # via @@ -194,7 +194,7 @@ pycparser==2.20 # via # -c requirements/_base.txt # cffi -pylint==2.10.2 +pylint==2.11.1 # via -r requirements/_test.in pynacl==1.4.0 # via paramiko @@ -303,6 +303,8 @@ typing-extensions==3.10.0.2 # -c requirements/_base.txt # -c requirements/_packages.txt # aiohttp + # astroid + # pylint urllib3==1.26.6 # via # -c requirements/../../../../requirements/constraints.txt From 4c2b90375cc46eefefd1cd8034620c178abda12c Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 12:14:21 +0200 Subject: [PATCH 08/30] upgrades to pytest 6.2.5 --- api/tests/requirements.txt | 2 +- packages/models-library/requirements/_test.txt | 2 +- packages/postgres-database/requirements/_test.txt | 2 +- packages/service-integration/requirements/_base.txt | 2 +- packages/service-integration/requirements/_test.txt | 2 +- packages/settings-library/requirements/_test.txt | 2 +- packages/simcore-sdk/requirements/_test.txt | 2 +- services/api-server/requirements/_test.txt | 2 +- services/catalog/requirements/_test.txt | 2 +- services/dask-sidecar/requirements/_test.txt | 2 +- services/datcore-adapter/requirements/_test.txt | 2 +- services/director-v2/requirements/_test.txt | 2 +- services/sidecar/requirements/_test.txt | 2 +- services/web/server/requirements/_test.txt | 2 +- tests/environment-setup/requirements/requirements.txt | 2 +- tests/public-api/requirements/_test.txt | 2 +- tests/swarm-deploy/requirements/_test.txt | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/api/tests/requirements.txt b/api/tests/requirements.txt index 5f748b2f809..1e4dfab064f 100644 --- a/api/tests/requirements.txt +++ b/api/tests/requirements.txt @@ -67,7 +67,7 @@ pyparsing==2.4.7 # via packaging pyrsistent==0.18.0 # via jsonschema -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements.in # pytest-aiohttp diff --git a/packages/models-library/requirements/_test.txt b/packages/models-library/requirements/_test.txt index 50cfa494aca..ef3a76c59a4 100644 --- a/packages/models-library/requirements/_test.txt +++ b/packages/models-library/requirements/_test.txt @@ -75,7 +75,7 @@ pylint==2.11.1 # via -r requirements/_test.in pyparsing==2.4.7 # via packaging -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-aiohttp diff --git a/packages/postgres-database/requirements/_test.txt b/packages/postgres-database/requirements/_test.txt index 24125e33e86..7132d94ae57 100644 --- a/packages/postgres-database/requirements/_test.txt +++ b/packages/postgres-database/requirements/_test.txt @@ -115,7 +115,7 @@ pyparsing==2.4.7 # via packaging pyrsistent==0.18.0 # via jsonschema -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-aiohttp diff --git a/packages/service-integration/requirements/_base.txt b/packages/service-integration/requirements/_base.txt index 3f778b3de2c..b335201395c 100644 --- a/packages/service-integration/requirements/_base.txt +++ b/packages/service-integration/requirements/_base.txt @@ -44,7 +44,7 @@ pyparsing==2.4.7 # via packaging pyrsistent==0.18.0 # via jsonschema -pytest==6.2.4 +pytest==6.2.5 # via -r requirements/_base.in pyyaml==5.4.1 # via diff --git a/packages/service-integration/requirements/_test.txt b/packages/service-integration/requirements/_test.txt index ede6da8a4b9..c71b8ff2a6c 100644 --- a/packages/service-integration/requirements/_test.txt +++ b/packages/service-integration/requirements/_test.txt @@ -62,7 +62,7 @@ pyparsing==2.4.7 # via # -c requirements/_base.txt # packaging -pytest==6.2.4 +pytest==6.2.5 # via # -c requirements/_base.txt # -r requirements/_test.in diff --git a/packages/settings-library/requirements/_test.txt b/packages/settings-library/requirements/_test.txt index c610cb52dfe..a2b80ba1124 100644 --- a/packages/settings-library/requirements/_test.txt +++ b/packages/settings-library/requirements/_test.txt @@ -45,7 +45,7 @@ pylint==2.11.1 # via -r requirements/_test.in pyparsing==2.4.7 # via packaging -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-cov diff --git a/packages/simcore-sdk/requirements/_test.txt b/packages/simcore-sdk/requirements/_test.txt index 0040b6f8ee2..640e964bf0a 100644 --- a/packages/simcore-sdk/requirements/_test.txt +++ b/packages/simcore-sdk/requirements/_test.txt @@ -114,7 +114,7 @@ pyparsing==2.4.7 # via # -c requirements/_base.txt # packaging -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-aiohttp diff --git a/services/api-server/requirements/_test.txt b/services/api-server/requirements/_test.txt index 871d2fd2e96..a92dc4aef50 100644 --- a/services/api-server/requirements/_test.txt +++ b/services/api-server/requirements/_test.txt @@ -149,7 +149,7 @@ pyparsing==2.4.7 # packaging pyrsistent==0.17.3 # via jsonschema -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-asyncio diff --git a/services/catalog/requirements/_test.txt b/services/catalog/requirements/_test.txt index d2bc885cd5e..31cf1cb41af 100644 --- a/services/catalog/requirements/_test.txt +++ b/services/catalog/requirements/_test.txt @@ -145,7 +145,7 @@ pyparsing==2.4.7 # packaging pyrsistent==0.18.0 # via jsonschema -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-aiohttp diff --git a/services/dask-sidecar/requirements/_test.txt b/services/dask-sidecar/requirements/_test.txt index d1d064c59a9..ecc1bc76af4 100644 --- a/services/dask-sidecar/requirements/_test.txt +++ b/services/dask-sidecar/requirements/_test.txt @@ -126,7 +126,7 @@ pyparsing==2.4.7 # -c requirements/_base.txt # -c requirements/_packages.txt # packaging -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-aiohttp diff --git a/services/datcore-adapter/requirements/_test.txt b/services/datcore-adapter/requirements/_test.txt index b60b7e4cfd6..9c8857023a6 100644 --- a/services/datcore-adapter/requirements/_test.txt +++ b/services/datcore-adapter/requirements/_test.txt @@ -87,7 +87,7 @@ pylint==2.11.1 # via -r requirements/_test.in pyparsing==2.4.7 # via packaging -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-asyncio diff --git a/services/director-v2/requirements/_test.txt b/services/director-v2/requirements/_test.txt index 8e0d2906b6f..d20361aa1be 100644 --- a/services/director-v2/requirements/_test.txt +++ b/services/director-v2/requirements/_test.txt @@ -204,7 +204,7 @@ pyparsing==2.4.7 # via packaging pyrsistent==0.18.0 # via jsonschema -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-aiohttp diff --git a/services/sidecar/requirements/_test.txt b/services/sidecar/requirements/_test.txt index 53c426841d3..dc983c85d87 100644 --- a/services/sidecar/requirements/_test.txt +++ b/services/sidecar/requirements/_test.txt @@ -127,7 +127,7 @@ pyparsing==2.4.7 # -c requirements/_base.txt # -c requirements/_packages.txt # packaging -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-aiohttp diff --git a/services/web/server/requirements/_test.txt b/services/web/server/requirements/_test.txt index acc53991f71..e538576646a 100644 --- a/services/web/server/requirements/_test.txt +++ b/services/web/server/requirements/_test.txt @@ -204,7 +204,7 @@ pyrsistent==0.18.0 # via # -c requirements/_packages.txt # jsonschema -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-aiohttp diff --git a/tests/environment-setup/requirements/requirements.txt b/tests/environment-setup/requirements/requirements.txt index fcd14ba1b53..4a7bbd08ab6 100644 --- a/tests/environment-setup/requirements/requirements.txt +++ b/tests/environment-setup/requirements/requirements.txt @@ -47,7 +47,7 @@ pydantic==1.8.2 # -r requirements/requirements.in pyparsing==2.4.7 # via packaging -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/requirements.in # pytest-aiohttp diff --git a/tests/public-api/requirements/_test.txt b/tests/public-api/requirements/_test.txt index 0a77d2f7454..38c8380a2b7 100644 --- a/tests/public-api/requirements/_test.txt +++ b/tests/public-api/requirements/_test.txt @@ -47,7 +47,7 @@ pyparsing==2.4.7 # via packaging pyrsistent==0.18.0 # via jsonschema -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-asyncio diff --git a/tests/swarm-deploy/requirements/_test.txt b/tests/swarm-deploy/requirements/_test.txt index b131f375bff..4e0543d258d 100644 --- a/tests/swarm-deploy/requirements/_test.txt +++ b/tests/swarm-deploy/requirements/_test.txt @@ -149,7 +149,7 @@ pyinstrument==4.0.2 # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in pyparsing==2.4.7 # via packaging -pytest==6.2.4 +pytest==6.2.5 # via # -r requirements/_test.in # pytest-aiohttp From b99daf41748532d708008dd655f04c7432712423 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 12:16:10 +0200 Subject: [PATCH 09/30] Adds reqs-all recipe --- requirements/tools/Makefile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/requirements/tools/Makefile b/requirements/tools/Makefile index 37193c20688..bf8d14157a4 100644 --- a/requirements/tools/Makefile +++ b/requirements/tools/Makefile @@ -32,8 +32,8 @@ MAKE_C := $(MAKE) --directory .PHONY: touch reqs info # requirements in packages and services -_compiled-all = $(shell find $(REPODIR) -path "*/requirements/*.txt") -_inputs-all = $(shell find $(REPODIR) -path "*/requirements/*.in") +_compiled-all = $(shell find $(REPODIR) -path "*/requirements*.txt") +_inputs-all = $(shell find $(REPODIR) -path "*/requirements*.in") # packages/ _target-inputs = $(shell find ${PACKAGES_DIR} -type f -name _base.in) @@ -70,6 +70,12 @@ reqs: ## updates requirements of all package libraries @$(foreach p,${_target-inputs},echo Touching $(p);touch $(p);$(MAKE_C) $(dir $(p)) reqs $(UPGRADE_OPTION);) +reqs-all: ## updates requirements of all package libraries + # Upgrading $(upgrade) ALL requirements + @$(foreach p,${_inputs-all},echo Touching $(p);touch $(p);$(MAKE_C) $(dir $(p)) reqs $(UPGRADE_OPTION);) + + + IMAGE_NAME:=local/python-devkit:${PYTHON_VERSION} # SEE https://medium.com/faun/set-current-host-user-for-docker-container-4e521cef9ffc From b13ed10e4fbd436bedf7f6d9da353bdce4616d67 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 12:28:59 +0200 Subject: [PATCH 10/30] Fixes pylint R0201: Method could be a function (no-self-use) --- .../service-library/tests/aiohttp/tutils.py | 27 ++++++++++++------- .../tests/unit/test_node_ports_v2_port.py | 25 +++++++++-------- .../catalog/tests/unit/with_dbs/conftest.py | 3 ++- .../unit/with_dbs/test_entrypoint_services.py | 3 ++- .../modules/pennsieve.py | 2 +- .../src/simcore_service_sidecar/rabbitmq.py | 3 ++- .../tests/unit/test_celery_configurator.py | 3 ++- .../src/simcore_service_storage/dsm.py | 2 +- 8 files changed, 42 insertions(+), 26 deletions(-) diff --git a/packages/service-library/tests/aiohttp/tutils.py b/packages/service-library/tests/aiohttp/tutils.py index 9527410ff47..37f1304f001 100644 --- a/packages/service-library/tests/aiohttp/tutils.py +++ b/packages/service-library/tests/aiohttp/tutils.py @@ -16,7 +16,8 @@ class Data: class Handlers: - async def get_health_wrong(self, request: web.Request): + @staticmethod + async def get_health_wrong(request: web.Request): out = { "name": __name__.split(".")[0], "version": "1.0", @@ -25,7 +26,8 @@ async def get_health_wrong(self, request: web.Request): } return out - async def get_health(self, request: web.Request): + @staticmethod + async def get_health(request: web.Request): out = { "name": __name__.split(".")[0], "version": "1.0", @@ -34,26 +36,33 @@ async def get_health(self, request: web.Request): } return out - async def get_dict(self, request: web.Request): + @staticmethod + async def get_dict(request: web.Request): return {"x": 3, "y": "3"} - async def get_envelope(self, request: web.Request): + @staticmethod + async def get_envelope(request: web.Request): data = {"x": 3, "y": "3"} return {"error": None, "data": data} - async def get_list(self, request: web.Request): + @staticmethod + async def get_list(request: web.Request): return [{"x": 3, "y": "3"}] * 3 - async def get_attobj(self, request: web.Request): + @staticmethod + async def get_attobj(request: web.Request): return Data(3, "3") - async def get_string(self, request: web.Request): + @staticmethod + async def get_string(request: web.Request): return "foo" - async def get_number(self, request: web.Request): + @staticmethod + async def get_number(request: web.Request): return 3 - async def get_mixed(self, request: web.Request): + @staticmethod + async def get_mixed(request: web.Request): data = [{"x": 3, "y": "3", "z": [Data(3, "3")] * 2}] * 3 return data diff --git a/packages/simcore-sdk/tests/unit/test_node_ports_v2_port.py b/packages/simcore-sdk/tests/unit/test_node_ports_v2_port.py index bf9926d813b..c00c9ecd100 100644 --- a/packages/simcore-sdk/tests/unit/test_node_ports_v2_port.py +++ b/packages/simcore-sdk/tests/unit/test_node_ports_v2_port.py @@ -1,14 +1,16 @@ +import re +import shutil +import tempfile +import threading +from collections import namedtuple + # pylint:disable=unused-variable # pylint:disable=unused-argument # pylint:disable=redefined-outer-name # pylint:disable=no-member # pylint:disable=protected-access # pylint:disable=too-many-arguments -import re -import shutil -import tempfile -import threading -from collections import namedtuple +from os import stat from pathlib import Path from typing import Any, Dict, Optional, Type, Union @@ -540,7 +542,8 @@ class FakeNodePorts: project_id: str node_uuid: str - async def get(self, key): + @staticmethod + async def get(key): # this gets called when a node links to another node we return the get value but for files it needs to be a real one return ( another_node_file @@ -548,12 +551,12 @@ async def get(self, key): else exp_get_value ) - async def _node_ports_creator_cb(self, node_uuid: str): - return FakeNodePorts( - user_id=user_id, project_id=project_id, node_uuid=node_uuid - ) + @classmethod + async def _node_ports_creator_cb(cls, node_uuid: str) -> "FakeNodePorts": + return cls(user_id=user_id, project_id=project_id, node_uuid=node_uuid) - async def save_to_db_cb(self, node_ports): + @staticmethod + async def save_to_db_cb(node_ports): return fake_node_ports = FakeNodePorts( diff --git a/services/catalog/tests/unit/with_dbs/conftest.py b/services/catalog/tests/unit/with_dbs/conftest.py index e23819d24e2..745aa7daf9a 100644 --- a/services/catalog/tests/unit/with_dbs/conftest.py +++ b/services/catalog/tests/unit/with_dbs/conftest.py @@ -40,7 +40,8 @@ def client(app: FastAPI) -> TestClient: @pytest.fixture() async def director_mockup(loop, app: FastAPI): class FakeDirector: - async def get(self, url: str): + @staticmethod + async def get(url: str): return "" app.dependency_overrides[get_director_api] = FakeDirector diff --git a/services/catalog/tests/unit/with_dbs/test_entrypoint_services.py b/services/catalog/tests/unit/with_dbs/test_entrypoint_services.py index 03d823c2570..07b0c0dd5a4 100644 --- a/services/catalog/tests/unit/with_dbs/test_entrypoint_services.py +++ b/services/catalog/tests/unit/with_dbs/test_entrypoint_services.py @@ -108,7 +108,8 @@ async def return_list_services(user_id: int) -> List[ServiceOut]: monkeypatch.setattr(services, "list_services", return_list_services) class FakeDirector: - async def get(self, url: str): + @staticmethod + async def get(url: str): if url == "/services": return [s.dict(by_alias=True) for s in registry_services] if "/service_extras/" in url: diff --git a/services/datcore-adapter/src/simcore_service_datcore_adapter/modules/pennsieve.py b/services/datcore-adapter/src/simcore_service_datcore_adapter/modules/pennsieve.py index db4b8fb9a4f..83caf7c3655 100644 --- a/services/datcore-adapter/src/simcore_service_datcore_adapter/modules/pennsieve.py +++ b/services/datcore-adapter/src/simcore_service_datcore_adapter/modules/pennsieve.py @@ -357,8 +357,8 @@ async def delete_object(self, api_key: str, api_secret: str, obj_id: str) -> Non ), ) + @staticmethod async def upload_file( - self, api_key: str, api_secret: str, file: Path, diff --git a/services/sidecar/src/simcore_service_sidecar/rabbitmq.py b/services/sidecar/src/simcore_service_sidecar/rabbitmq.py index 1261a3837d5..aae77acb525 100644 --- a/services/sidecar/src/simcore_service_sidecar/rabbitmq.py +++ b/services/sidecar/src/simcore_service_sidecar/rabbitmq.py @@ -86,8 +86,9 @@ async def close(self): await self._channel.close() await self._connection.close() + @staticmethod async def _post_message( - self, exchange: aio_pika.Exchange, data: Dict[str, Union[str, Any]] + exchange: aio_pika.Exchange, data: Dict[str, Union[str, Any]] ): await exchange.publish( aio_pika.Message(body=json.dumps(data).encode()), routing_key="" diff --git a/services/sidecar/tests/unit/test_celery_configurator.py b/services/sidecar/tests/unit/test_celery_configurator.py index f65440f007a..a012f1770d0 100644 --- a/services/sidecar/tests/unit/test_celery_configurator.py +++ b/services/sidecar/tests/unit/test_celery_configurator.py @@ -12,7 +12,8 @@ def _toggle_gpu_mock(mocker, has_gpu: bool) -> None: class FakeContainer: - async def wait(self, **kwargs): + @staticmethod + async def wait(**kwargs): return {"StatusCode": 0 if has_gpu else 127} containers_get = mocker.patch( diff --git a/services/storage/src/simcore_service_storage/dsm.py b/services/storage/src/simcore_service_storage/dsm.py index 4570784b35a..f5dc795d283 100644 --- a/services/storage/src/simcore_service_storage/dsm.py +++ b/services/storage/src/simcore_service_storage/dsm.py @@ -398,7 +398,7 @@ async def upload_file_to_datcore( ): import warnings - warnings.warn("NOT IMPLEMENTED!!!") + warnings.warn(f"NOT IMPLEMENTED!!! in {self.__class__}") # uploads a locally available file to dat core given the storage path, optionally attached some meta data # api_token, api_secret = self._get_datcore_tokens(user_id) # await dcw.upload_file_to_id(destination_id, local_file_path) From 213ada28692f6d661bfaf42069295e018313d5ad Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 12:31:59 +0200 Subject: [PATCH 11/30] Fixes pylint R1714: Consider merging these comparisons with ... (consider-using-in) --- services/storage/tests/unit/s3wrapper/test_s3_client.py | 7 ++----- services/storage/tests/unit/test_dsm.py | 4 +--- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/services/storage/tests/unit/s3wrapper/test_s3_client.py b/services/storage/tests/unit/s3wrapper/test_s3_client.py index c9d98877e3f..48ad91bce00 100644 --- a/services/storage/tests/unit/s3wrapper/test_s3_client.py +++ b/services/storage/tests/unit/s3wrapper/test_s3_client.py @@ -266,7 +266,7 @@ def test_list_objects(s3_client, bucket, text_files_factory): listed_objects = s3_client.list_objects(bucket) for s3_obj in listed_objects: - assert s3_obj.object_name == "level1/" or s3_obj.object_name == "level2/" + assert s3_obj.object_name in ("level1/", "level2/") listed_objects = s3_client.list_objects(bucket, prefix="level1") for s3_obj in listed_objects: @@ -278,7 +278,4 @@ def test_list_objects(s3_client, bucket, text_files_factory): listed_objects = s3_client.list_objects(bucket, recursive=True) for s3_obj in listed_objects: - assert ( - s3_obj.object_name == "level1/level2/1" - or s3_obj.object_name == "level2/level2/2" - ) + assert s3_obj.object_name in ("level1/level2/1", "level2/level2/2") diff --git a/services/storage/tests/unit/test_dsm.py b/services/storage/tests/unit/test_dsm.py index c89dd0ee430..7748a0075dd 100644 --- a/services/storage/tests/unit/test_dsm.py +++ b/services/storage/tests/unit/test_dsm.py @@ -78,9 +78,7 @@ async def test_dsm_s3(dsm_mockup_db, dsm_fixture): bobs_biostromy_files = [] for d in dsm_mockup_db.keys(): md = dsm_mockup_db[d] - if md.user_id == bob_id and ( - md.project_name == "biology" or md.project_name == "astronomy" - ): + if md.user_id == bob_id and (md.project_name in ("biology", "astronomy")): bobs_biostromy_files.append(md) assert len(data) == len(bobs_biostromy_files) From 9df12a0654b1862e851a484b91c5b22a60d81618 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 12:34:28 +0200 Subject: [PATCH 12/30] sidecar needs jsonschema after removing servicelib extras --- services/sidecar/requirements/_test.in | 1 + services/sidecar/requirements/_test.txt | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/services/sidecar/requirements/_test.in b/services/sidecar/requirements/_test.in index da788316fec..ed8ed781d85 100644 --- a/services/sidecar/requirements/_test.in +++ b/services/sidecar/requirements/_test.in @@ -27,6 +27,7 @@ docker python-dotenv faker minio +jsonschema # tools for CI pylint diff --git a/services/sidecar/requirements/_test.txt b/services/sidecar/requirements/_test.txt index dc983c85d87..2bd2f4e3070 100644 --- a/services/sidecar/requirements/_test.txt +++ b/services/sidecar/requirements/_test.txt @@ -33,6 +33,7 @@ attrs==20.2.0 # -c requirements/_base.txt # -c requirements/_packages.txt # aiohttp + # jsonschema # pytest certifi==2021.5.30 # via @@ -74,6 +75,8 @@ iniconfig==1.1.1 # via pytest isort==5.9.3 # via pylint +jsonschema==3.2.0 + # via -r requirements/_test.in lazy-object-proxy==1.4.3 # via astroid mako==1.1.4 @@ -127,6 +130,8 @@ pyparsing==2.4.7 # -c requirements/_base.txt # -c requirements/_packages.txt # packaging +pyrsistent==0.18.0 + # via jsonschema pytest==6.2.5 # via # -r requirements/_test.in @@ -174,6 +179,7 @@ six==1.15.0 # via # -c requirements/_base.txt # -c requirements/_packages.txt + # jsonschema # packaging # python-dateutil # websocket-client From a1eb9c86b6580b48816d163d8701b0bb94890fef Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 12:37:10 +0200 Subject: [PATCH 13/30] tests/swarm-deploy needs jsonschema after removing servicelib extras --- tests/swarm-deploy/requirements/_test.in | 3 ++- tests/swarm-deploy/requirements/_test.txt | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/swarm-deploy/requirements/_test.in b/tests/swarm-deploy/requirements/_test.in index f57a47d5e36..0471fbcd0ca 100644 --- a/tests/swarm-deploy/requirements/_test.in +++ b/tests/swarm-deploy/requirements/_test.in @@ -10,6 +10,8 @@ alembic click coverage docker +jsonschema +minio pytest pytest-aiohttp pytest-cov @@ -20,4 +22,3 @@ pytest-sugar python-dotenv pyyaml tenacity -minio diff --git a/tests/swarm-deploy/requirements/_test.txt b/tests/swarm-deploy/requirements/_test.txt index 4e0543d258d..6ec8dc1b73d 100644 --- a/tests/swarm-deploy/requirements/_test.txt +++ b/tests/swarm-deploy/requirements/_test.txt @@ -42,6 +42,7 @@ attrs==20.3.0 # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/./constraints.txt # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # aiohttp + # jsonschema # pytest certifi==2021.5.30 # via @@ -86,6 +87,8 @@ idna==2.10 # yarl iniconfig==1.1.1 # via pytest +jsonschema==3.2.0 + # via -r requirements/_test.in mako==1.1.4 # via # -r requirements/../../../packages/postgres-database/requirements/_migration.txt @@ -149,6 +152,8 @@ pyinstrument==4.0.2 # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in pyparsing==2.4.7 # via packaging +pyrsistent==0.18.0 + # via jsonschema pytest==6.2.5 # via # -r requirements/_test.in @@ -199,6 +204,7 @@ requests==2.26.0 six==1.16.0 # via # -r requirements/../../../packages/postgres-database/requirements/_migration.txt + # jsonschema # python-dateutil # websocket-client sqlalchemy==1.3.24 @@ -268,3 +274,6 @@ yarl==1.6.3 # aio-pika # aiohttp # aiormq + +# The following packages are considered to be unsafe in a requirements file: +# setuptools From 426c7a27e6aaa9eee4077dedad71387b43d78e16 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 12:42:01 +0200 Subject: [PATCH 14/30] missing pylint fixes --- .../src/simcore_sdk/node_ports_common/dbmanager.py | 3 ++- .../tests/unit/test_node_ports_v2_port.py | 14 +++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/simcore-sdk/src/simcore_sdk/node_ports_common/dbmanager.py b/packages/simcore-sdk/src/simcore_sdk/node_ports_common/dbmanager.py index 5350a1e9907..58d1cb453b0 100644 --- a/packages/simcore-sdk/src/simcore_sdk/node_ports_common/dbmanager.py +++ b/packages/simcore-sdk/src/simcore_sdk/node_ports_common/dbmanager.py @@ -57,7 +57,8 @@ def __init__(self, db_engine: Optional[aiopg.sa.Engine] = None): self._db_engine: Optional[aiopg.sa.Engine] = db_engine self._db_engine_created: bool = False - async def _create_db_engine(self) -> aiopg.sa.Engine: + @staticmethod + async def _create_db_engine() -> aiopg.sa.Engine: dsn = DataSourceName( application_name=f"{__name__}_{id(socket.gethostname())}", database=config.POSTGRES_DB, diff --git a/packages/simcore-sdk/tests/unit/test_node_ports_v2_port.py b/packages/simcore-sdk/tests/unit/test_node_ports_v2_port.py index c00c9ecd100..87f03243de7 100644 --- a/packages/simcore-sdk/tests/unit/test_node_ports_v2_port.py +++ b/packages/simcore-sdk/tests/unit/test_node_ports_v2_port.py @@ -1,16 +1,16 @@ -import re -import shutil -import tempfile -import threading -from collections import namedtuple - # pylint:disable=unused-variable # pylint:disable=unused-argument # pylint:disable=redefined-outer-name # pylint:disable=no-member # pylint:disable=protected-access # pylint:disable=too-many-arguments -from os import stat + + +import re +import shutil +import tempfile +import threading +from collections import namedtuple from pathlib import Path from typing import Any, Dict, Optional, Type, Union From 59ab242fe919e6144e3575489580e8366bb66351 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 12:55:18 +0200 Subject: [PATCH 15/30] fixes tutils --- .../service-library/tests/aiohttp/tutils.py | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/packages/service-library/tests/aiohttp/tutils.py b/packages/service-library/tests/aiohttp/tutils.py index 37f1304f001..34eca7c6612 100644 --- a/packages/service-library/tests/aiohttp/tutils.py +++ b/packages/service-library/tests/aiohttp/tutils.py @@ -1,6 +1,8 @@ # pylint: disable=redefined-outer-name # pylint: disable=unused-argument # pylint: disable=unused-import +# pylint: disable=no-self-use + import asyncio import json @@ -16,8 +18,7 @@ class Data: class Handlers: - @staticmethod - async def get_health_wrong(request: web.Request): + async def get_health_wrong(self, request: web.Request): out = { "name": __name__.split(".")[0], "version": "1.0", @@ -26,8 +27,7 @@ async def get_health_wrong(request: web.Request): } return out - @staticmethod - async def get_health(request: web.Request): + async def get_health(self, request: web.Request): out = { "name": __name__.split(".")[0], "version": "1.0", @@ -36,33 +36,26 @@ async def get_health(request: web.Request): } return out - @staticmethod - async def get_dict(request: web.Request): + async def get_dict(self, request: web.Request): return {"x": 3, "y": "3"} - @staticmethod - async def get_envelope(request: web.Request): + async def get_envelope(self, request: web.Request): data = {"x": 3, "y": "3"} return {"error": None, "data": data} - @staticmethod - async def get_list(request: web.Request): + async def get_list(self, request: web.Request): return [{"x": 3, "y": "3"}] * 3 - @staticmethod - async def get_attobj(request: web.Request): + async def get_attobj(self, request: web.Request): return Data(3, "3") - @staticmethod - async def get_string(request: web.Request): + async def get_string(self, request: web.Request): return "foo" - @staticmethod - async def get_number(request: web.Request): + async def get_number(self, request: web.Request): return 3 - @staticmethod - async def get_mixed(request: web.Request): + async def get_mixed(self, request: web.Request): data = [{"x": 3, "y": "3", "z": [Data(3, "3")] * 2}] * 3 return data From a17865d7568df626696eafe21ee7d5f8d2895c3c Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 13:54:43 +0200 Subject: [PATCH 16/30] missing linter fixes --- .../src/simcore_service_webserver/clusters/db.py | 2 +- .../projects/projects_db.py | 16 ++++++++-------- .../version_control_db.py | 5 ++--- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/services/web/server/src/simcore_service_webserver/clusters/db.py b/services/web/server/src/simcore_service_webserver/clusters/db.py index 3c7b0af21fa..94250067c09 100644 --- a/services/web/server/src/simcore_service_webserver/clusters/db.py +++ b/services/web/server/src/simcore_service_webserver/clusters/db.py @@ -45,8 +45,8 @@ def compute_this_user_cluster_access_rights( class ClustersRepository(BaseRepository): + @staticmethod async def _clusters_from_cluster_ids( - self, conn: sa.engine.Connection, cluster_ids: Set[PositiveInt], offset: int = 0, diff --git a/services/web/server/src/simcore_service_webserver/projects/projects_db.py b/services/web/server/src/simcore_service_webserver/projects/projects_db.py index e8623bd5088..0c730d21770 100644 --- a/services/web/server/src/simcore_service_webserver/projects/projects_db.py +++ b/services/web/server/src/simcore_service_webserver/projects/projects_db.py @@ -372,9 +372,8 @@ async def load_projects( total_number_of_projects, ) - async def __load_user_groups( - self, conn: SAConnection, user_id: int - ) -> List[RowProxy]: + @staticmethod + async def __load_user_groups(conn: SAConnection, user_id: int) -> List[RowProxy]: user_groups: List[RowProxy] = [] query = ( select([groups]) @@ -761,7 +760,8 @@ async def make_unique_project_uuid(self) -> str: break return project_uuid - async def _get_user_email(self, conn: SAConnection, user_id: Optional[int]) -> str: + @staticmethod + async def _get_user_email(conn: SAConnection, user_id: Optional[int]) -> str: if not user_id: return "not_a_user@unknown.com" email: Optional[str] = await conn.scalar( @@ -769,9 +769,8 @@ async def _get_user_email(self, conn: SAConnection, user_id: Optional[int]) -> s ) return email or "Unknown" - async def _get_user_primary_group_gid( - self, conn: SAConnection, user_id: int - ) -> int: + @staticmethod + async def _get_user_primary_group_gid(conn: SAConnection, user_id: int) -> int: primary_gid: int = await conn.scalar( sa.select([users.c.primary_gid]).where(users.c.id == str(user_id)) ) @@ -779,7 +778,8 @@ async def _get_user_primary_group_gid( raise UserNotFoundError(uid=user_id) return primary_gid - async def _get_tags_by_project(self, conn: SAConnection, project_id: str) -> List: + @staticmethod + async def _get_tags_by_project(conn: SAConnection, project_id: str) -> List: query = sa.select([study_tags.c.tag_id]).where( study_tags.c.study_id == project_id ) diff --git a/services/web/server/src/simcore_service_webserver/version_control_db.py b/services/web/server/src/simcore_service_webserver/version_control_db.py index 8afdb33bb28..a3bcc13f55c 100644 --- a/services/web/server/src/simcore_service_webserver/version_control_db.py +++ b/services/web/server/src/simcore_service_webserver/version_control_db.py @@ -158,9 +158,8 @@ async def _update_state(self, repo_id: int, conn: SAConnection): assert repo return repo, head_commit, project - async def _upsert_snapshot( - self, repo: RowProxy, project: RowProxy, conn: SAConnection - ): + @staticmethod + async def _upsert_snapshot(repo: RowProxy, project: RowProxy, conn: SAConnection): # has changes wrt previous commit # if exists, ui might change insert_stmt = pg_insert(projects_vc_snapshots).values( From cc89d0f7eb824201d2bbf57cf6c678898c7915a5 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 14:09:11 +0200 Subject: [PATCH 17/30] updates black in pre-commit --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 807d843bf71..95e70663d6e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,6 +17,6 @@ repos: hooks: - id: isort - repo: https://github.com/psf/black - rev: 21.7b0 + rev: 21.9b0 hooks: - id: black From 2d8d836b74ee85497b9be66bd2a93ebe034c1998 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 14:12:39 +0200 Subject: [PATCH 18/30] upgrades black==21.9b0 --- packages/models-library/requirements/_tools.txt | 10 +++++++--- packages/postgres-database/requirements/_tools.txt | 9 ++++++--- packages/service-integration/requirements/_tools.txt | 10 +++++++--- packages/service-library/requirements/_tools.txt | 2 +- packages/settings-library/requirements/_tools.txt | 10 +++++++--- packages/simcore-sdk/requirements/_tools.txt | 10 +++++++--- services/api-server/requirements/_tools.txt | 10 +++++++--- services/catalog/requirements/_tools.txt | 10 +++++++--- services/dask-sidecar/requirements/_tools.txt | 11 ++++++++--- services/datcore-adapter/requirements/_tools.txt | 10 +++++++--- services/director-v2/requirements/_tools.txt | 10 +++++++--- services/dynamic-sidecar/requirements/_tools.txt | 2 +- services/sidecar/requirements/_tools.txt | 11 ++++++++--- services/storage/requirements/_tools.txt | 2 +- services/web/server/requirements/_tools.txt | 11 ++++++++--- tests/public-api/requirements/_tools.txt | 10 ++++++---- tests/swarm-deploy/requirements/_tools.txt | 12 ++++++++---- 17 files changed, 103 insertions(+), 47 deletions(-) diff --git a/packages/models-library/requirements/_tools.txt b/packages/models-library/requirements/_tools.txt index 32201c54cd6..cdb85324060 100644 --- a/packages/models-library/requirements/_tools.txt +++ b/packages/models-library/requirements/_tools.txt @@ -4,11 +4,9 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -41,6 +39,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -63,6 +62,11 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit wheel==0.36.2 diff --git a/packages/postgres-database/requirements/_tools.txt b/packages/postgres-database/requirements/_tools.txt index 32201c54cd6..4c91f5e99ff 100644 --- a/packages/postgres-database/requirements/_tools.txt +++ b/packages/postgres-database/requirements/_tools.txt @@ -4,11 +4,9 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -41,6 +39,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -63,6 +62,10 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit wheel==0.36.2 diff --git a/packages/service-integration/requirements/_tools.txt b/packages/service-integration/requirements/_tools.txt index ed57fca8ab3..0fda30382dc 100644 --- a/packages/service-integration/requirements/_tools.txt +++ b/packages/service-integration/requirements/_tools.txt @@ -4,11 +4,9 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -42,6 +40,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -65,6 +64,11 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit wheel==0.36.2 diff --git a/packages/service-library/requirements/_tools.txt b/packages/service-library/requirements/_tools.txt index 9211ee57045..010eefbd12f 100644 --- a/packages/service-library/requirements/_tools.txt +++ b/packages/service-library/requirements/_tools.txt @@ -6,7 +6,7 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.8b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt diff --git a/packages/settings-library/requirements/_tools.txt b/packages/settings-library/requirements/_tools.txt index ccabe887031..d47c5b155ed 100644 --- a/packages/settings-library/requirements/_tools.txt +++ b/packages/settings-library/requirements/_tools.txt @@ -4,11 +4,9 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -42,6 +40,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -61,6 +60,11 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit wheel==0.36.2 diff --git a/packages/simcore-sdk/requirements/_tools.txt b/packages/simcore-sdk/requirements/_tools.txt index 62ec25fa547..9bda28f81e0 100644 --- a/packages/simcore-sdk/requirements/_tools.txt +++ b/packages/simcore-sdk/requirements/_tools.txt @@ -4,11 +4,9 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -42,6 +40,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -65,6 +64,11 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit wheel==0.36.2 diff --git a/services/api-server/requirements/_tools.txt b/services/api-server/requirements/_tools.txt index d4a5996e30a..ad0bcd78608 100644 --- a/services/api-server/requirements/_tools.txt +++ b/services/api-server/requirements/_tools.txt @@ -4,13 +4,11 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black argh==0.26.2 # via watchdog backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -57,6 +55,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -84,6 +83,11 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit watchdog==2.1.3 diff --git a/services/catalog/requirements/_tools.txt b/services/catalog/requirements/_tools.txt index 3a1d62fb807..c14ccacc762 100644 --- a/services/catalog/requirements/_tools.txt +++ b/services/catalog/requirements/_tools.txt @@ -4,13 +4,11 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black argh==0.26.2 # via watchdog backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -45,6 +43,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -69,6 +68,11 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit watchdog==2.1.3 diff --git a/services/dask-sidecar/requirements/_tools.txt b/services/dask-sidecar/requirements/_tools.txt index 98ab26935a5..1c496ebb59d 100644 --- a/services/dask-sidecar/requirements/_tools.txt +++ b/services/dask-sidecar/requirements/_tools.txt @@ -4,13 +4,11 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black argh==0.26.2 # via watchdog backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -45,6 +43,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -71,6 +70,12 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_packages.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit watchdog==2.1.3 diff --git a/services/datcore-adapter/requirements/_tools.txt b/services/datcore-adapter/requirements/_tools.txt index a2193fce10d..d8ba0b39363 100644 --- a/services/datcore-adapter/requirements/_tools.txt +++ b/services/datcore-adapter/requirements/_tools.txt @@ -4,13 +4,11 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black argh==0.26.2 # via watchdog backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -44,6 +42,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -68,6 +67,11 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit watchdog==2.1.3 diff --git a/services/director-v2/requirements/_tools.txt b/services/director-v2/requirements/_tools.txt index f8a0e4d66c6..d89d7bd7ab1 100644 --- a/services/director-v2/requirements/_tools.txt +++ b/services/director-v2/requirements/_tools.txt @@ -4,13 +4,11 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black argh==0.26.2 # via watchdog backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -45,6 +43,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -70,6 +69,11 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit watchdog==2.1.3 diff --git a/services/dynamic-sidecar/requirements/_tools.txt b/services/dynamic-sidecar/requirements/_tools.txt index 4397c2c5781..dbff5931bcc 100644 --- a/services/dynamic-sidecar/requirements/_tools.txt +++ b/services/dynamic-sidecar/requirements/_tools.txt @@ -8,7 +8,7 @@ astroid==2.8.0 # via pylint backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.8b0 +black==21.9b0 # via # -r requirements/../../../requirements/devenv.txt # -r requirements/_tools.in diff --git a/services/sidecar/requirements/_tools.txt b/services/sidecar/requirements/_tools.txt index 98ab26935a5..1c496ebb59d 100644 --- a/services/sidecar/requirements/_tools.txt +++ b/services/sidecar/requirements/_tools.txt @@ -4,13 +4,11 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black argh==0.26.2 # via watchdog backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -45,6 +43,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt @@ -71,6 +70,12 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_packages.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit watchdog==2.1.3 diff --git a/services/storage/requirements/_tools.txt b/services/storage/requirements/_tools.txt index b956729189a..e69c5da03e0 100644 --- a/services/storage/requirements/_tools.txt +++ b/services/storage/requirements/_tools.txt @@ -8,7 +8,7 @@ argh==0.26.2 # via watchdog backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.8b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt diff --git a/services/web/server/requirements/_tools.txt b/services/web/server/requirements/_tools.txt index ef5a74f8a21..d059416bf7d 100644 --- a/services/web/server/requirements/_tools.txt +++ b/services/web/server/requirements/_tools.txt @@ -4,13 +4,11 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black argh==0.26.2 # via watchdog backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../../requirements/devenv.txt @@ -45,6 +43,7 @@ pip-tools==6.2.0 platformdirs==2.3.0 # via # -c requirements/_test.txt + # black # virtualenv pre-commit==2.14.0 # via -r requirements/../../../../requirements/devenv.txt @@ -72,6 +71,12 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_base.txt + # -c requirements/_packages.txt + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit watchdog==2.1.3 diff --git a/tests/public-api/requirements/_tools.txt b/tests/public-api/requirements/_tools.txt index 4f99122bacf..1d8a242de36 100644 --- a/tests/public-api/requirements/_tools.txt +++ b/tests/public-api/requirements/_tools.txt @@ -4,11 +4,9 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -37,7 +35,9 @@ pep517==0.11.0 pip-tools==6.2.0 # via -r requirements/../../../requirements/devenv.txt platformdirs==2.2.0 - # via virtualenv + # via + # black + # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt pyyaml==5.4.1 @@ -59,6 +59,8 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via black virtualenv==20.7.0 # via pre-commit wheel==0.36.2 diff --git a/tests/swarm-deploy/requirements/_tools.txt b/tests/swarm-deploy/requirements/_tools.txt index 4aac1046918..1e3a083c97c 100644 --- a/tests/swarm-deploy/requirements/_tools.txt +++ b/tests/swarm-deploy/requirements/_tools.txt @@ -4,13 +4,11 @@ # # pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in # -appdirs==1.4.4 - # via black argh==0.26.2 # via watchdog backports.entry-points-selectable==1.1.0 # via virtualenv -black==21.7b0 +black==21.9b0 # via -r requirements/../../../requirements/devenv.txt bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt @@ -40,7 +38,9 @@ pep517==0.11.0 pip-tools==6.2.0 # via -r requirements/../../../requirements/devenv.txt platformdirs==2.2.0 - # via virtualenv + # via + # black + # virtualenv pre-commit==2.14.0 # via -r requirements/../../../requirements/devenv.txt pyyaml==5.4.1 @@ -63,6 +63,10 @@ tomli==1.2.1 # via # black # pep517 +typing-extensions==3.10.0.2 + # via + # -c requirements/_test.txt + # black virtualenv==20.7.0 # via pre-commit watchdog==2.1.3 From 8d1226771d00a042de8e679aaa406bf9e02247bb Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 14:18:45 +0200 Subject: [PATCH 19/30] upgrades alembic==1.7.3 --- .../requirements/_migration.txt | 16 +++++----- .../postgres-database/requirements/_test.txt | 4 +-- packages/simcore-sdk/requirements/_base.txt | 19 +++++++----- packages/simcore-sdk/requirements/_test.txt | 20 ++++++------ services/api-server/requirements/_base.txt | 8 ++--- services/api-server/requirements/_test.txt | 17 +++++----- services/catalog/requirements/_test.txt | 14 +++++---- services/dask-sidecar/requirements/_base.txt | 25 ++++++++++----- .../dask-sidecar/requirements/_packages.txt | 31 ++++++++++++------- services/dask-sidecar/requirements/_test.txt | 20 +++++++----- services/director-v2/requirements/_test.txt | 14 +++++---- services/sidecar/requirements/_base.txt | 21 +++++++++---- services/sidecar/requirements/_packages.txt | 27 ++++++++++------ services/sidecar/requirements/_test.txt | 24 +++++++------- services/web/server/requirements/_test.txt | 14 +++++---- tests/swarm-deploy/requirements/_test.txt | 26 ++++++++++------ 16 files changed, 175 insertions(+), 125 deletions(-) diff --git a/packages/postgres-database/requirements/_migration.txt b/packages/postgres-database/requirements/_migration.txt index 899ffa35e57..3e44bc4b9d8 100644 --- a/packages/postgres-database/requirements/_migration.txt +++ b/packages/postgres-database/requirements/_migration.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/_migration.txt --strip-extras requirements/_migration.in # -alembic==1.6.5 +alembic==1.7.3 # via -r requirements/_migration.in certifi==2021.5.30 # via requests @@ -18,6 +18,10 @@ idna==2.10 # via # -c requirements/_base.txt # requests +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../requirements/constraints.txt + # alembic mako==1.1.4 # via alembic markupsafe==2.0.1 @@ -26,16 +30,10 @@ psycopg2-binary==2.9.1 # via # -c requirements/_base.txt # sqlalchemy -python-dateutil==2.8.2 - # via alembic -python-editor==1.0.4 - # via alembic requests==2.26.0 # via docker six==1.16.0 - # via - # python-dateutil - # websocket-client + # via websocket-client sqlalchemy==1.3.24 # via # -c requirements/../../../requirements/constraints.txt @@ -52,3 +50,5 @@ websocket-client==0.59.0 # via # -r requirements/_migration.in # docker +zipp==3.5.0 + # via importlib-resources diff --git a/packages/postgres-database/requirements/_test.txt b/packages/postgres-database/requirements/_test.txt index 7132d94ae57..6149e602b7b 100644 --- a/packages/postgres-database/requirements/_test.txt +++ b/packages/postgres-database/requirements/_test.txt @@ -133,9 +133,7 @@ pytest-instafail==0.4.2 pytest-runner==5.3.1 # via -r requirements/_test.in python-dateutil==2.8.2 - # via - # -c requirements/_migration.txt - # faker + # via faker python-dotenv==0.19.0 # via docker-compose pyyaml==5.4.1 diff --git a/packages/simcore-sdk/requirements/_base.txt b/packages/simcore-sdk/requirements/_base.txt index 15297fb7259..fe19058b094 100644 --- a/packages/simcore-sdk/requirements/_base.txt +++ b/packages/simcore-sdk/requirements/_base.txt @@ -17,7 +17,7 @@ aiohttp==3.7.4.post0 # -r requirements/_base.in aiopg==1.3.1 # via -r requirements/_base.in -alembic==1.6.5 +alembic==1.7.3 # via -r requirements/../../../packages/postgres-database/requirements/_migration.in async-timeout==3.0.1 # via @@ -51,6 +51,13 @@ idna==2.10 # email-validator # requests # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../requirements/constraints.txt + # alembic mako==1.1.4 # via alembic markupsafe==2.0.1 @@ -83,10 +90,6 @@ pyinstrument==4.0.2 # via -r requirements/../../../packages/service-library/requirements/_base.in pyparsing==2.4.7 # via packaging -python-dateutil==2.8.2 - # via alembic -python-editor==1.0.4 - # via alembic pyyaml==5.4.1 # via # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt @@ -98,9 +101,7 @@ pyyaml==5.4.1 requests==2.26.0 # via docker six==1.16.0 - # via - # python-dateutil - # websocket-client + # via websocket-client sqlalchemy==1.3.24 # via # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt @@ -145,3 +146,5 @@ yarl==1.6.3 # -c requirements/../../../packages/postgres-database/requirements/_base.txt # -r requirements/../../../packages/postgres-database/requirements/_base.in # aiohttp +zipp==3.5.0 + # via importlib-resources diff --git a/packages/simcore-sdk/requirements/_test.txt b/packages/simcore-sdk/requirements/_test.txt index 640e964bf0a..dae461e2090 100644 --- a/packages/simcore-sdk/requirements/_test.txt +++ b/packages/simcore-sdk/requirements/_test.txt @@ -12,7 +12,7 @@ aiohttp==3.7.4.post0 # pytest-aiohttp aioresponses==0.7.2 # via -r requirements/_test.in -alembic==1.6.5 +alembic==1.7.3 # via # -c requirements/_base.txt # -r requirements/_test.in @@ -64,6 +64,11 @@ idna==2.10 # -c requirements/_base.txt # requests # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../requirements/constraints.txt + # -c requirements/_base.txt + # alembic iniconfig==1.1.1 # via pytest isort==5.9.3 @@ -144,16 +149,9 @@ pytest-sugar==0.9.4 pytest-xdist==2.3.0 # via -r requirements/_test.in python-dateutil==2.8.2 - # via - # -c requirements/_base.txt - # alembic - # faker + # via faker python-dotenv==0.19.0 # via -r requirements/_test.in -python-editor==1.0.4 - # via - # -c requirements/_base.txt - # alembic requests==2.26.0 # via # -c requirements/_base.txt @@ -201,6 +199,10 @@ yarl==1.6.3 # via # -c requirements/_base.txt # aiohttp +zipp==3.5.0 + # via + # -c requirements/_base.txt + # importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/services/api-server/requirements/_base.txt b/services/api-server/requirements/_base.txt index c2950a4c6c8..af3e31314b2 100644 --- a/services/api-server/requirements/_base.txt +++ b/services/api-server/requirements/_base.txt @@ -27,7 +27,7 @@ aiopg==1.2.1 # via # -r requirements/../../../packages/simcore-sdk/requirements/_base.in # -r requirements/_base.in -alembic==1.6.5 +alembic==1.7.3 # via -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in aniso8601==7.0.0 # via graphene @@ -125,6 +125,7 @@ importlib-resources==5.1.3 ; python_version < "3.9" # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # -r requirements/_base.in + # alembic itsdangerous==1.1.0 # via fastapi jinja2==2.11.3 @@ -194,14 +195,10 @@ pyinstrument-cext==0.2.4 # via pyinstrument pyparsing==2.4.7 # via packaging -python-dateutil==2.8.2 - # via alembic python-dotenv==0.17.1 # via # pydantic # uvicorn -python-editor==1.0.4 - # via alembic python-multipart==0.0.5 # via fastapi pyyaml==5.4.1 @@ -232,7 +229,6 @@ six==1.16.0 # graphene # graphql-core # graphql-relay - # python-dateutil # python-multipart # tenacity # websocket-client diff --git a/services/api-server/requirements/_test.txt b/services/api-server/requirements/_test.txt index a92dc4aef50..5e5189da7d9 100644 --- a/services/api-server/requirements/_test.txt +++ b/services/api-server/requirements/_test.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/_test.txt --strip-extras requirements/_test.in # -alembic==1.6.5 +alembic==1.7.3 # via # -c requirements/_base.txt # -r requirements/_test.in @@ -95,6 +95,12 @@ idna==2.10 # requests # rfc3986 # yarl +importlib-resources==5.1.3 ; python_version < "3.9" + # via + # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../requirements/constraints.txt + # -c requirements/_base.txt + # alembic iniconfig==1.1.1 # via pytest isort==5.9.3 @@ -167,18 +173,11 @@ pytest-mock==3.6.1 pytest-runner==5.3.1 # via -r requirements/_test.in python-dateutil==2.8.2 - # via - # -c requirements/_base.txt - # alembic - # faker + # via faker python-dotenv==0.17.1 # via # -c requirements/_base.txt # docker-compose -python-editor==1.0.4 - # via - # -c requirements/_base.txt - # alembic pyyaml==5.4.1 # via # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt diff --git a/services/catalog/requirements/_test.txt b/services/catalog/requirements/_test.txt index 31cf1cb41af..d6828b25a1c 100644 --- a/services/catalog/requirements/_test.txt +++ b/services/catalog/requirements/_test.txt @@ -8,7 +8,7 @@ aiohttp==3.7.4.post0 # via # -c requirements/../../../requirements/constraints.txt # pytest-aiohttp -alembic==1.6.5 +alembic==1.7.3 # via -r requirements/_test.in astroid==2.8.0 # via pylint @@ -92,6 +92,10 @@ idna==2.10 # requests # rfc3986 # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../requirements/constraints.txt + # alembic iniconfig==1.1.1 # via pytest isort==5.9.3 @@ -163,15 +167,11 @@ pytest-mock==3.6.1 pytest-runner==5.3.1 # via -r requirements/_test.in python-dateutil==2.8.2 - # via - # alembic - # faker + # via faker python-dotenv==0.15.0 # via # -c requirements/_base.txt # docker-compose -python-editor==1.0.4 - # via alembic pyyaml==5.4.1 # via # -c requirements/../../../requirements/constraints.txt @@ -239,6 +239,8 @@ yarl==1.6.3 # via # -c requirements/_base.txt # aiohttp +zipp==3.5.0 + # via importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/services/dask-sidecar/requirements/_base.txt b/services/dask-sidecar/requirements/_base.txt index 9e51af79730..09214deb5a5 100644 --- a/services/dask-sidecar/requirements/_base.txt +++ b/services/dask-sidecar/requirements/_base.txt @@ -28,7 +28,7 @@ aiohttp==3.7.4.post0 # -c requirements/../../../services/sidecar/requirements/_base.txt # aiodocker # jupyter-server-proxy -alembic==1.6.5 +alembic==1.7.3 # via # -c requirements/../../../services/sidecar/requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in @@ -118,6 +118,19 @@ idna==2.10 # email-validator # requests # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/settings-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt + # -c requirements/../../../requirements/constraints.txt + # -c requirements/../../../services/sidecar/requirements/_base.txt + # alembic ipython-genutils==0.2.0 # via # jupyter-server @@ -264,15 +277,9 @@ pyrsistent==0.17.3 # via jsonschema python-dateutil==2.8.1 # via - # -c requirements/../../../services/sidecar/requirements/_base.txt - # alembic # bokeh # jupyter-client # pandas -python-editor==1.0.4 - # via - # -c requirements/../../../services/sidecar/requirements/_base.txt - # alembic pytz==2020.1 # via # -c requirements/../../../services/sidecar/requirements/_base.txt @@ -413,6 +420,10 @@ yarl==1.6.3 # aiohttp zict==2.0.0 # via distributed +zipp==3.5.0 + # via + # -c requirements/../../../services/sidecar/requirements/_base.txt + # importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/services/dask-sidecar/requirements/_packages.txt b/services/dask-sidecar/requirements/_packages.txt index 8203bf3a0a3..1ea3563b6bf 100644 --- a/services/dask-sidecar/requirements/_packages.txt +++ b/services/dask-sidecar/requirements/_packages.txt @@ -58,7 +58,7 @@ aiormq==3.2.3 # via # -r requirements/../../../services/sidecar/requirements/_base.txt # aio-pika -alembic==1.6.5 +alembic==1.7.3 # via # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in @@ -146,6 +146,19 @@ idna==2.10 # email-validator # requests # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt + # -c requirements/../../../requirements/constraints.txt + # -c requirements/_base.txt + # -r requirements/../../../services/sidecar/requirements/_base.txt + # alembic kombu==4.6.11 # via # -r requirements/../../../services/sidecar/requirements/_base.txt @@ -221,16 +234,6 @@ pyparsing==2.4.7 # -c requirements/_base.txt # -r requirements/../../../services/sidecar/requirements/_base.txt # packaging -python-dateutil==2.8.1 - # via - # -c requirements/_base.txt - # -r requirements/../../../services/sidecar/requirements/_base.txt - # alembic -python-editor==1.0.4 - # via - # -c requirements/_base.txt - # -r requirements/../../../services/sidecar/requirements/_base.txt - # alembic pytz==2020.1 # via # -c requirements/_base.txt @@ -263,7 +266,6 @@ six==1.15.0 # -c requirements/_base.txt # -r requirements/../../../services/sidecar/requirements/_base.txt # packaging - # python-dateutil # tenacity # websocket-client sqlalchemy==1.3.24 @@ -345,3 +347,8 @@ yarl==1.6.3 # aio-pika # aiohttp # aiormq +zipp==3.5.0 + # via + # -c requirements/_base.txt + # -r requirements/../../../services/sidecar/requirements/_base.txt + # importlib-resources diff --git a/services/dask-sidecar/requirements/_test.txt b/services/dask-sidecar/requirements/_test.txt index ecc1bc76af4..cd6dde55389 100644 --- a/services/dask-sidecar/requirements/_test.txt +++ b/services/dask-sidecar/requirements/_test.txt @@ -14,7 +14,7 @@ aiopg==1.2.1 # via # -c requirements/_packages.txt # -r requirements/_test.in -alembic==1.6.5 +alembic==1.7.3 # via # -c requirements/_base.txt # -c requirements/_packages.txt @@ -69,6 +69,12 @@ idna==2.10 # -c requirements/_packages.txt # requests # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../requirements/constraints.txt + # -c requirements/_base.txt + # -c requirements/_packages.txt + # alembic iniconfig==1.1.1 # via pytest isort==5.9.3 @@ -153,16 +159,9 @@ pytest-sugar==0.9.4 python-dateutil==2.8.1 # via # -c requirements/_base.txt - # -c requirements/_packages.txt - # alembic # faker python-dotenv==0.19.0 # via -r requirements/_test.in -python-editor==1.0.4 - # via - # -c requirements/_base.txt - # -c requirements/_packages.txt - # alembic requests==2.25.1 # via # -c requirements/_base.txt @@ -217,6 +216,11 @@ yarl==1.6.3 # -c requirements/_base.txt # -c requirements/_packages.txt # aiohttp +zipp==3.5.0 + # via + # -c requirements/_base.txt + # -c requirements/_packages.txt + # importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/services/director-v2/requirements/_test.txt b/services/director-v2/requirements/_test.txt index d20361aa1be..aa3d5a37b76 100644 --- a/services/director-v2/requirements/_test.txt +++ b/services/director-v2/requirements/_test.txt @@ -17,7 +17,7 @@ aioredis==1.3.1 # -r requirements/_test.in aiormq==3.3.1 # via aio-pika -alembic==1.6.5 +alembic==1.7.3 # via -r requirements/_test.in amqp==5.0.6 # via @@ -140,6 +140,10 @@ idna==2.10 # requests # rfc3986 # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../requirements/constraints.txt + # alembic iniconfig==1.1.1 # via pytest isort==5.9.3 @@ -236,15 +240,11 @@ pytest-runner==5.3.1 pytest-xdist==2.3.0 # via -r requirements/_test.in python-dateutil==2.8.2 - # via - # alembic - # faker + # via faker python-dotenv==0.18.0 # via # -c requirements/_base.txt # docker-compose -python-editor==1.0.4 - # via alembic pytz==2021.1 # via # -c requirements/_base.txt @@ -332,6 +332,8 @@ yarl==1.6.3 # aio-pika # aiohttp # aiormq +zipp==3.5.0 + # via importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/services/sidecar/requirements/_base.txt b/services/sidecar/requirements/_base.txt index 5b44163ece1..8865e0be59e 100644 --- a/services/sidecar/requirements/_base.txt +++ b/services/sidecar/requirements/_base.txt @@ -51,7 +51,7 @@ aioredlock==0.5.2 # via -r requirements/_base.in aiormq==3.2.3 # via aio-pika -alembic==1.6.5 +alembic==1.7.3 # via -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in amqp==2.6.1 # via kombu @@ -105,6 +105,18 @@ idna==2.10 # email-validator # requests # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/settings-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt + # -c requirements/../../../requirements/constraints.txt + # alembic kombu==4.6.11 # via celery mako==1.1.4 @@ -158,10 +170,6 @@ pyinstrument-cext==0.2.4 # via pyinstrument pyparsing==2.4.7 # via packaging -python-dateutil==2.8.1 - # via alembic -python-editor==1.0.4 - # via alembic pytz==2020.1 # via celery pyyaml==5.4.1 @@ -184,7 +192,6 @@ requests==2.25.1 six==1.15.0 # via # packaging - # python-dateutil # tenacity # websocket-client sqlalchemy==1.3.24 @@ -250,3 +257,5 @@ yarl==1.6.3 # aio-pika # aiohttp # aiormq +zipp==3.5.0 + # via importlib-resources diff --git a/services/sidecar/requirements/_packages.txt b/services/sidecar/requirements/_packages.txt index bd8015c6749..dac988ec3ec 100644 --- a/services/sidecar/requirements/_packages.txt +++ b/services/sidecar/requirements/_packages.txt @@ -29,7 +29,7 @@ aiopg==1.2.1 # via # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/_base.in -alembic==1.6.5 +alembic==1.7.3 # via # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in @@ -87,6 +87,18 @@ idna==2.10 # email-validator # requests # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt + # -c requirements/../../../requirements/constraints.txt + # -c requirements/_base.txt + # alembic mako==1.1.4 # via # -c requirements/_base.txt @@ -145,14 +157,6 @@ pyparsing==2.4.7 # via # -c requirements/_base.txt # packaging -python-dateutil==2.8.1 - # via - # -c requirements/_base.txt - # alembic -python-editor==1.0.4 - # via - # -c requirements/_base.txt - # alembic pyyaml==5.4.1 # via # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt @@ -175,7 +179,6 @@ six==1.15.0 # via # -c requirements/_base.txt # packaging - # python-dateutil # tenacity # websocket-client sqlalchemy==1.3.24 @@ -242,3 +245,7 @@ yarl==1.6.3 # -r requirements/../../../packages/postgres-database/requirements/_base.in # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.in # aiohttp +zipp==3.5.0 + # via + # -c requirements/_base.txt + # importlib-resources diff --git a/services/sidecar/requirements/_test.txt b/services/sidecar/requirements/_test.txt index 2bd2f4e3070..947dbe2c597 100644 --- a/services/sidecar/requirements/_test.txt +++ b/services/sidecar/requirements/_test.txt @@ -15,7 +15,7 @@ aiopg==1.2.1 # -c requirements/_base.txt # -c requirements/_packages.txt # -r requirements/_test.in -alembic==1.6.5 +alembic==1.7.3 # via # -c requirements/_base.txt # -c requirements/_packages.txt @@ -71,6 +71,12 @@ idna==2.10 # -c requirements/_packages.txt # requests # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../requirements/constraints.txt + # -c requirements/_base.txt + # -c requirements/_packages.txt + # alembic iniconfig==1.1.1 # via pytest isort==5.9.3 @@ -157,18 +163,9 @@ pytest-mock==3.6.1 pytest-sugar==0.9.4 # via -r requirements/_test.in python-dateutil==2.8.1 - # via - # -c requirements/_base.txt - # -c requirements/_packages.txt - # alembic - # faker + # via faker python-dotenv==0.19.0 # via -r requirements/_test.in -python-editor==1.0.4 - # via - # -c requirements/_base.txt - # -c requirements/_packages.txt - # alembic requests==2.25.1 # via # -c requirements/_base.txt @@ -224,6 +221,11 @@ yarl==1.6.3 # -c requirements/_base.txt # -c requirements/_packages.txt # aiohttp +zipp==3.5.0 + # via + # -c requirements/_base.txt + # -c requirements/_packages.txt + # importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/services/web/server/requirements/_test.txt b/services/web/server/requirements/_test.txt index e538576646a..60d666d0943 100644 --- a/services/web/server/requirements/_test.txt +++ b/services/web/server/requirements/_test.txt @@ -13,7 +13,7 @@ aiohttp==3.7.4.post0 # pytest-aiohttp aioresponses==0.7.2 # via -r requirements/_test.in -alembic==1.6.5 +alembic==1.7.3 # via -r requirements/_test.in amqp==5.0.6 # via @@ -120,6 +120,10 @@ idna==2.10 # -c requirements/_packages.txt # requests # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../../requirements/constraints.txt + # alembic iniconfig==1.1.1 # via pytest isodate==0.6.0 @@ -233,15 +237,11 @@ pytest-runner==5.3.1 pytest-sugar==0.9.4 # via -r requirements/_test.in python-dateutil==2.8.2 - # via - # alembic - # faker + # via faker python-dotenv==0.19.0 # via # -r requirements/_test.in # docker-compose -python-editor==1.0.4 - # via alembic pytz==2021.1 # via # -c requirements/_base.txt @@ -332,6 +332,8 @@ yarl==1.5.1 # -c requirements/_base.txt # -c requirements/_packages.txt # aiohttp +zipp==3.5.0 + # via importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/tests/swarm-deploy/requirements/_test.txt b/tests/swarm-deploy/requirements/_test.txt index 6ec8dc1b73d..e42201242f2 100644 --- a/tests/swarm-deploy/requirements/_test.txt +++ b/tests/swarm-deploy/requirements/_test.txt @@ -27,7 +27,7 @@ aiopg==1.3.1 # via -r requirements/../../../packages/simcore-sdk/requirements/_base.in aiormq==3.3.1 # via aio-pika -alembic==1.6.5 +alembic==1.7.3 # via # -r requirements/../../../packages/postgres-database/requirements/_migration.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in @@ -85,6 +85,17 @@ idna==2.10 # email-validator # requests # yarl +importlib-resources==5.2.2 ; python_version < "3.9" + # via + # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../requirements/constraints.txt + # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt + # -c requirements/../../../requirements/constraints.txt + # -r requirements/../../../packages/postgres-database/requirements/_migration.txt + # alembic iniconfig==1.1.1 # via pytest jsonschema==3.2.0 @@ -174,16 +185,8 @@ pytest-runner==5.3.1 # via -r requirements/_test.in pytest-sugar==0.9.4 # via -r requirements/_test.in -python-dateutil==2.8.2 - # via - # -r requirements/../../../packages/postgres-database/requirements/_migration.txt - # alembic python-dotenv==0.19.0 # via -r requirements/_test.in -python-editor==1.0.4 - # via - # -r requirements/../../../packages/postgres-database/requirements/_migration.txt - # alembic pyyaml==5.4.1 # via # -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt @@ -205,7 +208,6 @@ six==1.16.0 # via # -r requirements/../../../packages/postgres-database/requirements/_migration.txt # jsonschema - # python-dateutil # websocket-client sqlalchemy==1.3.24 # via @@ -274,6 +276,10 @@ yarl==1.6.3 # aio-pika # aiohttp # aiormq +zipp==3.5.0 + # via + # -r requirements/../../../packages/postgres-database/requirements/_migration.txt + # importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools From 40a46cc9938b0367bb6995f5b1759afbb7a98514 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 14:34:45 +0200 Subject: [PATCH 20/30] upgraded click --- services/dask-sidecar/requirements/_base.txt | 2 +- services/dask-sidecar/requirements/_dask-complete.txt | 2 +- services/dask-sidecar/requirements/_dask-distributed.txt | 2 +- services/dask-sidecar/requirements/_packages.txt | 2 +- services/dask-sidecar/requirements/_tools.txt | 2 +- services/sidecar/requirements/_base.txt | 2 +- services/sidecar/requirements/_packages.txt | 2 +- services/sidecar/requirements/_tools.txt | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/services/dask-sidecar/requirements/_base.txt b/services/dask-sidecar/requirements/_base.txt index 09214deb5a5..4f30ee79138 100644 --- a/services/dask-sidecar/requirements/_base.txt +++ b/services/dask-sidecar/requirements/_base.txt @@ -67,7 +67,7 @@ chardet==3.0.4 # -c requirements/../../../services/sidecar/requirements/_base.txt # aiohttp # requests -click==7.1.2 +click==8.0.1 # via # -c requirements/../../../services/sidecar/requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in diff --git a/services/dask-sidecar/requirements/_dask-complete.txt b/services/dask-sidecar/requirements/_dask-complete.txt index ff5e8ae6bec..649c309d19f 100644 --- a/services/dask-sidecar/requirements/_dask-complete.txt +++ b/services/dask-sidecar/requirements/_dask-complete.txt @@ -8,7 +8,7 @@ bokeh==2.3.2 # via # -c requirements/./_base.txt # dask -click==7.1.2 +click==8.0.1 # via # -c requirements/./_base.txt # distributed diff --git a/services/dask-sidecar/requirements/_dask-distributed.txt b/services/dask-sidecar/requirements/_dask-distributed.txt index e481387e480..08905de8fe4 100644 --- a/services/dask-sidecar/requirements/_dask-distributed.txt +++ b/services/dask-sidecar/requirements/_dask-distributed.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/_dask-distributed.txt --strip-extras requirements/_dask-distributed.in # -click==7.1.2 +click==8.0.1 # via # -c requirements/./_base.txt # distributed diff --git a/services/dask-sidecar/requirements/_packages.txt b/services/dask-sidecar/requirements/_packages.txt index 1ea3563b6bf..fd114ba19a5 100644 --- a/services/dask-sidecar/requirements/_packages.txt +++ b/services/dask-sidecar/requirements/_packages.txt @@ -104,7 +104,7 @@ chardet==3.0.4 # -r requirements/../../../services/sidecar/requirements/_base.txt # aiohttp # requests -click==7.1.2 +click==8.0.1 # via # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in diff --git a/services/dask-sidecar/requirements/_tools.txt b/services/dask-sidecar/requirements/_tools.txt index 1c496ebb59d..116d5fbedf7 100644 --- a/services/dask-sidecar/requirements/_tools.txt +++ b/services/dask-sidecar/requirements/_tools.txt @@ -14,7 +14,7 @@ bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt cfgv==3.3.0 # via pre-commit -click==7.1.2 +click==8.0.1 # via # -c requirements/_base.txt # -c requirements/_packages.txt diff --git a/services/sidecar/requirements/_base.txt b/services/sidecar/requirements/_base.txt index 8865e0be59e..8c71b53bfc2 100644 --- a/services/sidecar/requirements/_base.txt +++ b/services/sidecar/requirements/_base.txt @@ -79,7 +79,7 @@ chardet==3.0.4 # via # aiohttp # requests -click==7.1.2 +click==8.0.1 # via # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # -r requirements/_base.in diff --git a/services/sidecar/requirements/_packages.txt b/services/sidecar/requirements/_packages.txt index dac988ec3ec..74e84b791e4 100644 --- a/services/sidecar/requirements/_packages.txt +++ b/services/sidecar/requirements/_packages.txt @@ -54,7 +54,7 @@ chardet==3.0.4 # -c requirements/_base.txt # aiohttp # requests -click==7.1.2 +click==8.0.1 # via # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in diff --git a/services/sidecar/requirements/_tools.txt b/services/sidecar/requirements/_tools.txt index 1c496ebb59d..116d5fbedf7 100644 --- a/services/sidecar/requirements/_tools.txt +++ b/services/sidecar/requirements/_tools.txt @@ -14,7 +14,7 @@ bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt cfgv==3.3.0 # via pre-commit -click==7.1.2 +click==8.0.1 # via # -c requirements/_base.txt # -c requirements/_packages.txt From 02117a63e141b099305165c4866d64ef09c67632 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 14:44:21 +0200 Subject: [PATCH 21/30] upgrades celery==5.1.2: this constraints click<8 --- services/dask-sidecar/requirements/_base.in | 2 + services/dask-sidecar/requirements/_base.txt | 2 +- .../requirements/_dask-complete.txt | 2 +- .../requirements/_dask-distributed.txt | 2 +- .../dask-sidecar/requirements/_packages.txt | 41 ++++++++++++++++--- services/dask-sidecar/requirements/_tools.txt | 2 +- services/director-v2/requirements/_base.txt | 5 ++- services/director-v2/requirements/_test.txt | 7 +++- services/sidecar/requirements/_base.txt | 31 +++++++++++--- services/sidecar/requirements/_packages.txt | 2 +- services/sidecar/requirements/_tools.txt | 2 +- services/web/server/requirements/_base.txt | 2 +- services/web/server/requirements/_test.txt | 2 +- 13 files changed, 80 insertions(+), 22 deletions(-) diff --git a/services/dask-sidecar/requirements/_base.in b/services/dask-sidecar/requirements/_base.in index fe400336590..7c3c758f3ca 100644 --- a/services/dask-sidecar/requirements/_base.in +++ b/services/dask-sidecar/requirements/_base.in @@ -15,6 +15,8 @@ --constraint ../../../packages/postgres-database/requirements/_base.in --constraint ../../../packages/service-library/requirements/_base.in --constraint ../../../packages/simcore-sdk/requirements/_base.in + +# WARNING: this keeps compatibility with sidecar service requirements --constraint ../../../services/sidecar/requirements/_base.txt aiodocker diff --git a/services/dask-sidecar/requirements/_base.txt b/services/dask-sidecar/requirements/_base.txt index 4f30ee79138..09214deb5a5 100644 --- a/services/dask-sidecar/requirements/_base.txt +++ b/services/dask-sidecar/requirements/_base.txt @@ -67,7 +67,7 @@ chardet==3.0.4 # -c requirements/../../../services/sidecar/requirements/_base.txt # aiohttp # requests -click==8.0.1 +click==7.1.2 # via # -c requirements/../../../services/sidecar/requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in diff --git a/services/dask-sidecar/requirements/_dask-complete.txt b/services/dask-sidecar/requirements/_dask-complete.txt index 649c309d19f..ff5e8ae6bec 100644 --- a/services/dask-sidecar/requirements/_dask-complete.txt +++ b/services/dask-sidecar/requirements/_dask-complete.txt @@ -8,7 +8,7 @@ bokeh==2.3.2 # via # -c requirements/./_base.txt # dask -click==8.0.1 +click==7.1.2 # via # -c requirements/./_base.txt # distributed diff --git a/services/dask-sidecar/requirements/_dask-distributed.txt b/services/dask-sidecar/requirements/_dask-distributed.txt index 08905de8fe4..e481387e480 100644 --- a/services/dask-sidecar/requirements/_dask-distributed.txt +++ b/services/dask-sidecar/requirements/_dask-distributed.txt @@ -4,7 +4,7 @@ # # pip-compile --output-file=requirements/_dask-distributed.txt --strip-extras requirements/_dask-distributed.in # -click==8.0.1 +click==7.1.2 # via # -c requirements/./_base.txt # distributed diff --git a/services/dask-sidecar/requirements/_packages.txt b/services/dask-sidecar/requirements/_packages.txt index fd114ba19a5..5bc478bfd61 100644 --- a/services/dask-sidecar/requirements/_packages.txt +++ b/services/dask-sidecar/requirements/_packages.txt @@ -63,7 +63,7 @@ alembic==1.7.3 # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # -r requirements/../../../services/sidecar/requirements/_base.txt -amqp==2.6.1 +amqp==5.0.6 # via # -r requirements/../../../services/sidecar/requirements/_base.txt # kombu @@ -83,7 +83,7 @@ attrs==20.2.0 # -r requirements/../../../services/sidecar/requirements/_base.txt # aiohttp # aioredlock -billiard==3.6.3.0 +billiard==3.6.4.0 # via # -r requirements/../../../services/sidecar/requirements/_base.txt # celery @@ -91,7 +91,7 @@ caio==0.6.1 # via # -r requirements/../../../services/sidecar/requirements/_base.txt # aiofile -celery==4.4.7 +celery==5.1.2 # via -r requirements/../../../services/sidecar/requirements/_base.txt certifi==2021.5.30 # via @@ -104,11 +104,27 @@ chardet==3.0.4 # -r requirements/../../../services/sidecar/requirements/_base.txt # aiohttp # requests -click==8.0.1 +click==7.1.2 # via # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # -r requirements/../../../services/sidecar/requirements/_base.txt + # celery + # click-didyoumean + # click-plugins + # click-repl +click-didyoumean==0.0.3 + # via + # -r requirements/../../../services/sidecar/requirements/_base.txt + # celery +click-plugins==1.1.1 + # via + # -r requirements/../../../services/sidecar/requirements/_base.txt + # celery +click-repl==0.2.0 + # via + # -r requirements/../../../services/sidecar/requirements/_base.txt + # celery decorator==4.4.2 # via # -r requirements/../../../services/sidecar/requirements/_base.txt @@ -159,7 +175,7 @@ importlib-resources==5.2.2 ; python_version < "3.9" # -c requirements/_base.txt # -r requirements/../../../services/sidecar/requirements/_base.txt # alembic -kombu==4.6.11 +kombu==5.1.0 # via # -r requirements/../../../services/sidecar/requirements/_base.txt # celery @@ -193,6 +209,10 @@ pamqp==2.3.0 # via # -r requirements/../../../services/sidecar/requirements/_base.txt # aiormq +prompt-toolkit==3.0.20 + # via + # -r requirements/../../../services/sidecar/requirements/_base.txt + # click-repl psycopg2-binary==2.9.1 # via # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt @@ -265,6 +285,7 @@ six==1.15.0 # via # -c requirements/_base.txt # -r requirements/../../../services/sidecar/requirements/_base.txt + # click-repl # packaging # tenacity # websocket-client @@ -326,11 +347,16 @@ urllib3==1.26.5 # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # -r requirements/../../../services/sidecar/requirements/_base.txt # requests -vine==1.3.0 +vine==5.0.0 # via # -r requirements/../../../services/sidecar/requirements/_base.txt # amqp # celery + # kombu +wcwidth==0.2.5 + # via + # -r requirements/../../../services/sidecar/requirements/_base.txt + # prompt-toolkit websocket-client==0.59.0 # via # -c requirements/_base.txt @@ -352,3 +378,6 @@ zipp==3.5.0 # -c requirements/_base.txt # -r requirements/../../../services/sidecar/requirements/_base.txt # importlib-resources + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/services/dask-sidecar/requirements/_tools.txt b/services/dask-sidecar/requirements/_tools.txt index 116d5fbedf7..1c496ebb59d 100644 --- a/services/dask-sidecar/requirements/_tools.txt +++ b/services/dask-sidecar/requirements/_tools.txt @@ -14,7 +14,7 @@ bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt cfgv==3.3.0 # via pre-commit -click==8.0.1 +click==7.1.2 # via # -c requirements/_base.txt # -c requirements/_packages.txt diff --git a/services/director-v2/requirements/_base.txt b/services/director-v2/requirements/_base.txt index ffa4c2987e3..8e2a0b95ef7 100644 --- a/services/director-v2/requirements/_base.txt +++ b/services/director-v2/requirements/_base.txt @@ -35,7 +35,7 @@ attrs==21.2.0 # via aiohttp billiard==3.6.4.0 # via celery -celery==5.0.2 +celery==5.1.2 # via -r requirements/_base.in certifi==2021.5.30 # via @@ -50,12 +50,15 @@ click==7.1.2 # -r requirements/../../../services/dask-sidecar/requirements/_dask-distributed.txt # celery # click-didyoumean + # click-plugins # click-repl # distributed # typer # uvicorn click-didyoumean==0.0.3 # via celery +click-plugins==1.1.1 + # via celery click-repl==0.1.6 # via celery cloudpickle==1.6.0 diff --git a/services/director-v2/requirements/_test.txt b/services/director-v2/requirements/_test.txt index aa3d5a37b76..2e85e247cef 100644 --- a/services/director-v2/requirements/_test.txt +++ b/services/director-v2/requirements/_test.txt @@ -51,7 +51,7 @@ billiard==3.6.4.0 # via # -c requirements/_base.txt # celery -celery==5.0.2 +celery==5.1.2 # via # -c requirements/_base.txt # pytest-celery @@ -75,11 +75,16 @@ click==7.1.2 # -c requirements/_base.txt # celery # click-didyoumean + # click-plugins # click-repl click-didyoumean==0.0.3 # via # -c requirements/_base.txt # celery +click-plugins==1.1.1 + # via + # -c requirements/_base.txt + # celery click-repl==0.1.6 # via # -c requirements/_base.txt diff --git a/services/sidecar/requirements/_base.txt b/services/sidecar/requirements/_base.txt index 8c71b53bfc2..5a0ab8e1e74 100644 --- a/services/sidecar/requirements/_base.txt +++ b/services/sidecar/requirements/_base.txt @@ -53,7 +53,7 @@ aiormq==3.2.3 # via aio-pika alembic==1.7.3 # via -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in -amqp==2.6.1 +amqp==5.0.6 # via kombu async-timeout==3.0.1 # via @@ -67,11 +67,11 @@ attrs==20.2.0 # -c requirements/../../../packages/simcore-sdk/requirements/_base.in # aiohttp # aioredlock -billiard==3.6.3.0 +billiard==3.6.4.0 # via celery caio==0.6.1 # via aiofile -celery==4.4.7 +celery==5.1.2 # via -r requirements/_base.in certifi==2021.5.30 # via requests @@ -79,10 +79,20 @@ chardet==3.0.4 # via # aiohttp # requests -click==8.0.1 +click==7.1.2 # via # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # -r requirements/_base.in + # celery + # click-didyoumean + # click-plugins + # click-repl +click-didyoumean==0.0.3 + # via celery +click-plugins==1.1.1 + # via celery +click-repl==0.2.0 + # via celery decorator==4.4.2 # via networkx dnspython==2.0.0 @@ -117,7 +127,7 @@ importlib-resources==5.2.2 ; python_version < "3.9" # -c requirements/../../../packages/simcore-sdk/requirements/../../../requirements/constraints.txt # -c requirements/../../../requirements/constraints.txt # alembic -kombu==4.6.11 +kombu==5.1.0 # via celery mako==1.1.4 # via alembic @@ -138,6 +148,8 @@ packaging==20.4 # -r requirements/_base.in pamqp==2.3.0 # via aiormq +prompt-toolkit==3.0.20 + # via click-repl psycopg2-binary==2.9.1 # via # -c requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_base.txt @@ -191,6 +203,7 @@ requests==2.25.1 # via docker six==1.15.0 # via + # click-repl # packaging # tenacity # websocket-client @@ -241,10 +254,13 @@ urllib3==1.26.5 # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in # -r requirements/_base.in # requests -vine==1.3.0 +vine==5.0.0 # via # amqp # celery + # kombu +wcwidth==0.2.5 + # via prompt-toolkit websocket-client==0.59.0 # via # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in @@ -259,3 +275,6 @@ yarl==1.6.3 # aiormq zipp==3.5.0 # via importlib-resources + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/services/sidecar/requirements/_packages.txt b/services/sidecar/requirements/_packages.txt index 74e84b791e4..dac988ec3ec 100644 --- a/services/sidecar/requirements/_packages.txt +++ b/services/sidecar/requirements/_packages.txt @@ -54,7 +54,7 @@ chardet==3.0.4 # -c requirements/_base.txt # aiohttp # requests -click==8.0.1 +click==7.1.2 # via # -c requirements/_base.txt # -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/postgres-database/requirements/_migration.in diff --git a/services/sidecar/requirements/_tools.txt b/services/sidecar/requirements/_tools.txt index 116d5fbedf7..1c496ebb59d 100644 --- a/services/sidecar/requirements/_tools.txt +++ b/services/sidecar/requirements/_tools.txt @@ -14,7 +14,7 @@ bump2version==1.0.1 # via -r requirements/../../../requirements/devenv.txt cfgv==3.3.0 # via pre-commit -click==8.0.1 +click==7.1.2 # via # -c requirements/_base.txt # -c requirements/_packages.txt diff --git a/services/web/server/requirements/_base.txt b/services/web/server/requirements/_base.txt index 2137d2af250..fe92770e80d 100644 --- a/services/web/server/requirements/_base.txt +++ b/services/web/server/requirements/_base.txt @@ -70,7 +70,7 @@ attrs==20.3.0 # aioredlock billiard==3.6.4.0 # via celery -celery==5.1.1 +celery==5.1.2 # via -r requirements/_base.in cffi==1.14.5 # via cryptography diff --git a/services/web/server/requirements/_test.txt b/services/web/server/requirements/_test.txt index 60d666d0943..3b165bc6ab2 100644 --- a/services/web/server/requirements/_test.txt +++ b/services/web/server/requirements/_test.txt @@ -40,7 +40,7 @@ billiard==3.6.4.0 # via # -c requirements/_base.txt # celery -celery==5.1.1 +celery==5.1.2 # via # -c requirements/_base.txt # pytest-celery From 23664f5a7c7347f4add68c536dba5595898c1314 Mon Sep 17 00:00:00 2001 From: Pedro Crespo <32402063+pcrespov@users.noreply.github.com> Date: Mon, 20 Sep 2021 14:44:31 +0200 Subject: [PATCH 22/30] updates doc --- README.md | 2 +- docs/img/.stack-simcore-version.yml.png | Bin 228056 -> 229935 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b4376816cba..56aa0ab3f32 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ [Code style: black]:https://img.shields.io/badge/code%20style-black-000000.svg -[Requires.io]:https://img.shields.io/requires/github/ITISFoundation/osparc-simcore.svg +[Requires.io]:https://img.shields.io/requires/github/ITISFoundation/osparc-simcore.svg?branch=master [travis-ci]:https://travis-ci.org/ITISFoundation/osparc-simcore.svg?branch=master [github.io]:https://img.shields.io/website-up-down-green-red/https/itisfoundation.github.io.svg?label=documentation [itis.dockerhub]:https://img.shields.io/website/https/hub.docker.com/u/itisfoundation.svg?down_color=red&label=dockerhub%20repos&up_color=green diff --git a/docs/img/.stack-simcore-version.yml.png b/docs/img/.stack-simcore-version.yml.png index d02cdb4edcfeebbf40a4818153395b4ddbe12559..b5bee959c3e5445ea5fadc891c289648478749a1 100644 GIT binary patch literal 229935 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

43g6rgy_2n4}2qYd*_)~thFnTx!h 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