From 8e420048490f5f28de88ea22df22ad36963f20ea Mon Sep 17 00:00:00 2001 From: Brad Warren Date: Mon, 17 Oct 2022 11:03:38 -0700 Subject: [PATCH] try old deps --- certbot-ci/setup.py | 2 +- certbot/setup.py | 6 +- pytest.ini | 4 - tools/oldest_constraints.txt | 213 +++++----- .../common/export-pinned-dependencies.sh | 2 +- tools/pinning/current/pyproject.toml | 14 +- tools/pinning/oldest/pyproject.toml | 2 +- tools/requirements.txt | 370 +++++++++--------- 8 files changed, 317 insertions(+), 296 deletions(-) diff --git a/certbot-ci/setup.py b/certbot-ci/setup.py index f0b89780e..4341ef266 100644 --- a/certbot-ci/setup.py +++ b/certbot-ci/setup.py @@ -15,10 +15,10 @@ if parse_version(setuptools_version) < parse_version(min_setuptools_version): install_requires = [ 'coverage', 'cryptography', + 'docker-compose', 'pyopenssl', 'pytest', 'pytest-cov', - 'pytest-timeout', # This version is needed for "worker" attributes we currently use like # "workerinput". See https://github.com/pytest-dev/pytest-xdist/pull/268. 'pytest-xdist>=1.22.1', diff --git a/certbot/setup.py b/certbot/setup.py index 144dca36a..8f1de50ca 100644 --- a/certbot/setup.py +++ b/certbot/setup.py @@ -69,11 +69,7 @@ dev_extras = [ 'ipdb', # poetry 1.2.0+ is required for it to pin pip, setuptools, and wheel. See # https://github.com/python-poetry/poetry/issues/1584. - 'poetry>=1.2.0', - # poetry-plugin-export>=1.1.0 is required to use the constraints.txt export - # format. See - # https://github.com/python-poetry/poetry-plugin-export/blob/efcfd34859e72f6a79a80398f197ce6eb2bbd7cd/CHANGELOG.md#added. - 'poetry-plugin-export>=1.1.0', + 'poetry>=1.2.0a1', 'twine', ] diff --git a/pytest.ini b/pytest.ini index 677aa6d0f..78710566b 100644 --- a/pytest.ini +++ b/pytest.ini @@ -38,7 +38,3 @@ filterwarnings = ignore:.*attribute in acme.client is deprecated:DeprecationWarning ignore:.*acme.mixins is deprecated:DeprecationWarning ignore:.*Authorization.combinations is deprecated:DeprecationWarning -# If an individual test takes more than 5 minutes (300 seconds), I think we can -# assume something has gone very wrong. -timeout = 300 -timeout_method = thread diff --git a/tools/oldest_constraints.txt b/tools/oldest_constraints.txt index 629ba8c50..16dfbb758 100644 --- a/tools/oldest_constraints.txt +++ b/tools/oldest_constraints.txt @@ -1,101 +1,116 @@ # This file was generated by tools/pinning/oldest/repin.sh and can be updated using # that script. -apacheconfig==0.3.2 ; python_full_version < "3.8.0" and python_version >= "3.7" -asn1crypto==0.24.0 ; python_full_version >= "3.7.0" and python_full_version < "3.8.0" -astroid==2.11.7 ; python_full_version < "3.8.0" and python_version >= "3.7" -attrs==22.1.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -boto3==1.15.15 ; python_full_version < "3.8.0" and python_version >= "3.7" -botocore==1.18.15 ; python_full_version < "3.8.0" and python_version >= "3.7" -certifi==2022.9.24 ; python_full_version < "3.8.0" and python_version >= "3.7" -cffi==1.9.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -chardet==3.0.4 ; python_full_version < "3.8.0" and python_version >= "3.7" -cloudflare==1.5.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -colorama==0.4.5 ; python_full_version < "3.8.0" and sys_platform == "win32" and python_version >= "3.7" -configargparse==0.10.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -configobj==5.0.6 ; python_full_version < "3.8.0" and python_version >= "3.7" -coverage==6.5.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -cryptography==3.2.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -cython==0.29.32 ; python_full_version >= "3.7.0" and python_full_version < "3.8.0" -dill==0.3.5.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -distlib==0.3.6 ; python_version >= "3.7" and python_full_version < "3.8.0" -distro==1.0.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -dns-lexicon==3.2.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -dnspython==1.15.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -execnet==1.9.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -filelock==3.8.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -funcsigs==0.4 ; python_full_version >= "3.7.0" and python_full_version < "3.8.0" -future==0.18.2 ; python_full_version < "3.8.0" and python_version >= "3.7" -google-api-python-client==1.5.5 ; python_full_version < "3.8.0" and python_version >= "3.7" -httplib2==0.9.2 ; python_full_version < "3.8.0" and python_version >= "3.7" -idna==2.6 ; python_full_version < "3.8.0" and python_version >= "3.7" -importlib-metadata==5.0.0 ; python_version >= "3.7" and python_version < "3.8" -iniconfig==1.1.1 ; python_version >= "3.7" and python_full_version < "3.8.0" -ipaddress==1.0.16 ; python_full_version >= "3.7.0" and python_full_version < "3.8.0" -isort==5.10.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -jmespath==0.10.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -josepy==1.13.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -lazy-object-proxy==1.7.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -logger==1.4 ; python_full_version < "3.8.0" and python_version >= "3.7" -mccabe==0.7.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -mock==1.0.1 ; python_full_version >= "3.7.0" and python_full_version < "3.8.0" -mypy-extensions==0.4.3 ; python_version >= "3.7" and python_full_version < "3.8.0" -mypy==0.982 ; python_version >= "3.7" and python_full_version < "3.8.0" -ndg-httpsclient==0.3.2 ; python_full_version >= "3.7.0" and python_full_version < "3.8.0" -oauth2client==4.0.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -packaging==21.3 ; python_version >= "3.7" and python_full_version < "3.8.0" -parsedatetime==2.4 ; python_full_version < "3.8.0" and python_version >= "3.7" -pbr==1.8.0 ; python_full_version >= "3.7.0" and python_full_version < "3.8.0" -pip==22.2.2 ; python_version >= "3.7" and python_full_version < "3.8.0" -platformdirs==2.5.2 ; python_version >= "3.7" and python_full_version < "3.8.0" -pluggy==1.0.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -ply==3.4 ; python_full_version < "3.8.0" and python_version >= "3.7" -py==1.11.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -pyasn1-modules==0.0.10 ; python_full_version < "3.8.0" and python_version >= "3.7" -pyasn1==0.1.9 ; python_full_version < "3.8.0" and python_version >= "3.7" -pycparser==2.14 ; python_full_version < "3.8.0" and python_version >= "3.7" -pylint==2.13.9 ; python_full_version < "3.8.0" and python_version >= "3.7" -pyopenssl==17.5.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -pyparsing==2.2.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -pyrfc3339==1.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -pytest-cov==4.0.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -pytest-forked==1.4.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -pytest-xdist==2.5.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -pytest==7.1.3 ; python_version >= "3.7" and python_full_version < "3.8.0" -python-augeas==0.5.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -python-dateutil==2.8.2 ; python_full_version < "3.8.0" and python_version >= "3.7" -python-digitalocean==1.11 ; python_full_version < "3.8.0" and python_version >= "3.7" -pytz==2019.3 ; python_full_version < "3.8.0" and python_version >= "3.7" -pywin32==304 ; python_version >= "3.7" and python_full_version < "3.8.0" and sys_platform == "win32" -pyyaml==6.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -requests-file==1.5.1 ; python_version >= "3.7" and python_full_version < "3.8.0" -requests-toolbelt==0.9.1 ; python_version >= "3.7" and python_full_version < "3.8.0" -requests==2.20.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -rsa==4.9 ; python_full_version < "3.8.0" and python_version >= "3.7" -s3transfer==0.3.7 ; python_full_version < "3.8.0" and python_version >= "3.7" -setuptools==41.6.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -six==1.11.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -tldextract==3.3.1 ; python_version >= "3.7" and python_full_version < "3.8.0" -tomli==2.0.1 ; python_version >= "3.7" and python_full_version < "3.8.0" -tox==1.9.2 ; python_version >= "3.7" and python_full_version < "3.8.0" -typed-ast==1.5.4 ; python_version < "3.8" and python_version >= "3.7" -types-cryptography==3.3.23 ; python_version >= "3.7" and python_full_version < "3.8.0" -types-mock==4.0.15 ; python_version >= "3.7" and python_full_version < "3.8.0" -types-pyopenssl==22.0.10 ; python_version >= "3.7" and python_full_version < "3.8.0" -types-pyrfc3339==1.1.1 ; python_version >= "3.7" and python_full_version < "3.8.0" -types-python-dateutil==2.8.19 ; python_version >= "3.7" and python_full_version < "3.8.0" -types-pytz==2022.2.1.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -types-requests==2.28.11 ; python_version >= "3.7" and python_full_version < "3.8.0" -types-setuptools==65.4.0.0 ; python_version >= "3.7" and python_full_version < "3.8.0" -types-six==1.16.21 ; python_version >= "3.7" and python_full_version < "3.8.0" -types-urllib3==1.26.25 ; python_version >= "3.7" and python_full_version < "3.8.0" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "3.8" -uritemplate==3.0.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -urllib3==1.24.2 ; python_full_version < "3.8.0" and python_version >= "3.7" -virtualenv==20.16.5 ; python_version >= "3.7" and python_full_version < "3.8.0" -wheel==0.33.6 ; python_full_version < "3.8.0" and python_version >= "3.7" -wrapt==1.14.1 ; python_full_version < "3.8.0" and python_version >= "3.7" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "3.8" -zope-component==4.1.0 ; python_full_version < "3.8.0" and python_version >= "3.7" -zope-event==4.0.3 ; python_full_version < "3.8.0" and python_version >= "3.7" -zope-hookable==4.0.4 ; python_full_version >= "3.7.0" and python_full_version < "3.8.0" -zope-interface==4.0.5 ; python_full_version < "3.8.0" and python_version >= "3.7" +apacheconfig==0.3.2 +asn1crypto==0.24.0 +astroid==2.11.7; python_version >= "3.7" +atomicwrites==1.4.1; sys_platform == "win32" and python_version >= "3.7" +attrs==22.1.0; python_version >= "3.7" +bcrypt==3.2.2; python_version >= "3.7" +boto3==1.15.15 +botocore==1.18.15 +cached-property==1.5.2; python_version >= "3.7" +certifi==2022.6.15; python_version >= "3.7" +cffi==1.9.1 +chardet==3.0.4 +cloudflare==1.5.1 +colorama==0.4.5; sys_platform == "win32" and python_version >= "3.7" +configargparse==0.10.0 +configobj==5.0.6 +coverage==6.4.2; python_version >= "3.7" +cryptography==3.2.1 +cython==0.29.31 +dill==0.3.5.1; python_version >= "3.7" +distlib==0.3.5; 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" +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.7.1; python_version >= "3.7" +funcsigs==0.4 +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.12.0; 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_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" +lazy-object-proxy==1.7.1; python_version >= "3.7" +logger==1.4; python_version >= "3.7" +mccabe==0.7.0; python_version >= "3.7" +mock==1.0.1 +mypy-extensions==0.4.3; python_version >= "3.7" +mypy==0.971; python_version >= "3.7" +ndg-httpsclient==0.3.2 +oauth2client==4.0.0 +packaging==21.3; python_version >= "3.7" +paramiko==2.11.0; python_version >= "3.7" +parsedatetime==2.4 +pbr==1.8.0 +pip==22.2.1; python_version >= "3.7" +platformdirs==2.5.2; python_version >= "3.7" +pluggy==1.0.0; python_version >= "3.7" +ply==3.4 +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.13.9 +pynacl==1.5.0; python_version >= "3.7" +pyopenssl==17.5.0 +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" +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" +pytest==7.1.2; python_version >= "3.7" +python-augeas==0.5.0 +python-dateutil==2.8.2; python_version >= "3.7" +python-digitalocean==1.11 +pytz==2019.3 +pywin32==304; 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 +rsa==4.9; python_version >= "3.7" and python_version < "4" +s3transfer==0.3.7; python_version >= "3.7" +setuptools==41.6.0 +six==1.11.0 +texttable==1.6.4; python_version >= "3.7" +tldextract==3.3.1; python_version >= "3.7" +tomli==2.0.1; python_version < "3.11" and python_version >= "3.7" or python_full_version <= "3.11.0a6" and python_version >= "3.7" or python_version >= "3.7" +tox==1.9.2; python_version >= "3.7" +typed-ast==1.5.4; 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.21; python_version >= "3.7" +types-mock==4.0.15; python_version >= "3.7" +types-pyopenssl==22.0.9; python_version >= "3.7" +types-pyrfc3339==1.1.1; python_version >= "3.7" +types-python-dateutil==2.8.19; python_version >= "3.7" +types-pytz==2022.1.2; python_version >= "3.7" +types-requests==2.28.5; python_version >= "3.7" +types-setuptools==63.2.2; python_version >= "3.7" +types-six==1.16.18; python_version >= "3.7" +types-urllib3==1.26.17; python_version >= "3.7" +typing-extensions==4.3.0; 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.16.2; 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.14.1; python_version >= "3.7" +zipp==3.8.1; python_version < "3.8" and python_version >= "3.7" +zope.component==4.1.0 +zope.event==4.0.3 +zope.hookable==4.0.4 +zope.interface==4.0.5 diff --git a/tools/pinning/common/export-pinned-dependencies.sh b/tools/pinning/common/export-pinned-dependencies.sh index c52c629ae..be6f0aa4e 100755 --- a/tools/pinning/common/export-pinned-dependencies.sh +++ b/tools/pinning/common/export-pinned-dependencies.sh @@ -41,4 +41,4 @@ poetry lock >&2 trap 'rm poetry.lock' EXIT # We need to remove local packages from the output. -poetry export --format constraints.txt --without-hashes | sed '/^acme @/d; /certbot/d;' +poetry export --without-hashes | sed '/^acme @/d; /certbot/d;' diff --git a/tools/pinning/current/pyproject.toml b/tools/pinning/current/pyproject.toml index 1dd61b25a..99294c96e 100644 --- a/tools/pinning/current/pyproject.toml +++ b/tools/pinning/current/pyproject.toml @@ -43,7 +43,7 @@ windows-installer = {path = "../../../windows-installer"} # versions of awscli on PyPI so this process takes too long. Providing a high # minimum version here prevents poetry from searching this path and it fairly # quickly resolves the dependency conflict in another way. -awscli = ">=1.25.85" +awscli = ">=1.22.76" # As of writing this, cython is a build dependency of pyyaml. Since there # doesn't appear to be a good way to automatically track down and pin build # dependencies in Python (see @@ -58,6 +58,18 @@ cython = "*" # needed. This dependency can be removed here once Certbot's support for the # 3rd party mock library has been dropped. mock = "*" +# poetry 1.2.0+ is required for it to pin pip, setuptools, and wheel. See +# https://github.com/python-poetry/poetry/issues/1584. This version is required +# here in addition to certbot/setup.py because otherwise the pre-release +# version of poetry will not be installed. +# +# Additionally, newer versions of poetry/poetry-core include package extras +# (e.g. "docker[ssh]") in its `poetry export` output which is valid for +# requirements files, but not constraints files. We are currently using that +# output as constraints so let's also pin back poetry and poetry-core until we +# have a better workaround. +poetry = "1.2.0a2" +poetry-core = "1.1.0a7" # setuptools-rust is a build dependency of cryptography, and since we don't have # a great way of pinning build dependencies, we simply list it here to ensure a # working version. Note: if build dependencies of setuptools-rust break at some diff --git a/tools/pinning/oldest/pyproject.toml b/tools/pinning/oldest/pyproject.toml index 77721e259..3a49b12ed 100644 --- a/tools/pinning/oldest/pyproject.toml +++ b/tools/pinning/oldest/pyproject.toml @@ -10,7 +10,7 @@ license = "Apache License 2.0" [tool.poetry.dependencies] # The Python version here should be kept in sync with the one used in our # oldest tests in tox.ini. -python = "3.7.*" +python = "3.7" # Local dependencies # Any local packages that have dependencies on other local packages must be diff --git a/tools/requirements.txt b/tools/requirements.txt index 00bc23e33..fb3afc90f 100644 --- a/tools/requirements.txt +++ b/tools/requirements.txt @@ -5,187 +5,189 @@ # requirements.txt so that is scanned by GitHub. See # https://docs.github.com/en/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems # for more info. -alabaster==0.7.12 ; python_version >= "3.7" and python_version < "4.0" -apacheconfig==0.3.2 ; python_version >= "3.7" and python_version < "4.0" -appnope==0.1.3 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "darwin" -astroid==2.11.7 ; python_version >= "3.7" and python_version < "4.0" -attrs==22.1.0 ; python_version >= "3.7" and python_version < "4.0" -awscli==1.25.85 ; python_version >= "3.7" and python_version < "4.0" -azure-devops==6.0.0b4 ; python_version >= "3.7" and python_version < "4.0" -babel==2.10.3 ; python_version >= "3.7" and python_version < "4.0" -backcall==0.2.0 ; python_version >= "3.7" and python_version < "4.0" -backports-cached-property==1.0.2 ; python_version >= "3.7" and python_version < "3.8" -bcrypt==4.0.0 ; python_version >= "3.7" and python_version < "4.0" -beautifulsoup4==4.11.1 ; python_version >= "3.7" and python_version < "4.0" -bleach==5.0.1 ; python_version >= "3.7" and python_version < "4.0" -boto3==1.24.84 ; python_version >= "3.7" and python_version < "4.0" -botocore==1.27.84 ; python_version >= "3.7" and python_version < "4.0" -cachecontrol==0.12.11 ; python_version >= "3.7" and python_version < "4.0" -cachetools==5.2.0 ; python_version >= "3.7" and python_version < "4.0" -cachy==0.3.0 ; python_version >= "3.7" and python_version < "4.0" -certifi==2022.9.24 ; python_version >= "3.7" and python_version < "4" -cffi==1.15.1 ; python_version >= "3.7" and python_version < "4.0" -charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" -cleo==1.0.0a5 ; python_version >= "3.7" and python_version < "4.0" -cloudflare==2.10.2 ; python_version >= "3.7" and python_version < "4.0" -colorama==0.4.4 ; python_version >= "3.7" and python_version < "4.0" -commonmark==0.9.1 ; python_version >= "3.7" and python_version < "4.0" -configargparse==1.5.3 ; python_version >= "3.7" and python_version < "4.0" -configobj==5.0.6 ; python_version >= "3.7" and python_version < "4.0" -coverage==6.5.0 ; python_version >= "3.7" and python_version < "4.0" -crashtest==0.3.1 ; python_version >= "3.7" and python_version < "4.0" -cryptography==38.0.1 ; python_version >= "3.7" and python_version < "4.0" -cython==0.29.32 ; python_version >= "3.7" and python_version < "4.0" -decorator==5.1.1 ; python_version >= "3.7" and python_version < "4.0" -dill==0.3.5.1 ; python_version >= "3.7" and python_version < "4.0" -distlib==0.3.6 ; python_version >= "3.7" and python_version < "4.0" -distro==1.7.0 ; python_version >= "3.7" and python_version < "4.0" -dns-lexicon==3.11.4 ; python_version >= "3.7" and python_version < "4.0" -dnspython==2.2.1 ; python_version >= "3.7" and python_version < "4.0" -docutils==0.16 ; python_version >= "3.7" and python_version < "4.0" -dulwich==0.20.46 ; python_version >= "3.7" and python_version < "4.0" -execnet==1.9.0 ; python_version >= "3.7" and python_version < "4.0" -fabric==2.7.1 ; python_version >= "3.7" and python_version < "4.0" -filelock==3.8.0 ; python_version >= "3.7" and python_version < "4.0" -google-api-core==2.10.1 ; python_version >= "3.7" and python_version < "4.0" -google-api-python-client==2.63.0 ; python_version >= "3.7" and python_version < "4.0" -google-auth-httplib2==0.1.0 ; python_version >= "3.7" and python_version < "4.0" -google-auth==2.12.0 ; python_version >= "3.7" and python_version < "4.0" -googleapis-common-protos==1.56.4 ; python_version >= "3.7" and python_version < "4.0" -html5lib==1.1 ; python_version >= "3.7" and python_version < "4.0" -httplib2==0.20.4 ; python_version >= "3.7" and python_version < "4.0" -idna==3.4 ; python_version >= "3.7" and python_version < "4" -imagesize==1.4.1 ; python_version >= "3.7" and python_version < "4.0" -importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "4.0" -importlib-resources==5.9.0 ; python_version >= "3.7" and python_version < "3.9" -iniconfig==1.1.1 ; python_version >= "3.7" and python_version < "4.0" -invoke==1.7.3 ; python_version >= "3.7" and python_version < "4.0" -ipdb==0.13.9 ; python_version >= "3.7" and python_version < "4.0" -ipython==7.34.0 ; python_version >= "3.7" and python_version < "4.0" -isodate==0.6.1 ; python_version >= "3.7" and python_version < "4.0" -isort==5.10.1 ; python_version >= "3.7" and python_version < "4.0" -jaraco-classes==3.2.3 ; python_version >= "3.7" and python_version < "4.0" -jedi==0.18.1 ; python_version >= "3.7" and python_version < "4.0" -jeepney==0.8.0 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" -jinja2==3.1.2 ; python_version >= "3.7" and python_version < "4.0" -jmespath==1.0.1 ; python_version >= "3.7" and python_version < "4.0" -josepy==1.13.0 ; python_version >= "3.7" and python_version < "4.0" -jsonlines==3.1.0 ; python_version >= "3.7" and python_version < "4.0" -jsonpickle==2.2.0 ; python_version >= "3.7" and python_version < "4.0" -jsonschema==4.16.0 ; python_version >= "3.7" and python_version < "4.0" -keyring==23.9.3 ; python_version >= "3.7" and python_version < "4.0" -lazy-object-proxy==1.7.1 ; python_version >= "3.7" and python_version < "4.0" -lockfile==0.12.2 ; python_version >= "3.7" and python_version < "4.0" -markupsafe==2.1.1 ; python_version >= "3.7" and python_version < "4.0" -matplotlib-inline==0.1.6 ; python_version >= "3.7" and python_version < "4.0" -mccabe==0.7.0 ; python_version >= "3.7" and python_version < "4.0" -mock==4.0.3 ; python_version >= "3.7" and python_version < "4.0" -more-itertools==8.14.0 ; python_version >= "3.7" and python_version < "4.0" -msgpack==1.0.4 ; python_version >= "3.7" and python_version < "4.0" -msrest==0.6.21 ; python_version >= "3.7" and python_version < "4.0" -mypy-extensions==0.4.3 ; python_version >= "3.7" and python_version < "4.0" -mypy==0.982 ; python_version >= "3.7" and python_version < "4.0" -oauth2client==4.1.3 ; python_version >= "3.7" and python_version < "4.0" -oauthlib==3.2.1 ; python_version >= "3.7" and python_version < "4.0" -packaging==21.3 ; python_version >= "3.7" and python_version < "4.0" -paramiko==2.11.0 ; python_version >= "3.7" and python_version < "4.0" -parsedatetime==2.6 ; python_version >= "3.7" and python_version < "4.0" -parso==0.8.3 ; python_version >= "3.7" and python_version < "4.0" -pathlib2==2.3.7.post1 ; python_version >= "3.7" and python_version < "4.0" -pexpect==4.8.0 ; python_version >= "3.7" and python_version < "4.0" -pickleshare==0.7.5 ; python_version >= "3.7" and python_version < "4.0" -pip==22.2.2 ; python_version >= "3.7" and python_version < "4.0" -pkginfo==1.8.3 ; python_version >= "3.7" and python_version < "4.0" -pkgutil-resolve-name==1.3.10 ; python_version >= "3.7" and python_version < "3.9" -platformdirs==2.5.2 ; python_version >= "3.7" and python_version < "4.0" -pluggy==1.0.0 ; python_version >= "3.7" and python_version < "4.0" -ply==3.11 ; python_version >= "3.7" and python_version < "4.0" -poetry-core==1.2.0 ; python_version >= "3.7" and python_version < "4.0" -poetry-plugin-export==1.1.1 ; python_version >= "3.7" and python_version < "4.0" -poetry==1.2.1 ; python_version >= "3.7" and python_version < "4.0" -prompt-toolkit==3.0.31 ; python_version >= "3.7" and python_version < "4.0" -protobuf==4.21.7 ; python_version >= "3.7" and python_version < "4.0" -ptyprocess==0.7.0 ; python_version >= "3.7" and python_version < "4.0" -py==1.11.0 ; python_version >= "3.7" and python_version < "4.0" -pyasn1-modules==0.2.8 ; python_version >= "3.7" and python_version < "4.0" -pyasn1==0.4.8 ; python_version >= "3.7" and python_version < "4.0" -pycparser==2.21 ; python_version >= "3.7" and python_version < "4.0" -pygments==2.13.0 ; python_version >= "3.7" and python_version < "4.0" -pylev==1.4.0 ; python_version >= "3.7" and python_version < "4.0" -pylint==2.13.9 ; python_version >= "3.7" and python_version < "4.0" -pynacl==1.5.0 ; python_version >= "3.7" and python_version < "4.0" -pynsist==2.7 ; python_version >= "3.7" and python_version < "4.0" -pyopenssl==22.1.0 ; python_version >= "3.7" and python_version < "4.0" -pyparsing==3.0.9 ; python_version >= "3.7" and python_version < "4.0" -pyrfc3339==1.1 ; python_version >= "3.7" and python_version < "4.0" -pyrsistent==0.18.1 ; python_version >= "3.7" and python_version < "4.0" -pytest-cov==4.0.0 ; python_version >= "3.7" and python_version < "4.0" -pytest-forked==1.4.0 ; python_version >= "3.7" and python_version < "4.0" -pytest-xdist==2.5.0 ; python_version >= "3.7" and python_version < "4.0" -pytest==7.1.3 ; python_version >= "3.7" and python_version < "4.0" -python-augeas==1.1.0 ; python_version >= "3.7" and python_version < "4.0" -python-dateutil==2.8.2 ; python_version >= "3.7" and python_version < "4.0" -python-digitalocean==1.17.0 ; python_version >= "3.7" and python_version < "4.0" -pytz==2022.4 ; python_version >= "3.7" and python_version < "4.0" -pywin32-ctypes==0.2.0 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" -pywin32==304 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" -pyyaml==5.4.1 ; python_version >= "3.7" and python_version < "4.0" -readme-renderer==37.2 ; python_version >= "3.7" and python_version < "4.0" -requests-download==0.1.2 ; python_version >= "3.7" and python_version < "4.0" -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_version < "4.0" -requests-toolbelt==0.9.1 ; python_version >= "3.7" and python_version < "4.0" -requests==2.28.1 ; python_version >= "3.7" and python_version < "4" -rfc3986==2.0.0 ; python_version >= "3.7" and python_version < "4.0" -rich==12.6.0 ; python_version >= "3.7" and python_version < "4.0" -rsa==4.7.2 ; python_version >= "3.7" and python_version < "4" -s3transfer==0.6.0 ; python_version >= "3.7" and python_version < "4.0" -secretstorage==3.3.3 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" -semantic-version==2.10.0 ; python_version >= "3.7" and python_version < "4.0" -setuptools-rust==1.5.2 ; python_version >= "3.7" and python_version < "4.0" -setuptools==65.4.1 ; python_version >= "3.7" and python_version < "4.0" -shellingham==1.5.0 ; python_version >= "3.7" and python_version < "4.0" -six==1.16.0 ; python_version >= "3.7" and python_version < "4.0" -snowballstemmer==2.2.0 ; python_version >= "3.7" and python_version < "4.0" -soupsieve==2.3.2.post1 ; python_version >= "3.7" and python_version < "4.0" -sphinx-rtd-theme==1.0.0 ; python_version >= "3.7" and python_version < "4.0" -sphinx==5.1.1 ; python_version >= "3.7" and python_version < "4.0" -sphinxcontrib-applehelp==1.0.2 ; python_version >= "3.7" and python_version < "4.0" -sphinxcontrib-devhelp==1.0.2 ; python_version >= "3.7" and python_version < "4.0" -sphinxcontrib-htmlhelp==2.0.0 ; python_version >= "3.7" and python_version < "4.0" -sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.7" and python_version < "4.0" -sphinxcontrib-qthelp==1.0.3 ; python_version >= "3.7" and python_version < "4.0" -sphinxcontrib-serializinghtml==1.1.5 ; python_version >= "3.7" and python_version < "4.0" -tldextract==3.3.1 ; python_version >= "3.7" and python_version < "4.0" -toml==0.10.2 ; python_version >= "3.7" and python_version < "4.0" -tomli==2.0.1 ; python_version >= "3.7" and python_version < "4.0" -tomlkit==0.11.5 ; python_version >= "3.7" and python_version < "4.0" -tox==3.26.0 ; python_version >= "3.7" and python_version < "4.0" -traitlets==5.4.0 ; python_version >= "3.7" and python_version < "4.0" -twine==4.0.1 ; python_version >= "3.7" and python_version < "4.0" -typed-ast==1.5.4 ; python_version >= "3.7" and python_version < "3.8" -types-cryptography==3.3.23 ; python_version >= "3.7" and python_version < "4.0" -types-mock==4.0.15 ; python_version >= "3.7" and python_version < "4.0" -types-pyopenssl==22.0.10 ; python_version >= "3.7" and python_version < "4.0" -types-pyrfc3339==1.1.1 ; python_version >= "3.7" and python_version < "4.0" -types-python-dateutil==2.8.19 ; python_version >= "3.7" and python_version < "4.0" -types-pytz==2022.2.1.0 ; python_version >= "3.7" and python_version < "4.0" -types-requests==2.28.11 ; python_version >= "3.7" and python_version < "4.0" -types-setuptools==65.4.0.0 ; python_version >= "3.7" and python_version < "4.0" -types-six==1.16.21 ; python_version >= "3.7" and python_version < "4.0" -types-urllib3==1.26.25 ; python_version >= "3.7" and python_version < "4.0" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "4.0" -uritemplate==4.1.1 ; python_version >= "3.7" and python_version < "4.0" -urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4" -virtualenv==20.16.5 ; python_version >= "3.7" and python_version < "4.0" -wcwidth==0.2.5 ; python_version >= "3.7" and python_version < "4.0" -webencodings==0.5.1 ; python_version >= "3.7" and python_version < "4.0" -wheel==0.37.1 ; python_version >= "3.7" and python_version < "4.0" -wrapt==1.14.1 ; python_version >= "3.7" and python_version < "4.0" -xattr==0.9.9 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "darwin" -yarg==0.1.9 ; python_version >= "3.7" and python_version < "4.0" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "4.0" -zope-component==5.0.1 ; python_version >= "3.7" and python_version < "4.0" -zope-event==4.5.0 ; python_version >= "3.7" and python_version < "4.0" -zope-hookable==5.2 ; python_version >= "3.7" and python_version < "4.0" -zope-interface==5.4.0 ; python_version >= "3.7" and python_version < "4.0" +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_version < "4.0" +appnope==0.1.3; python_version >= "3.7" and sys_platform == "darwin" +astroid==2.11.7; python_version >= "3.7" +attrs==22.1.0; python_version >= "3.7" +awscli==1.25.76 +awscli==1.25.76; python_version >= "3.7" +azure-devops==6.0.0b4; python_version >= "3.7" +babel==2.10.3; python_version >= "3.7" +backcall==0.2.0; python_version >= "3.7" +bcrypt==4.0.0; python_version >= "3.7" +beautifulsoup4==4.11.1; python_version >= "3.7" +bleach==5.0.1; python_version >= "3.7" +boto3==1.24.75; python_version >= "3.7" +botocore==1.27.75; python_version >= "3.7" +cachecontrol==0.12.12; python_version >= "3.7" and python_version < "4.0" +cached-property==1.5.2; python_version < "3.8" and python_version >= "3.7" +cachetools==5.2.0; python_version >= "3.7" and python_version < "4.0" +cachy==0.3.0; python_version >= "3.7" and python_version < "4.0" +certifi==2022.9.14; python_version >= "3.7" and python_version < "4" or python_version >= "3.7" +cffi==1.15.1; python_version >= "3.7" +charset-normalizer==2.1.1; python_version >= "3.7" and python_version < "4" +cleo==1.0.0a5; python_version >= "3.7" and python_version < "4.0" +cloudflare==2.10.1; python_version >= "3.7" +colorama==0.4.4; python_version >= "3.7" +configargparse==1.5.3; python_version >= "3.7" +configobj==5.0.6; python_version >= "3.7" +coverage==6.4.4; python_version >= "3.7" +crashtest==0.3.1; python_version >= "3.7" and python_version < "4.0" +cryptography==38.0.1 +cryptography==38.0.1; python_version >= "3.7" +cython==0.29.32 +decorator==5.1.1; python_version >= "3.7" +dill==0.3.5.1; python_version >= "3.7" +distlib==0.3.6; python_version >= "3.7" +distro==1.7.0; python_version >= "3.7" +dns-lexicon==3.11.1; 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.29.2; python_version >= "3.7" +docker==6.0.0; python_version >= "3.7" +dockerpty==0.4.1; python_version >= "3.7" +docopt==0.6.2; python_version >= "3.7" +docutils==0.16; python_version >= "3.7" +entrypoints==0.3; python_version >= "3.7" and python_version < "4.0" +execnet==1.9.0; python_version >= "3.7" +fabric==2.7.1; python_version >= "3.7" +filelock==3.8.0; python_version >= "3.7" or python_version >= "3.7" and python_version < "4.0" +google-api-core==2.10.1; python_version >= "3.7" +google-api-python-client==2.61.0; python_version >= "3.7" +google-auth-httplib2==0.1.0; python_version >= "3.7" +google-auth==2.11.0; python_version >= "3.7" +googleapis-common-protos==1.56.4; python_version >= "3.7" +html5lib==1.1; python_version >= "3.7" and python_version < "4.0" +httplib2==0.20.4; python_version >= "3.7" +idna==3.4; python_version >= "3.7" and python_version < "4" or python_version >= "3.7" and python_version < "4.0" +imagesize==1.4.1; 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.7.1; python_version >= "3.7" +ipdb==0.13.9; python_version >= "3.7" +ipython==7.34.0; python_version >= "3.7" +isodate==0.6.1; 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.8.0; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" +jinja2==3.1.2; python_version >= "3.7" +jmespath==1.0.1; python_version >= "3.7" +josepy==1.13.0; python_version >= "3.7" +jsonlines==3.1.0; python_version >= "3.7" +jsonpickle==2.2.0; 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" +markupsafe==2.1.1; python_version >= "3.7" +matplotlib-inline==0.1.6; python_version >= "3.7" +mccabe==0.7.0; python_version >= "3.7" +mock==4.0.3 +msgpack==1.0.4; 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.971; python_version >= "3.7" +oauth2client==4.1.3; python_version >= "3.7" +oauthlib==3.2.1; python_version >= "3.7" +packaging==20.9; python_version >= "3.7" +paramiko==2.11.0; 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" +pexpect==4.8.0; python_version >= "3.7" and python_version < "4.0" or python_version >= "3.7" and sys_platform != "win32" +pickleshare==0.7.5; python_version >= "3.7" +pip==22.2.2; python_version >= "3.7" +pkginfo==1.8.3; python_version >= "3.7" and python_version < "4.0" or python_version >= "3.7" +platformdirs==2.5.2; python_version >= "3.7" +pluggy==1.0.0; python_version >= "3.7" +ply==3.11; python_version >= "3.7" +poetry-core==1.1.0a7 +poetry==1.2.0a2 +prompt-toolkit==3.0.31; python_version >= "3.7" +protobuf==4.21.6; 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" +pyasn1-modules==0.2.8; python_version >= "3.7" +pyasn1==0.4.8; python_version >= "3.7" +pycparser==2.21; python_version >= "3.7" +pygments==2.13.0; python_version >= "3.7" +pylev==1.4.0; python_version >= "3.7" and python_version < "4.0" +pylint==2.13.9 +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.9; python_version >= "3.7" +pyrfc3339==1.1; 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" +pytest==7.1.3; python_version >= "3.7" +python-augeas==1.1.0; 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.21.0; python_version >= "3.7" +pytz==2022.2.1; python_version >= "3.7" +pywin32-ctypes==0.2.0; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" +pywin32==304; sys_platform == "win32" and python_version >= "3.7" +pyyaml==5.4.1; python_version >= "3.7" +readme-renderer==37.1; 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" +requests-toolbelt==0.9.1; python_version >= "3.7" +requests==2.28.1; python_version >= "3.7" and python_version < "4" +rfc3986==2.0.0; python_version >= "3.7" +rsa==4.7.2; python_version >= "3.7" and python_version < "4" +s3transfer==0.6.0; python_version >= "3.7" +secretstorage==3.3.3; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" +semantic-version==2.10.0; python_version >= "3.7" +setuptools-rust==1.5.1 +setuptools==65.3.0; python_version >= "3.7" +shellingham==1.5.0; python_version >= "3.7" and python_version < "4.0" +six==1.16.0; python_version >= "3.7" +snowballstemmer==2.2.0; python_version >= "3.7" +soupsieve==2.3.2.post1; 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" +tldextract==3.3.1; python_version >= "3.7" and python_version < "4.0" +toml==0.10.2; python_version >= "3.7" +tomli==2.0.1; python_version < "3.11" and python_version >= "3.7" or python_full_version <= "3.11.0a6" and python_version >= "3.7" or python_version >= "3.7" +tomlkit==0.11.4; python_version >= "3.7" and python_version < "4.0" +tox==3.26.0; python_version >= "3.7" +tqdm==4.64.1; python_version >= "3.7" +traitlets==5.4.0; python_version >= "3.7" +twine==3.3.0; python_version >= "3.7" +typed-ast==1.5.4; 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.23; python_version >= "3.7" +types-mock==4.0.15; python_version >= "3.7" +types-pyopenssl==22.0.10; python_version >= "3.7" +types-pyrfc3339==1.1.1; python_version >= "3.7" +types-python-dateutil==2.8.19; python_version >= "3.7" +types-pytz==2022.2.1.0; python_version >= "3.7" +types-requests==2.28.10; python_version >= "3.7" +types-setuptools==65.3.0; python_version >= "3.7" +types-six==1.16.19; python_version >= "3.7" +types-urllib3==1.26.24; python_version >= "3.7" +typing-extensions==4.3.0; 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==4.1.1; python_version >= "3.7" +urllib3==1.26.12; 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.14.1; python_version >= "3.7" +yarg==0.1.9; python_version >= "3.7" +zipp==3.8.1; 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.2; python_version >= "3.7" +zope.interface==5.4.0; python_version >= "3.7"