From: Kefu Chai Date: Sun, 24 Apr 2022 01:29:24 +0000 (+0800) Subject: setup.py: dedup the requires X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=903c61f268b9c02bc1ea2744d801caff9b7554f0;p=teuthology.git setup.py: dedup the requires * move the dependencies from options.install_requires to options.extras_require if those dependencies are only used by tests. as per https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/#id5 > install_requires is a setuptools setup.py keyword that should be > used to specify what a project minimally needs to run correctly. * remove the duplicated dependencies from options.extras_require if they are also listed in options.install_requires. * update requirements.txt using "pip-compile --extra=test pyproject.toml", so requirements.txt can include the dependencies required by tests. Signed-off-by: Kefu Chai --- diff --git a/requirements.txt b/requirements.txt index 1b175b701e..49c1ebf890 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ # -# This file is autogenerated by pip-compile with python 3.9 +# This file is autogenerated by pip-compile with python 3.6 # To update, run: # -# pip-compile pyproject.toml +# pip-compile --extra=test pyproject.toml # ansible==2.9.27 # via teuthology (pyproject.toml) @@ -13,8 +13,10 @@ appdirs==1.4.4 argparse==1.4.0 # via teuthology (pyproject.toml) attrs==21.2.0 - # via cmd2 -backports-ssl-match-hostname==3.7.0.1 + # via + # cmd2 + # pytest +backports.ssl-match-hostname==3.7.0.1 # via teuthology (pyproject.toml) bcrypt==3.2.0 # via paramiko @@ -22,9 +24,9 @@ beanstalkc3==0.4.0 # via teuthology (pyproject.toml) boto==2.49.0 # via teuthology (pyproject.toml) -boto3==1.21.20 +boto3==1.21.46 # via teuthology (pyproject.toml) -botocore==1.24.20 +botocore==1.24.46 # via # boto3 # s3transfer @@ -62,17 +64,23 @@ cryptography==3.4.7 # teuthology (pyproject.toml) debtcollector==2.2.0 # via - # oslo-config - # oslo-utils + # oslo.config + # oslo.utils # python-keystoneclient decorator==5.0.9 # via - # dogpile-cache + # dogpile.cache # openstacksdk +distlib==0.3.4 + # via virtualenv docopt==0.6.2 # via teuthology (pyproject.toml) -dogpile-cache==1.1.3 +dogpile.cache==1.1.5 # via openstacksdk +filelock==3.4.1 + # via + # tox + # virtualenv gevent==21.8.0 # via teuthology (pyproject.toml) greenlet==1.1.0 @@ -83,13 +91,32 @@ humanfriendly==9.2 # via teuthology (pyproject.toml) idna==3.2 # via requests +importlib-metadata==4.8.3 + # via + # click + # cmd2 + # openstacksdk + # oslo.config + # pep517 + # pluggy + # prettytable + # pytest + # stevedore + # tox + # virtualenv +importlib-resources==5.4.0 + # via + # netaddr + # virtualenv +iniconfig==1.1.1 + # via pytest ipy==1.1 # via teuthology (pyproject.toml) iso8601==0.1.16 # via # keystoneauth1 # openstacksdk - # oslo-utils + # oslo.utils # python-novaclient # python-openstackclient jinja2==3.0.1 @@ -112,21 +139,25 @@ keystoneauth1==4.3.1 # python-novaclient markupsafe==2.0.1 # via jinja2 +mock==4.0.3 + # via teuthology (pyproject.toml) msgpack==1.0.2 - # via oslo-serialization + # via oslo.serialization munch==2.5.0 # via openstacksdk ndg-httpsclient==0.5.1 # via teuthology (pyproject.toml) netaddr==0.8.0 # via - # oslo-config - # oslo-utils + # oslo.config + # oslo.utils # teuthology (pyproject.toml) netifaces==0.11.0 # via # openstacksdk - # oslo-utils + # oslo.utils +nose==1.3.7 + # via teuthology (pyproject.toml) openstacksdk==0.58.0 # via # osc-lib @@ -137,31 +168,34 @@ os-service-types==1.7.0 # openstacksdk osc-lib==2.4.1 # via python-openstackclient -oslo-config==8.7.1 +oslo.config==8.8.0 # via python-keystoneclient -oslo-i18n==5.0.1 +oslo.i18n==5.1.0 # via # osc-lib - # oslo-config - # oslo-utils + # oslo.config + # oslo.utils # python-cinderclient # python-keystoneclient # python-novaclient # python-openstackclient -oslo-serialization==4.1.0 +oslo.serialization==4.3.0 # via # python-keystoneclient # python-novaclient -oslo-utils==4.9.2 +oslo.utils==4.12.2 # via # osc-lib - # oslo-serialization + # oslo.serialization # python-cinderclient # python-keystoneclient # python-novaclient # python-openstackclient packaging==21.0 - # via oslo-utils + # via + # oslo.utils + # pytest + # tox paramiko==2.10.1 # via teuthology (pyproject.toml) pbr==5.6.0 @@ -172,9 +206,9 @@ pbr==5.6.0 # openstacksdk # os-service-types # osc-lib - # oslo-i18n - # oslo-serialization - # oslo-utils + # oslo.i18n + # oslo.serialization + # oslo.utils # python-cinderclient # python-keystoneclient # python-novaclient @@ -186,6 +220,12 @@ pexpect==4.8.0 # via teuthology (pyproject.toml) pip-tools==6.2.0 # via teuthology (pyproject.toml) +platformdirs==2.4.0 + # via virtualenv +pluggy==1.0.0 + # via + # pytest + # tox prettytable==2.1.0 # via # cliff @@ -196,12 +236,18 @@ psutil==5.8.0 # via teuthology (pyproject.toml) ptyprocess==0.7.0 # via pexpect +py==1.11.0 + # via + # pytest + # tox pyasn1==0.4.8 # via # ndg-httpsclient # teuthology (pyproject.toml) pycparser==2.20 # via cffi +pyjwt==2.3.0 + # via teuthology (pyproject.toml) pynacl==1.5.0 # via # paramiko @@ -214,10 +260,12 @@ pyparsing==2.4.7 # via # cliff # httplib2 - # oslo-utils + # oslo.utils # packaging pyperclip==1.8.2 # via cmd2 +pytest==7.0.1 + # via teuthology (pyproject.toml) python-cinderclient==8.0.0 # via python-openstackclient python-dateutil==2.8.2 @@ -234,27 +282,27 @@ python-openstackclient==5.5.0 # via teuthology (pyproject.toml) pytz==2021.1 # via - # oslo-serialization - # oslo-utils + # oslo.serialization + # oslo.utils pyyaml==5.4.1 # via # ansible # cliff # openstacksdk - # oslo-config + # oslo.config # teuthology (pyproject.toml) requests==2.27.1 # via # apache-libcloud # keystoneauth1 - # oslo-config + # oslo.config # python-cinderclient # python-keystoneclient # teuthology (pyproject.toml) requestsexceptions==1.4.0 # via openstacksdk rfc3986==1.5.0 - # via oslo-config + # via oslo.config s3transfer==0.5.2 # via boto3 sentry-sdk==1.3.1 @@ -270,31 +318,44 @@ six==1.16.0 # debtcollector # keystoneauth1 # munch - # oslo-i18n + # paramiko # pyopenssl # python-dateutil # python-keystoneclient - # teuthology (pyproject.toml) + # tox + # virtualenv stevedore==3.3.0 # via # cliff - # dogpile-cache + # dogpile.cache # keystoneauth1 # osc-lib - # oslo-config + # oslo.config # python-cinderclient # python-keystoneclient # python-novaclient # python-openstackclient toml==0.10.2 - # via teuthology (pyproject.toml) + # via + # teuthology (pyproject.toml) + # tox tomli==1.2.1 - # via pep517 + # via + # pep517 + # pytest +tox==3.25.0 + # via teuthology (pyproject.toml) +typing-extensions==4.1.1 + # via + # cmd2 + # importlib-metadata urllib3==1.26.6 # via # botocore # requests # sentry-sdk +virtualenv==20.14.1 + # via tox wcwidth==0.2.5 # via # cmd2 @@ -305,9 +366,14 @@ wrapt==1.12.1 # via debtcollector xmltodict==0.12.0 # via teuthology (pyproject.toml) -zope-event==4.5.0 +zipp==3.6.0 + # via + # importlib-metadata + # importlib-resources + # pep517 +zope.event==4.5.0 # via gevent -zope-interface==5.4.0 +zope.interface==5.4.0 # via gevent # The following packages are considered to be unsafe in a requirements file: diff --git a/setup.cfg b/setup.cfg index 7243d4f65a..f2a3dc59e4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -37,16 +37,12 @@ install_requires = argparse>=1.2.1 backports.ssl-match-hostname beanstalkc3>=0.4.0 - boto>=2.0b4 - boto3 configobj configparser - cryptography>=2.7 docopt gevent httplib2 humanfriendly - ipy ndg-httpsclient netaddr paramiko @@ -62,9 +58,6 @@ install_requires = python-openstackclient requests>2.13.0 sentry-sdk - six>=1.9 - toml - xmltodict python_requires = >=3.6 [options.entry_points] @@ -104,7 +97,6 @@ test = ipy mock nose - pip-tools pytest toml tox