From 2b516614301add188b68e1a3e8aca8d3eadb4e0b Mon Sep 17 00:00:00 2001 From: Mads Jensen Date: Sat, 12 Mar 2022 10:31:54 +0100 Subject: [PATCH] Remove cast for jose.fields. (#9228) * Remove cast for jose.fields. https://github.com/certbot/certbot/pull/9073 references this. * Some of them can't be removed, though. * Fix josepy type hints of json * Increase josepy pinning version. Note that the repin scripts have not been used. * Run repin scripts. * Fix constraints --- acme/setup.py | 2 +- certbot/CHANGELOG.md | 2 + certbot/certbot/_internal/account.py | 10 +- certbot/certbot/_internal/eff.py | 13 +- certbot/setup.py | 2 +- tools/oldest_constraints.txt | 106 +++++++------- tools/requirements.txt | 199 ++++++++++++++------------- 7 files changed, 166 insertions(+), 168 deletions(-) diff --git a/acme/setup.py b/acme/setup.py index 9462e700d..1ae0ec991 100644 --- a/acme/setup.py +++ b/acme/setup.py @@ -7,7 +7,7 @@ version = '1.25.0.dev0' install_requires = [ 'cryptography>=2.5.0', - 'josepy>=1.10.0', + 'josepy>=1.13.0', 'PyOpenSSL>=17.3.0', 'pyrfc3339', 'pytz>=2019.3', diff --git a/certbot/CHANGELOG.md b/certbot/CHANGELOG.md index 76164e6a1..9f7920653 100644 --- a/certbot/CHANGELOG.md +++ b/certbot/CHANGELOG.md @@ -17,6 +17,8 @@ Certbot adheres to [Semantic Versioning](https://semver.org/). certificate with the `run` subcommand in combination with the `--must-staple` option. If the installer does not support OCSP and the `--must-staple` option is used, Certbot will raise an error and quit. +* Certbot and its acme module now depend on josepy>=1.13.0 due to better type annotation + support. ### Fixed diff --git a/certbot/certbot/_internal/account.py b/certbot/certbot/_internal/account.py index 6097ee038..d8f002948 100644 --- a/certbot/certbot/_internal/account.py +++ b/certbot/certbot/_internal/account.py @@ -230,15 +230,11 @@ class AccountFileStorage(interfaces.AccountStorage): try: with open(self._regr_path(account_dir_path)) as regr_file: - # TODO: Remove cast when https://github.com/certbot/certbot/pull/9073 is merged. - regr = cast(messages.RegistrationResource, - messages.RegistrationResource.json_loads(regr_file.read())) + regr = messages.RegistrationResource.json_loads(regr_file.read()) with open(self._key_path(account_dir_path)) as key_file: - # TODO: Remove cast when https://github.com/certbot/certbot/pull/9073 is merged. - key = cast(jose.JWK, jose.JWK.json_loads(key_file.read())) + key = jose.JWK.json_loads(key_file.read()) with open(self._metadata_path(account_dir_path)) as metadata_file: - # TODO: Remove cast when https://github.com/certbot/certbot/pull/9073 is merged. - meta = cast(Account.Meta, Account.Meta.json_loads(metadata_file.read())) + meta = Account.Meta.json_loads(metadata_file.read()) except IOError as error: raise errors.AccountStorageError(error) diff --git a/certbot/certbot/_internal/eff.py b/certbot/certbot/_internal/eff.py index 2f3926895..729991e0d 100644 --- a/certbot/certbot/_internal/eff.py +++ b/certbot/certbot/_internal/eff.py @@ -1,6 +1,5 @@ """Subscribes users to the EFF newsletter.""" import logging -from typing import cast from typing import Optional import requests @@ -33,11 +32,9 @@ def prepare_subscription(config: configuration.NamespaceConfig, acc: Account) -> if config.email is None: _report_failure("you didn't provide an e-mail address") else: - # TODO: Remove cast when https://github.com/certbot/certbot/pull/9073 is merged. - acc.meta = cast(Account.Meta, acc.meta.update(register_to_eff=config.email)) + acc.meta = acc.meta.update(register_to_eff=config.email) elif config.email and _want_subscription(): - # TODO: Remove cast when https://github.com/certbot/certbot/pull/9073 is merged. - acc.meta = cast(Account.Meta, acc.meta.update(register_to_eff=config.email)) + acc.meta = acc.meta.update(register_to_eff=config.email) if acc.meta.register_to_eff: storage = AccountFileStorage(config) @@ -56,11 +53,9 @@ def handle_subscription(config: configuration.NamespaceConfig, acc: Optional[Acc if config.dry_run or not acc: return if acc.meta.register_to_eff: - # TODO: Remove cast when https://github.com/certbot/certbot/pull/9073 is merged. - subscribe(cast(str, acc.meta.register_to_eff)) + subscribe(acc.meta.register_to_eff) - # TODO: Remove cast when https://github.com/certbot/certbot/pull/9073 is merged. - acc.meta = cast(Account.Meta, acc.meta.update(register_to_eff=None)) + acc.meta = acc.meta.update(register_to_eff=None) storage = AccountFileStorage(config) storage.update_meta(acc) diff --git a/certbot/setup.py b/certbot/setup.py index a8f32dc6e..092e88135 100644 --- a/certbot/setup.py +++ b/certbot/setup.py @@ -52,7 +52,7 @@ install_requires = [ 'configobj>=5.0.6', 'cryptography>=2.5.0', 'distro>=1.0.1', - 'josepy>=1.9.0', + 'josepy>=1.13.0', 'parsedatetime>=2.4', 'pyrfc3339', 'pytz>=2019.3', diff --git a/tools/oldest_constraints.txt b/tools/oldest_constraints.txt index 48a14d0c5..ef7b117c3 100644 --- a/tools/oldest_constraints.txt +++ b/tools/oldest_constraints.txt @@ -2,95 +2,96 @@ # that script. apacheconfig==0.3.2 asn1crypto==0.24.0 -astroid==2.9.3; python_version >= "3.7" and python_full_version >= "3.6.2" -atomicwrites==1.4.0; python_version >= "3.7" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.7" and python_full_version >= "3.4.0" -attrs==21.4.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" -bcrypt==3.2.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" +astroid==2.9.3; python_version >= "3.7" +atomicwrites==1.4.0; sys_platform == "win32" and python_version >= "3.7" +attrs==21.4.0; python_version >= "3.7" +bcrypt==3.2.0; python_version >= "3.7" boto3==1.15.15 botocore==1.18.15 -cached-property==1.5.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -certifi==2021.10.8; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" +cached-property==1.5.2; python_version >= "3.7" +certifi==2021.10.8; python_version >= "3.7" cffi==1.9.1 chardet==3.0.4 cloudflare==1.5.1 -colorama==0.4.4; python_version >= "3.7" and python_full_version < "3.0.0" and sys_platform == "win32" or python_full_version >= "3.5.0" and python_version >= "3.7" and sys_platform == "win32" or sys_platform == "win32" and python_full_version >= "3.6.2" and python_version >= "3.7" +colorama==0.4.4; sys_platform == "win32" and python_version >= "3.7" configargparse==0.10.0 configobj==5.0.6 -coverage==6.3.2; python_version >= "3.7" or python_version >= "3.7" -cryptography==3.2.1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0") -cython==0.29.28; (python_version >= "2.6" and python_full_version < "3.0.0") or (python_full_version >= "3.3.0") -distlib==0.3.4; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.5.0" +coverage==6.3.2; python_version >= "3.7" +cryptography==3.2.1 +cython==0.29.28 +distlib==0.3.4; python_version >= "3.7" distro==1.0.1 dns-lexicon==3.2.1 dnspython==1.15.0 -docker-compose==1.25.5; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -docker==4.2.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" -dockerpty==0.4.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -docopt==0.6.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -execnet==1.9.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" -filelock==3.6.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.5.0" or python_version >= "3.7" +docker-compose==1.25.5; python_version >= "3.7" +docker==4.2.2; python_version >= "3.7" +dockerpty==0.4.1; python_version >= "3.7" +docopt==0.6.2; python_version >= "3.7" +execnet==1.9.0; python_version >= "3.7" +filelock==3.6.0; python_version >= "3.7" funcsigs==0.4 -future==0.18.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7" +future==0.18.2; python_version >= "3.7" google-api-python-client==1.5.5 httplib2==0.9.2 idna==2.6 -importlib-metadata==4.11.2; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "3.8" or python_full_version >= "3.4.0" and python_version >= "3.7" and python_version < "3.8" or python_version < "3.8" and python_version >= "3.7" or python_version >= "3.7" and python_full_version >= "3.5.0" and python_version < "3.8" +importlib-metadata==4.11.2; python_version < "3.8" and python_version >= "3.7" iniconfig==1.1.1; python_version >= "3.7" ipaddress==1.0.16 -isort==5.10.1; python_full_version >= "3.6.2" and python_version < "4.0" and python_version >= "3.7" -jmespath==0.10.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7" +isort==5.10.1; python_version >= "3.7" and python_version < "4.0" +jmespath==0.10.0; python_version >= "3.7" josepy==1.13.0; python_version >= "3.7" -jsonschema==3.2.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -lazy-object-proxy==1.7.1; python_version >= "3.7" and python_full_version >= "3.6.2" +jsonschema==3.2.0; python_version >= "3.7" +lazy-object-proxy==1.7.1; python_version >= "3.7" logger==1.4; python_version >= "3.7" -mccabe==0.6.1; python_version >= "3.7" and python_full_version >= "3.6.2" +mccabe==0.6.1; python_version >= "3.7" mock==1.0.1 mypy-extensions==0.4.3; python_version >= "3.7" -mypy==0.931; python_version >= "3.7" +mypy==0.940; python_version >= "3.7" ndg-httpsclient==0.3.2 oauth2client==4.0.0 packaging==21.3; python_version >= "3.7" -paramiko==2.9.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" +paramiko==2.10.1; python_version >= "3.7" parsedatetime==2.4 pbr==1.8.0 pip==22.0.4; python_version >= "3.7" -platformdirs==2.5.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.5.0" or python_version >= "3.7" and python_full_version >= "3.6.2" +platformdirs==2.5.1; python_version >= "3.7" pluggy==1.0.0; python_version >= "3.7" ply==3.4 -py==1.11.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" +py==1.11.0; python_version >= "3.7" pyasn1-modules==0.0.10; python_version >= "3.7" pyasn1==0.1.9 pycparser==2.14 -pylint==2.12.2; python_full_version >= "3.6.2" -pynacl==1.5.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" +pylint==2.12.2 +pylint==2.12.2; python_version >= "3.7" +pynacl==1.5.0; python_version >= "3.7" pyopenssl==17.3.0 -pyparsing==2.2.1; (python_version >= "2.6" and python_full_version < "3.0.0") or (python_full_version >= "3.3.0") -pypiwin32==223; sys_platform == "win32" and python_version >= "3.6" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7") +pyparsing==2.2.1 +pypiwin32==223; sys_platform == "win32" and python_version >= "3.7" pyrfc3339==1.0 -pyrsistent==0.18.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -pytest-cov==3.0.0; python_version >= "3.7" or python_version >= "3.7" +pyrsistent==0.18.1; python_version >= "3.7" +pytest-cov==3.0.0; python_version >= "3.7" pytest-forked==1.4.0; python_version >= "3.7" -pytest-xdist==2.5.0; python_version >= "3.7" or python_version >= "3.7" -pytest==7.0.1; python_version >= "3.7" or python_version >= "3.7" +pytest-xdist==2.5.0; python_version >= "3.7" +pytest==7.0.1; python_version >= "3.7" python-augeas==0.5.0 -python-dateutil==2.8.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7" +python-dateutil==2.8.2; python_version >= "3.7" python-digitalocean==1.11 pytz==2019.3 -pywin32==303; sys_platform == "win32" and python_version >= "3.7" or sys_platform == "win32" and python_version >= "3.6" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7") -pyyaml==5.4.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7" +pywin32==303; sys_platform == "win32" and python_version >= "3.7" +pyyaml==5.4.1; python_version >= "3.7" requests-file==1.5.1; python_version >= "3.7" requests-toolbelt==0.9.1; python_version >= "3.7" -requests==2.20.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0") +requests==2.20.0 rsa==4.8; python_version >= "3.7" and python_version < "4" s3transfer==0.3.7; python_version >= "3.7" -setuptools==41.6.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0") +setuptools==41.6.0 six==1.11.0 -texttable==1.6.4; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" +texttable==1.6.4; python_version >= "3.7" tldextract==3.2.0; python_version >= "3.7" -toml==0.10.2; python_version >= "3.7" and python_full_version >= "3.6.2" -tomli==2.0.1; python_version >= "3.7" or python_version >= "3.7" +toml==0.10.2; python_version >= "3.7" +tomli==2.0.1; python_version >= "3.7" tox==1.9.2; python_version >= "3.7" -typed-ast==1.5.2; python_version >= "3.7" and python_version < "3.8" or implementation_name == "cpython" and python_version < "3.8" and python_version >= "3.7" and python_full_version >= "3.6.2" +typed-ast==1.5.2; python_version >= "3.7" and python_version < "3.8" or implementation_name == "cpython" and python_version < "3.8" and python_version >= "3.7" types-cryptography==3.3.18; python_version >= "3.7" types-mock==4.0.11; python_version >= "3.7" types-pyopenssl==22.0.0; python_version >= "3.7" @@ -101,13 +102,14 @@ types-requests==2.27.11; python_version >= "3.7" types-setuptools==57.4.10; python_version >= "3.7" types-six==1.16.12; python_version >= "3.7" types-urllib3==1.26.10; python_version >= "3.7" -typing-extensions==4.1.1; python_version >= "3.7" or python_version < "3.10" and python_full_version >= "3.6.2" and python_version >= "3.7" or python_version < "3.8" and python_version >= "3.7" -uritemplate==3.0.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -urllib3==1.24.2; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0" and python_version < "4") -virtualenv==20.13.3; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.5.0" -websocket-client==0.59.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" or python_full_version >= "3.5.0" and python_version >= "3.7" -wheel==0.33.6; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0") -wrapt==1.13.3; python_version >= "3.7" and python_full_version >= "3.6.2" +typing-extensions==4.1.1; python_version >= "3.7" or python_version < "3.10" and python_version >= "3.7" or python_version < "3.8" and python_version >= "3.7" +uritemplate==3.0.1; python_version >= "3.7" +urllib3==1.24.2 +virtualenv==20.13.3; python_version >= "3.7" +websocket-client==0.59.0; python_version >= "3.7" +wheel==0.33.6 +wheel==0.33.6; python_version >= "3.7" +wrapt==1.13.3; python_version >= "3.7" zipp==3.7.0; python_version < "3.8" and python_version >= "3.7" zope.component==4.1.0 zope.event==4.0.3 diff --git a/tools/requirements.txt b/tools/requirements.txt index 175a8c880..1711f2b43 100644 --- a/tools/requirements.txt +++ b/tools/requirements.txt @@ -7,90 +7,91 @@ # for more info. alabaster==0.7.12; python_version >= "3.7" apacheconfig==0.3.2; python_version >= "3.7" -appdirs==1.4.4; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.4.0" +appdirs==1.4.4; python_version >= "3.7" and python_version < "4.0" appnope==0.1.2; python_version >= "3.7" and sys_platform == "darwin" -astroid==2.9.3; python_version >= "3.7" and python_full_version >= "3.6.2" -atomicwrites==1.4.0; python_version >= "3.7" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.7" and python_full_version >= "3.4.0" -attrs==21.4.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" -awscli==1.22.72; python_version >= "3.6" +astroid==2.9.3; python_version >= "3.7" +atomicwrites==1.4.0; sys_platform == "win32" and python_version >= "3.7" +attrs==21.4.0; python_version >= "3.7" +awscli==1.22.73 +awscli==1.22.73; python_version >= "3.7" azure-devops==6.0.0b4; python_version >= "3.7" -babel==2.9.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.4.0" +babel==2.9.1; python_version >= "3.7" backcall==0.2.0; python_version >= "3.7" bcrypt==3.2.0; python_version >= "3.7" -beautifulsoup4==4.10.0; python_full_version > "3.0.0" and python_version >= "3.7" or python_version >= "3.7" and python_version < "4.0" and python_full_version > "3.0.0" +beautifulsoup4==4.10.0; python_version >= "3.7" bleach==4.1.0; python_version >= "3.7" -boto3==1.21.17; python_version >= "3.7" -botocore==1.24.17; python_version >= "3.7" +boto3==1.21.18; python_version >= "3.7" +botocore==1.24.18; python_version >= "3.7" cachecontrol==0.12.10; python_version >= "3.7" and python_version < "4.0" -cached-property==1.5.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -cachetools==5.0.0; python_version >= "3.7" and python_version < "4.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7") -cachy==0.3.0; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.4.0" -certifi==2021.10.8; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7" or python_version >= "3.7" -cffi==1.15.0; python_version >= "3.7" or python_version >= "3.7" -charset-normalizer==2.0.12; python_full_version >= "3.6.0" and python_version >= "3.7" +cached-property==1.5.2; python_version >= "3.7" +cachetools==5.0.0; python_version >= "3.7" and python_version < "4.0" +cachy==0.3.0; python_version >= "3.7" and python_version < "4.0" +certifi==2021.10.8; python_version >= "3.7" +cffi==1.15.0; python_version >= "3.7" +charset-normalizer==2.0.12; python_version >= "3.7" cleo==1.0.0a4; python_version >= "3.7" and python_version < "4.0" cloudflare==2.8.15; python_version >= "3.7" -colorama==0.4.3; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" or sys_platform == "win32" and python_full_version >= "3.6.2" and python_version >= "3.7" or python_version >= "3.7" and python_full_version < "3.0.0" and sys_platform == "win32" or python_full_version >= "3.5.0" and python_version >= "3.7" and sys_platform == "win32" or python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or python_version >= "3.7" and python_full_version >= "3.5.0" and platform_system == "Windows" -configargparse==1.5.3; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" +colorama==0.4.3; python_version >= "3.7" +configargparse==1.5.3; python_version >= "3.7" configobj==5.0.6; python_version >= "3.7" -coverage==6.3.2; python_version >= "3.7" or python_version >= "3.7" +coverage==6.3.2; python_version >= "3.7" crashtest==0.3.1; python_version >= "3.7" and python_version < "4.0" -cryptography==36.0.1; python_version >= "3.7" and python_version < "4.0" or python_version >= "3.7" or python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" -cython==0.29.28; (python_version >= "2.6" and python_full_version < "3.0.0") or (python_full_version >= "3.3.0") +cryptography==36.0.1; python_version >= "3.7" +cython==0.29.28 decorator==5.1.1; python_version >= "3.7" -deprecated==1.2.13; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.4.0" -distlib==0.3.4; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.4.0" or python_version >= "3.7" -distro==1.7.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" or python_version >= "3.7" +deprecated==1.2.13; python_version >= "3.7" +distlib==0.3.4; python_version >= "3.7" +distro==1.7.0; python_version >= "3.7" dns-lexicon==3.9.4; python_version >= "3.7" and python_version < "4.0" dnspython==2.2.1; python_version >= "3.7" and python_version < "4.0" -docker-compose==1.26.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -docker==4.2.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" -dockerpty==0.4.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -docopt==0.6.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -docutils==0.15.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7" or python_version >= "3.7" and python_full_version >= "3.4.0" +docker-compose==1.26.2; python_version >= "3.7" +docker==4.2.2; python_version >= "3.7" +dockerpty==0.4.1; python_version >= "3.7" +docopt==0.6.2; python_version >= "3.7" +docutils==0.15.2; python_version >= "3.7" entrypoints==0.3; python_version >= "3.7" and python_version < "4.0" -execnet==1.9.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" +execnet==1.9.0; python_version >= "3.7" fabric==2.6.0; python_version >= "3.7" -filelock==3.6.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.5.0" or python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.4.0" or python_version >= "3.7" and python_version < "4.0" +filelock==3.6.0; python_version >= "3.7" or python_version >= "3.7" and python_version < "4.0" google-api-core==2.7.1; python_version >= "3.7" google-api-python-client==2.40.0; python_version >= "3.7" google-auth-httplib2==0.1.0; python_version >= "3.7" -google-auth==2.6.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7" +google-auth==2.6.0; python_version >= "3.7" googleapis-common-protos==1.55.0; python_version >= "3.7" -html5lib==1.1; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.5.0" -httplib2==0.20.4; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -idna==3.3; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7" or python_version >= "3.7" and python_version < "4.0" -imagesize==1.3.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.4.0" -importlib-metadata==1.7.0; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "3.8" or python_version >= "3.7" and python_version < "3.8" and python_full_version >= "3.5.0" +html5lib==1.1; python_version >= "3.7" and python_version < "4.0" +httplib2==0.20.4; python_version >= "3.7" +idna==3.3; python_version >= "3.7" +imagesize==1.3.0; python_version >= "3.7" +importlib-metadata==1.7.0; python_version >= "3.7" and python_version < "3.8" iniconfig==1.1.1; python_version >= "3.7" invoke==1.6.0; python_version >= "3.7" ipdb==0.13.9; python_version >= "3.7" ipython==7.32.0; python_version >= "3.7" isodate==0.6.1; python_version >= "3.7" -isort==5.10.1; python_full_version >= "3.6.2" and python_version < "4.0" and python_version >= "3.7" +isort==5.10.1; python_version >= "3.7" and python_version < "4.0" jedi==0.18.1; python_version >= "3.7" jeepney==0.7.1; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" -jinja2==3.0.3; python_version >= "3.7" or python_version >= "3.7" -jmespath==0.10.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7" +jinja2==3.0.3; python_version >= "3.7" +jmespath==0.10.0; python_version >= "3.7" josepy==1.13.0; python_version >= "3.7" jsonlines==3.0.0; python_version >= "3.7" jsonpickle==2.1.0; python_version >= "3.7" -jsonschema==3.2.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" +jsonschema==3.2.0; python_version >= "3.7" keyring==22.3.0; python_version >= "3.7" and python_version < "4.0" or python_version >= "3.7" -lazy-object-proxy==1.7.1; python_version >= "3.7" and python_full_version >= "3.6.2" +lazy-object-proxy==1.7.1; python_version >= "3.7" lockfile==0.12.2 markupsafe==2.1.0; python_version >= "3.7" matplotlib-inline==0.1.3; python_version >= "3.7" -mccabe==0.6.1; python_version >= "3.7" and python_full_version >= "3.6.2" -mock==4.0.3; python_version >= "3.6" +mccabe==0.6.1; python_version >= "3.7" +mock==4.0.3 msgpack==1.0.3; python_version >= "3.7" and python_version < "4.0" msrest==0.6.21; python_version >= "3.7" mypy-extensions==0.4.3; python_version >= "3.7" -mypy==0.931; python_version >= "3.7" +mypy==0.940; python_version >= "3.7" oauth2client==4.1.3; python_version >= "3.7" -oauthlib==3.2.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.4.0" -packaging==20.9; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.4.0" or python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" or python_version >= "3.7" and python_full_version >= "3.5.0" -paramiko==2.9.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" or python_version >= "3.7" +oauthlib==3.2.0; python_version >= "3.7" +packaging==20.9; python_version >= "3.7" +paramiko==2.10.1; python_version >= "3.7" parsedatetime==2.6; python_version >= "3.7" parso==0.8.3; python_version >= "3.7" pathlib2==2.3.7.post1; python_version >= "3.7" @@ -98,77 +99,79 @@ pexpect==4.8.0; python_version >= "3.7" and python_version < "4.0" or python_ver pickleshare==0.7.5; python_version >= "3.7" pip==22.0.4; python_version >= "3.7" pkginfo==1.8.2; python_version >= "3.7" and python_version < "4.0" or python_version >= "3.7" -platformdirs==2.5.1; python_version >= "3.7" and python_full_version >= "3.6.2" -pluggy==1.0.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.5.0" or python_version >= "3.7" +platformdirs==2.5.1; python_version >= "3.7" +pluggy==1.0.0; python_version >= "3.7" ply==3.11; python_version >= "3.7" poetry-core==1.1.0a7; python_version >= "3.7" and python_version < "4.0" -poetry==1.2.0a2; python_version >= "3.6" and python_version < "4.0" -prompt-toolkit==3.0.28; python_version >= "3.7" and python_full_version >= "3.6.2" +poetry==1.2.0a2 +poetry==1.2.0a2; python_version >= "3.7" and python_version < "4.0" +prompt-toolkit==3.0.28; python_version >= "3.7" protobuf==3.19.4; python_version >= "3.7" ptyprocess==0.7.0; python_version >= "3.7" and python_version < "4.0" -py==1.11.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" -pyasn1-modules==0.2.8; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7" or python_version >= "3.7" -pyasn1==0.4.8; python_version >= "3.7" and python_version < "4" or python_version >= "3.7" -pycparser==2.21; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" +py==1.11.0; python_version >= "3.7" +pyasn1-modules==0.2.8; python_version >= "3.7" +pyasn1==0.4.8; python_version >= "3.7" +pycparser==2.21; python_version >= "3.7" pygithub==1.55; python_version >= "3.7" pygments==2.11.2; python_version >= "3.7" pyjwt==2.3.0; python_version >= "3.7" pylev==1.4.0; python_version >= "3.7" and python_version < "4.0" -pylint==2.12.2; python_full_version >= "3.6.2" -pynacl==1.5.0; python_version >= "3.7" or python_version >= "3.7" +pylint==2.12.2 +pylint==2.12.2; python_version >= "3.7" +pynacl==1.5.0; python_version >= "3.7" pynsist==2.7; python_version >= "3.7" pyopenssl==22.0.0; python_version >= "3.7" -pyparsing==3.0.7; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" or python_version >= "3.7" or python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.4.0" -pypiwin32==223; sys_platform == "win32" and python_version >= "3.6" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7") +pyparsing==3.0.7; python_version >= "3.7" +pypiwin32==223; sys_platform == "win32" and python_version >= "3.7" pyrfc3339==1.1; python_version >= "3.7" -pyrsistent==0.18.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -pytest-cov==3.0.0; python_version >= "3.7" or python_version >= "3.7" +pyrsistent==0.18.1; python_version >= "3.7" +pytest-cov==3.0.0; python_version >= "3.7" pytest-forked==1.4.0; python_version >= "3.7" -pytest-xdist==2.5.0; python_version >= "3.7" or python_version >= "3.7" -pytest==7.0.1; python_version >= "3.7" or python_version >= "3.7" +pytest-xdist==2.5.0; python_version >= "3.7" +pytest==7.0.1; python_version >= "3.7" python-augeas==1.1.0; python_version >= "3.7" -python-dateutil==2.8.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7" +python-dateutil==2.8.2; python_version >= "3.7" python-digitalocean==1.17.0; python_version >= "3.7" -python-dotenv==0.19.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" -pytz==2021.3; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.4.0" or python_version >= "3.7" +python-dotenv==0.19.2; python_version >= "3.7" +pytz==2021.3; python_version >= "3.7" pywin32-ctypes==0.2.0; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" -pywin32==303; sys_platform == "win32" and python_version >= "3.7" or sys_platform == "win32" and python_version >= "3.6" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7") -pyyaml==5.4.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7" or python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.6.0" -readme-renderer==33.0; python_version >= "3.7" +pywin32==303; sys_platform == "win32" and python_version >= "3.7" +pyyaml==5.4.1; python_version >= "3.7" +readme-renderer==34.0; python_version >= "3.7" requests-download==0.1.2; python_version >= "3.7" requests-file==1.5.1; python_version >= "3.7" and python_version < "4.0" -requests-oauthlib==1.3.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.4.0" -requests-toolbelt==0.9.1; python_version >= "3.7" and python_version < "4.0" or python_version >= "3.7" or python_version >= "3.7" -requests==2.27.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7" or python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.6.0" +requests-oauthlib==1.3.1; python_version >= "3.7" +requests-toolbelt==0.9.1; python_version >= "3.7" +requests==2.27.1; python_version >= "3.7" rfc3986==2.0.0; python_version >= "3.7" -rsa==4.7.2; python_version >= "3.7" and python_version < "4" or python_version >= "3.5" and python_version < "4" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7") +rsa==4.7.2; python_version >= "3.7" and python_version < "4" s3transfer==0.5.2; python_version >= "3.7" secretstorage==3.3.1; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" semantic-version==2.9.0; python_version >= "3.6" -setuptools-rust==1.1.2; python_version >= "3.6" -setuptools==60.9.3; python_version >= "3.7" or python_version >= "3.7" or python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" or python_version >= "3.7" and python_full_version >= "3.6.2" or python_full_version >= "3.4.0" and python_version >= "3.7" +setuptools-rust==1.1.2 +setuptools==60.9.3; python_version >= "3.7" shellingham==1.4.0; python_version >= "3.7" and python_version < "4.0" -six==1.16.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" or python_full_version >= "3.3.0" and python_version >= "3.7" or python_version >= "3.7" and python_full_version >= "3.5.0" or python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.5.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.4.0" or python_full_version >= "3.6.0" and python_version >= "3.7" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.3.0" +six==1.16.0; python_version >= "3.7" snowballstemmer==2.2.0; python_version >= "3.7" -soupsieve==2.3.1; python_full_version > "3.0.0" and python_version >= "3.7" -sphinx-rtd-theme==1.0.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.4.0" -sphinx==4.3.2; python_version >= "3.7" or python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.4.0" +soupsieve==2.3.1; python_version >= "3.7" +sphinx-rtd-theme==1.0.0; python_version >= "3.7" +sphinx==4.3.2; python_version >= "3.7" sphinxcontrib-applehelp==1.0.2; python_version >= "3.7" sphinxcontrib-devhelp==1.0.2; python_version >= "3.7" sphinxcontrib-htmlhelp==2.0.0; python_version >= "3.7" sphinxcontrib-jsmath==1.0.1; python_version >= "3.7" sphinxcontrib-qthelp==1.0.3; python_version >= "3.7" sphinxcontrib-serializinghtml==1.1.5; python_version >= "3.7" -texttable==1.6.4; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" +texttable==1.6.4; python_version >= "3.7" tldextract==3.2.0; python_version >= "3.7" and python_version < "4.0" -toml==0.10.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.3.0" or python_version >= "3.7" and python_full_version >= "3.6.2" or python_version >= "3.7" and python_full_version >= "3.5.0" -tomli==2.0.1; python_version >= "3.7" or python_version >= "3.7" +toml==0.10.2; python_version >= "3.7" +tomli==2.0.1; python_version >= "3.7" tomlkit==0.10.0; python_version >= "3.7" and python_version < "4.0" -tox==3.24.5; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.5.0" -tqdm==4.63.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.4.0" +tox==3.24.5; python_version >= "3.7" +tqdm==4.63.0; python_version >= "3.7" traitlets==5.1.1; python_version >= "3.7" twine==3.3.0; python_version >= "3.7" -typed-ast==1.5.2; python_version >= "3.7" and python_version < "3.8" or implementation_name == "cpython" and python_version < "3.8" and python_version >= "3.7" and python_full_version >= "3.6.2" +typed-ast==1.5.2; python_version >= "3.7" and python_version < "3.8" or implementation_name == "cpython" and python_version < "3.8" and python_version >= "3.7" types-cryptography==3.3.18; python_version >= "3.7" types-mock==4.0.11; python_version >= "3.7" types-pyopenssl==22.0.0; python_version >= "3.7" @@ -179,18 +182,18 @@ types-requests==2.27.11; python_version >= "3.7" types-setuptools==57.4.10; python_version >= "3.7" types-six==1.16.12; python_version >= "3.7" types-urllib3==1.26.10; python_version >= "3.7" -typing-extensions==4.1.1; python_version >= "3.7" or python_version >= "3.6" or python_version < "3.10" and python_full_version >= "3.6.2" and python_version >= "3.7" or python_version < "3.8" and python_version >= "3.7" +typing-extensions==4.1.1; python_version >= "3.6" or python_version < "3.10" and python_version >= "3.7" or python_version < "3.8" and python_version >= "3.7" uritemplate==4.1.1; python_version >= "3.7" -urllib3==1.26.8; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.7" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.7" -virtualenv==20.4.4; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.4.0" or python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.5.0" -wcwidth==0.2.5; python_version >= "3.7" and python_full_version >= "3.6.2" -webencodings==0.5.1; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.5.0" or python_version >= "3.7" -websocket-client==0.59.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7" or python_full_version >= "3.5.0" and python_version >= "3.7" -wheel==0.37.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.5.0" -wrapt==1.13.3; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.5.0" or python_version >= "3.7" and python_full_version >= "3.6.2" +urllib3==1.26.8; python_version >= "3.7" and python_version < "4" +virtualenv==20.4.4; python_version >= "3.7" and python_version < "4.0" or python_version >= "3.7" +wcwidth==0.2.5; python_version >= "3.7" +webencodings==0.5.1; python_version >= "3.7" and python_version < "4.0" or python_version >= "3.7" +websocket-client==0.59.0; python_version >= "3.7" +wheel==0.37.1; python_version >= "3.7" +wrapt==1.13.3; python_version >= "3.7" yarg==0.1.9; python_version >= "3.7" -zipp==3.7.0; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "3.8" or python_version >= "3.7" and python_version < "3.8" and python_full_version >= "3.5.0" -zope.component==5.0.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" -zope.event==4.5.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" -zope.hookable==5.1.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" -zope.interface==5.4.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7" +zipp==3.7.0; python_version >= "3.7" and python_version < "3.8" +zope.component==5.0.1; python_version >= "3.7" +zope.event==4.5.0; python_version >= "3.7" +zope.hookable==5.1.0; python_version >= "3.7" +zope.interface==5.4.0; python_version >= "3.7"