diff --git a/requirements-all.txt b/requirements-all.txt index 056e344f34..34444039b3 100644 --- a/requirements-all.txt +++ b/requirements-all.txt @@ -8,7 +8,7 @@ aiostream==0.4.5 annotated-types==0.5.0 apscheduler==3.10.4 asn1crypto==1.5.1 -astroid==2.15.6 +astroid==3.0.0 async-timeout==4.0.3 attrs==23.1.0 autocommand==2.2.2 @@ -20,24 +20,24 @@ azure-mgmt-resource==23.0.1 backoff==2.2.1 bcrypt==4.0.1 black==23.9.1 -boto3==1.28.51 -botocore==1.31.51 +boto3==1.28.60 +botocore==1.31.60 brotli==1.1.0 build==1.0.3 cachetools==5.3.1 cattrs==23.1.2 cerberus==1.3.5 certifi==2023.7.22 -cffi==1.15.1 +cffi==1.16.0 chardet==5.2.0 -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 cheroot==10.0.0 cherrypy==18.8.0 click==8.1.7 colorama==0.4.6 -coverage[toml]==7.3.1 -cryptography==40.0.2 -deepdiff==6.5.0 +coverage[toml]==7.3.2 +cryptography==41.0.4 +deepdiff==6.6.0 defusedxml==0.7.1 deprecated==1.2.14 dill==0.3.7 @@ -47,9 +47,9 @@ filelock==3.12.4 flake8==6.1.0 frozendict==2.3.8 frozenlist==1.4.0 -google-api-core==2.11.1 -google-api-python-client==2.100.0 -google-auth==2.23.0 +google-api-core==2.12.0 +google-api-python-client==2.102.0 +google-auth==2.23.2 google-auth-httplib2==0.1.1 google-cloud-core==2.3.3 google-cloud-storage==2.11.0 @@ -57,7 +57,7 @@ google-crc32c==1.5.0 google-resumable-media==2.6.0 googleapis-common-protos==1.60.0 httplib2==0.22.0 -hypothesis==6.86.2 +hypothesis==6.87.1 idna==3.4 importlib-metadata==6.8.0 inflect==7.0.0 @@ -73,14 +73,13 @@ jmespath==1.0.1 jq==1.6.0 jsons==1.6.3 kubernetes==28.1.0 -lazy-object-proxy==1.9.0 markdown-it-py==3.0.0 markupsafe==2.1.3 mccabe==0.7.0 mdurl==0.1.2 monotonic==1.6 more-itertools==10.1.0 -msal==1.24.0 +msal==1.24.1 msal-extensions==1.0.0 multidict==6.0.4 mypy==1.5.1 @@ -92,7 +91,7 @@ oauthlib==3.2.2 onelogin==2.0.4 ordered-set==4.1.0 oscrypto==1.3.0 -packaging==23.1 +packaging==23.2 paramiko==3.3.1 parsy==2.1 pathspec==0.11.2 @@ -101,16 +100,16 @@ pint==0.22 pip==23.2.1 pip-tools==7.3.0 plantuml==0.3.0 -platformdirs==3.10.0 +platformdirs==3.11.0 pluggy==1.3.0 portalocker==2.8.2 portend==3.2.0 posthog==3.0.2 prometheus-client==0.17.1 prompt-toolkit==3.0.39 -protobuf==4.24.3 +protobuf==4.24.4 psutil==5.9.5 -psycopg2-binary==2.9.7 +psycopg2-binary==2.9.9 pyarrow==13.0.0 pyasn1==0.5.0 pyasn1-modules==0.3.0 @@ -118,13 +117,13 @@ pycares==4.3.0 pycodestyle==2.11.0 pycparser==2.21 pycryptodomex==3.19.0 -pydantic==2.3.0 -pydantic-core==2.6.3 +pydantic==2.4.2 +pydantic-core==2.10.1 pyflakes==3.1.0 -pygithub==1.59.1 +pygithub==2.1.1 pygments==2.16.1 pyjwt[crypto]==2.8.0 -pylint==2.17.5 +pylint==3.0.0 pymysql==1.1.0 pynacl==1.5.0 pyopenssl==23.2.0 @@ -135,10 +134,10 @@ pytest==7.4.2 pytest-asyncio==0.21.1 pytest-cov==4.1.0 pytest-runner==6.0.0 -python-arango==7.6.2 +python-arango==7.7.0 python-dateutil==2.8.2 pytz==2023.3.post1 -pyvmomi==8.0.1.0.2 +pyvmomi==8.0.2.0 pyyaml==6.0.1 requests==2.31.0 requests-oauthlib==1.3.1 @@ -149,13 +148,13 @@ resotodatalink[extra]==1.2.0 resotoui==3.7.1 retrying==1.3.4 rfc3339-validator==0.1.4 -rich==13.5.3 +rich==13.6.0 rsa==4.9 -s3transfer==0.6.2 +s3transfer==0.7.0 setuptools==68.2.2 six==1.16.0 -slack-sdk==3.22.0 -snowflake-connector-python==3.0.4 +slack-sdk==3.23.0 +snowflake-connector-python==3.2.1 snowflake-sqlalchemy==1.5.0 sortedcontainers==2.4.0 sqlalchemy==1.4.49 @@ -167,21 +166,26 @@ toolz==0.12.0 tox==4.11.3 transitions==0.9.0 typeguard==4.1.5 +types-aiofiles==23.2.0.0 +types-python-dateutil==2.8.19.14 +types-pytz==2023.3.1.1 +types-pyyaml==6.0.12.12 +types-requests==2.31.0.6 +types-setuptools==68.2.0.0 +types-tzlocal==5.1.0.0 +types-urllib3==1.26.25.14 typing-extensions==4.8.0 typish==1.9.3 tzdata==2023.3 -tzlocal==5.0.1 +tzlocal==5.1 uritemplate==4.1.1 -urllib3==1.26.16 +urllib3==1.26.17 ustache==0.1.5 virtualenv==20.24.5 -wcwidth==0.2.6 +wcwidth==0.2.8 websocket-client==1.6.3 wheel==0.41.2 wrapt==1.15.0 yarl==1.9.2 zc-lockfile==3.0.post1 zipp==3.17.0 - -# FIX: 2.31.0.7 depends on urllib3>=2 which is wrong -types-requests==2.31.0.6 diff --git a/requirements-extra.txt b/requirements-extra.txt index fc03be68e3..c3e8953fdd 100644 --- a/requirements-extra.txt +++ b/requirements-extra.txt @@ -18,28 +18,28 @@ azure-mgmt-core==1.4.0 azure-mgmt-resource==23.0.1 backoff==2.2.1 bcrypt==4.0.1 -boto3==1.28.51 -botocore==1.31.51 +boto3==1.28.60 +botocore==1.31.60 brotli==1.1.0 cachetools==5.3.1 cattrs==23.1.2 cerberus==1.3.5 certifi==2023.7.22 -cffi==1.15.1 -charset-normalizer==3.2.0 +cffi==1.16.0 +charset-normalizer==3.3.0 cheroot==10.0.0 cherrypy==18.8.0 -cryptography==40.0.2 -deepdiff==6.5.0 +cryptography==41.0.4 +deepdiff==6.6.0 defusedxml==0.7.1 deprecated==1.2.14 fastjsonschema==2.16.3 filelock==3.12.4 frozendict==2.3.8 frozenlist==1.4.0 -google-api-core==2.11.1 -google-api-python-client==2.100.0 -google-auth==2.23.0 +google-api-core==2.12.0 +google-api-python-client==2.102.0 +google-auth==2.23.2 google-auth-httplib2==0.1.1 google-cloud-core==2.3.3 google-cloud-storage==2.11.0 @@ -65,7 +65,7 @@ markupsafe==2.1.3 mdurl==0.1.2 monotonic==1.6 more-itertools==10.1.0 -msal==1.24.0 +msal==1.24.1 msal-extensions==1.0.0 multidict==6.0.4 networkx==3.1 @@ -75,39 +75,39 @@ oauthlib==3.2.2 onelogin==2.0.4 ordered-set==4.1.0 oscrypto==1.3.0 -packaging==23.1 +packaging==23.2 paramiko==3.3.1 parsy==2.1 pint==0.22 plantuml==0.3.0 -platformdirs==3.10.0 +platformdirs==3.11.0 portalocker==2.8.2 portend==3.2.0 posthog==3.0.2 prometheus-client==0.17.1 prompt-toolkit==3.0.39 -protobuf==4.24.3 +protobuf==4.24.4 psutil==5.9.5 -psycopg2-binary==2.9.7 +psycopg2-binary==2.9.9 pyarrow==13.0.0 pyasn1==0.5.0 pyasn1-modules==0.3.0 pycares==4.3.0 pycparser==2.21 pycryptodomex==3.19.0 -pydantic==2.3.0 -pydantic-core==2.6.3 -pygithub==1.59.1 +pydantic==2.4.2 +pydantic-core==2.10.1 +pygithub==2.1.1 pygments==2.16.1 pyjwt[crypto]==2.8.0 pymysql==1.1.0 pynacl==1.5.0 pyopenssl==23.2.0 pyparsing==3.1.1 -python-arango==7.6.2 +python-arango==7.7.0 python-dateutil==2.8.2 pytz==2023.3.post1 -pyvmomi==8.0.1.0.2 +pyvmomi==8.0.2.0 pyyaml==6.0.1 requests==2.31.0 requests-oauthlib==1.3.1 @@ -118,13 +118,13 @@ resotodatalink[extra]==1.2.0 resotoui==3.7.1 retrying==1.3.4 rfc3339-validator==0.1.4 -rich==13.5.3 +rich==13.6.0 rsa==4.9 -s3transfer==0.6.2 +s3transfer==0.7.0 setuptools==68.2.2 six==1.16.0 -slack-sdk==3.22.0 -snowflake-connector-python==3.0.4 +slack-sdk==3.23.0 +snowflake-connector-python==3.2.1 snowflake-sqlalchemy==1.5.0 sortedcontainers==2.4.0 sqlalchemy==1.4.49 @@ -137,11 +137,11 @@ typeguard==4.1.5 typing-extensions==4.8.0 typish==1.9.3 tzdata==2023.3 -tzlocal==5.0.1 +tzlocal==5.1 uritemplate==4.1.1 -urllib3==1.26.16 +urllib3==1.26.17 ustache==0.1.5 -wcwidth==0.2.6 +wcwidth==0.2.8 websocket-client==1.6.3 wrapt==1.15.0 yarl==1.9.2 diff --git a/requirements-test.txt b/requirements-test.txt index 07a078359f..578e1857e3 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -7,7 +7,7 @@ aiosignal==1.3.1 aiostream==0.4.5 annotated-types==0.5.0 apscheduler==3.10.4 -astroid==2.15.6 +astroid==3.0.0 async-timeout==4.0.3 attrs==23.1.0 autocommand==2.2.2 @@ -19,40 +19,41 @@ azure-mgmt-resource==23.0.1 backoff==2.2.1 bcrypt==4.0.1 black==23.9.1 -boto3==1.28.51 -botocore==1.31.51 +boto3==1.28.60 +botocore==1.31.60 brotli==1.1.0 build==1.0.3 cachetools==5.3.1 cattrs==23.1.2 cerberus==1.3.5 certifi==2023.7.22 -cffi==1.15.1 +cffi==1.16.0 chardet==5.2.0 -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 cheroot==10.0.0 cherrypy==18.8.0 click==8.1.7 colorama==0.4.6 -coverage[toml]==7.3.1 -cryptography==40.0.2 -deepdiff==6.5.0 +coverage[toml]==7.3.2 +cryptography==41.0.4 +deepdiff==6.6.0 defusedxml==0.7.1 deprecated==1.2.14 dill==0.3.7 distlib==0.3.7 +docutils==0.20.1 fastjsonschema==2.16.3 filelock==3.12.4 flake8==6.1.0 frozendict==2.3.8 frozenlist==1.4.0 -google-api-core==2.11.1 -google-api-python-client==2.100.0 -google-auth==2.23.0 +google-api-core==2.12.0 +google-api-python-client==2.102.0 +google-auth==2.23.2 google-auth-httplib2==0.1.1 googleapis-common-protos==1.60.0 httplib2==0.22.0 -hypothesis==6.86.2 +hypothesis==6.87.1 idna==3.4 importlib-metadata==6.8.0 inflect==7.0.0 @@ -68,14 +69,13 @@ jmespath==1.0.1 jq==1.6.0 jsons==1.6.3 kubernetes==28.1.0 -lazy-object-proxy==1.9.0 markdown-it-py==3.0.0 markupsafe==2.1.3 mccabe==0.7.0 mdurl==0.1.2 monotonic==1.6 more-itertools==10.1.0 -msal==1.24.0 +msal==1.24.1 msal-extensions==1.0.0 multidict==6.0.4 mypy==1.5.1 @@ -85,7 +85,7 @@ oauth2client==4.1.3 oauthlib==3.2.2 onelogin==2.0.4 ordered-set==4.1.0 -packaging==23.1 +packaging==23.2 paramiko==3.3.1 parsy==2.1 pathspec==0.11.2 @@ -94,27 +94,27 @@ pint==0.22 pip==23.2.1 pip-tools==7.3.0 plantuml==0.3.0 -platformdirs==3.10.0 +platformdirs==3.11.0 pluggy==1.3.0 portalocker==2.8.2 portend==3.2.0 posthog==3.0.2 prometheus-client==0.17.1 prompt-toolkit==3.0.39 -protobuf==4.24.3 +protobuf==4.24.4 psutil==5.9.5 pyasn1==0.5.0 pyasn1-modules==0.3.0 pycares==4.3.0 pycodestyle==2.11.0 pycparser==2.21 -pydantic==2.3.0 -pydantic-core==2.6.3 +pydantic==2.4.2 +pydantic-core==2.10.1 pyflakes==3.1.0 -pygithub==1.59.1 +pygithub==2.1.1 pygments==2.16.1 pyjwt[crypto]==2.8.0 -pylint==2.17.5 +pylint==3.0.0 pynacl==1.5.0 pyparsing==3.1.1 pyproject-api==1.6.1 @@ -123,10 +123,10 @@ pytest==7.4.2 pytest-asyncio==0.21.1 pytest-cov==4.1.0 pytest-runner==6.0.0 -python-arango==7.6.2 +python-arango==7.7.0 python-dateutil==2.8.2 pytz==2023.3.post1 -pyvmomi==8.0.1.0.2 +pyvmomi==8.0.2.0 pyyaml==6.0.1 requests==2.31.0 requests-oauthlib==1.3.1 @@ -137,12 +137,12 @@ resotodatalink==1.2.0 resotoui==3.7.1 retrying==1.3.4 rfc3339-validator==0.1.4 -rich==13.5.3 +rich==13.6.0 rsa==4.9 -s3transfer==0.6.2 +s3transfer==0.7.0 setuptools==68.2.2 six==1.16.0 -slack-sdk==3.22.0 +slack-sdk==3.23.0 sortedcontainers==2.4.0 sqlalchemy==1.4.49 tempora==5.5.0 @@ -153,21 +153,25 @@ toolz==0.12.0 tox==4.11.3 transitions==0.9.0 typeguard==4.1.5 +types-aiofiles==23.2.0.0 +types-python-dateutil==2.8.19.14 +types-pytz==2023.3.1.1 +types-pyyaml==6.0.12.12 +types-requests==2.31.0.6 +types-setuptools==68.2.0.0 +types-tzlocal==5.1.0.0 typing-extensions==4.8.0 typish==1.9.3 tzdata==2023.3 -tzlocal==5.0.1 +tzlocal==5.1 uritemplate==4.1.1 -urllib3==1.26.16 +urllib3==1.26.17 ustache==0.1.5 virtualenv==20.24.5 -wcwidth==0.2.6 +wcwidth==0.2.8 websocket-client==1.6.3 wheel==0.41.2 wrapt==1.15.0 yarl==1.9.2 zc-lockfile==3.0.post1 zipp==3.17.0 - -# FIX: 2.31.0.7 depends on urllib3>=2 which is wrong -types-requests==2.31.0.6 diff --git a/requirements.txt b/requirements.txt index eb9d2c7036..bc878d5262 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,27 +17,27 @@ azure-mgmt-core==1.4.0 azure-mgmt-resource==23.0.1 backoff==2.2.1 bcrypt==4.0.1 -boto3==1.28.51 -botocore==1.31.51 +boto3==1.28.60 +botocore==1.31.60 brotli==1.1.0 cachetools==5.3.1 cattrs==23.1.2 cerberus==1.3.5 certifi==2023.7.22 -cffi==1.15.1 -charset-normalizer==3.2.0 +cffi==1.16.0 +charset-normalizer==3.3.0 cheroot==10.0.0 cherrypy==18.8.0 -cryptography==40.0.2 -deepdiff==6.5.0 +cryptography==41.0.4 +deepdiff==6.6.0 defusedxml==0.7.1 deprecated==1.2.14 fastjsonschema==2.16.3 frozendict==2.3.8 frozenlist==1.4.0 -google-api-core==2.11.1 -google-api-python-client==2.100.0 -google-auth==2.23.0 +google-api-core==2.12.0 +google-api-python-client==2.102.0 +google-auth==2.23.2 google-auth-httplib2==0.1.1 googleapis-common-protos==1.60.0 httplib2==0.22.0 @@ -59,7 +59,7 @@ markupsafe==2.1.3 mdurl==0.1.2 monotonic==1.6 more-itertools==10.1.0 -msal==1.24.0 +msal==1.24.1 msal-extensions==1.0.0 multidict==6.0.4 networkx==3.1 @@ -67,7 +67,7 @@ oauth2client==4.1.3 oauthlib==3.2.2 onelogin==2.0.4 ordered-set==4.1.0 -packaging==23.1 +packaging==23.2 paramiko==3.3.1 parsy==2.1 pint==0.22 @@ -77,23 +77,23 @@ portend==3.2.0 posthog==3.0.2 prometheus-client==0.17.1 prompt-toolkit==3.0.39 -protobuf==4.24.3 +protobuf==4.24.4 psutil==5.9.5 pyasn1==0.5.0 pyasn1-modules==0.3.0 pycares==4.3.0 pycparser==2.21 -pydantic==2.3.0 -pydantic-core==2.6.3 -pygithub==1.59.1 +pydantic==2.4.2 +pydantic-core==2.10.1 +pygithub==2.1.1 pygments==2.16.1 pyjwt[crypto]==2.8.0 pynacl==1.5.0 pyparsing==3.1.1 -python-arango==7.6.2 +python-arango==7.7.0 python-dateutil==2.8.2 pytz==2023.3.post1 -pyvmomi==8.0.1.0.2 +pyvmomi==8.0.2.0 pyyaml==6.0.1 requests==2.31.0 requests-oauthlib==1.3.1 @@ -104,12 +104,12 @@ resotodatalink==1.2.0 resotoui==3.7.1 retrying==1.3.4 rfc3339-validator==0.1.4 -rich==13.5.3 +rich==13.6.0 rsa==4.9 -s3transfer==0.6.2 +s3transfer==0.7.0 setuptools==68.2.2 six==1.16.0 -slack-sdk==3.22.0 +slack-sdk==3.23.0 sqlalchemy==1.4.49 tempora==5.5.0 tenacity==8.2.3 @@ -119,11 +119,11 @@ typeguard==4.1.5 typing-extensions==4.8.0 typish==1.9.3 tzdata==2023.3 -tzlocal==5.0.1 +tzlocal==5.1 uritemplate==4.1.1 -urllib3==1.26.16 +urllib3==1.26.17 ustache==0.1.5 -wcwidth==0.2.6 +wcwidth==0.2.8 websocket-client==1.6.3 wrapt==1.15.0 yarl==1.9.2 diff --git a/resotocore/.pylintrc b/resotocore/.pylintrc index 07a460eaf9..5c38e95c0a 100644 --- a/resotocore/.pylintrc +++ b/resotocore/.pylintrc @@ -80,7 +80,9 @@ disable= too-many-nested-blocks, not-an-iterable, too-many-instance-attributes, - too-many-ancestors + too-many-ancestors, + duplicate-code, + cyclic-import [REPORTS] diff --git a/resotocore/pyproject.toml b/resotocore/pyproject.toml index 3d2e992f15..ac4af62665 100644 --- a/resotocore/pyproject.toml +++ b/resotocore/pyproject.toml @@ -35,7 +35,7 @@ dependencies = [ "aiohttp-jinja2", "aiohttp-swagger3", "aiohttp[speedups]", - "aiostream", + "aiostream < 0.5", # TODO: aiostream 0.5 introduces type parameters - need to be supported by mypy "cryptography", "deepdiff", "frozendict", @@ -76,6 +76,7 @@ test = [ "resotoclient>=1.5.0", "toml", "tox", + "types-aiofiles", ] diff --git a/resotolib/pyproject.toml b/resotolib/pyproject.toml index 08d6948699..7eab468ea0 100644 --- a/resotolib/pyproject.toml +++ b/resotolib/pyproject.toml @@ -1,9 +1,9 @@ [project] name = "resotolib" version = "3.8.1" -authors = [{name="Some Engineering Inc."}] +authors = [{ name = "Some Engineering Inc." }] description = "Resoto common library." -license = { text="AGPLv3" } +license = { text = "AGPLv3" } requires-python = ">=3.9" classifiers = [ # Current project status @@ -24,7 +24,7 @@ classifiers = [ "Topic :: Security", "Topic :: Utilities", ] -readme = {file="README.md", content-type="text/markdown"} +readme = { file = "README.md", content-type = "text/markdown" } keywords = ["cloud security"] dependencies = [ @@ -64,6 +64,12 @@ test = [ "pytest-cov", "pytest-runner", "tox", + "types-PyYAML", + "types-python-dateutil", + "types-pytz", + "types-requests", + "types-setuptools", + "types-tzlocal", "wheel", ]