Clean up some py36 infra

- Drop py36 versions from py3-constraints.txt
- Remove py36 tox environment

Forgot to do this when we dropped py36 support.

Signed-off-by: Tim Burke <tim.burke@gmail.com>
Change-Id: I0233e1dd036b9a420c815fec3c9632d2967b934e
This commit is contained in:
Tim Burke
2025-08-28 10:47:25 -07:00
parent 1ed7b71bb5
commit 3db8e2d05f
2 changed files with 7 additions and 78 deletions

View File

@@ -1,117 +1,88 @@
GitPython===3.1.45;python_version>='3.7'
GitPython===3.1.18;python_version=='3.6'
PasteDeploy===3.1.0;python_version>='3.7'
PasteDeploy===2.1.1;python_version=='3.6'
PyJWT===2.10.1;python_version>='3.9'
PyJWT===2.9.0;python_version=='3.8'
# PyJWT only required for keystonemiddleware>10, which requires python>=3.8
PyYAML===6.0.2;python_version>='3.8'
PyYAML===6.0.1;python_version=='3.7'
PyYAML===6.0.1;python_version=='3.6'
Pygments===2.19.2;python_version>='3.8'
Pygments===2.17.2;python_version=='3.7'
WebOb===1.8.9
attrs===25.3.0;python_version>='3.8'
attrs===24.2.0;python_version=='3.7'
attrs===22.2.0;python_version=='3.6'
autopage===0.5.2
bandit===1.8.6;python_version>='3.9'
bandit===1.7.10;python_version=='3.8'
bandit===1.7.5;python_version=='3.7'
bandit===1.7.1;python_version=='3.6'
boto3===1.40.19;python_version>='3.9'
boto3===1.37.38;python_version=='3.8'
boto3===1.33.13;python_version=='3.7'
boto3===1.23.10;python_version=='3.6'
botocore===1.40.19;python_version>='3.9'
botocore===1.37.38;python_version=='3.8'
botocore===1.33.13;python_version=='3.7'
botocore===1.26.10;python_version=='3.6'
certifi===2025.8.3
cffi===1.17.1;python_version>='3.8'
cffi===1.15.1;python_version=='3.7'
cffi===1.15.1;python_version=='3.6'
charset-normalizer===3.4.3;python_version>='3.7'
charset-normalizer===2.0.12;python_version=='3.6'
cliff===4.11.0;python_version>='3.10'
cliff===4.9.1;python_version=='3.9'
cliff===4.7.0;python_version=='3.8'
cliff===3.10.1;python_version=='3.7'
cliff===3.10.1;python_version=='3.6'
cmd2===2.7.0;python_version>='3.9'
cmd2===2.5.11;python_version=='3.8'
cmd2===2.4.3;python_version=='3.7'
cmd2===2.4.3;python_version=='3.6'
coverage===7.10.5;python_version>='3.9'
coverage===7.6.1;python_version=='3.8'
coverage===7.2.7;python_version=='3.7'
coverage===6.2;python_version=='3.6'
cryptography===45.0.6;python_version>='3.7'
cryptography===40.0.2;python_version=='3.6'
debtcollector===3.0.0;python_version>='3.8'
debtcollector===2.5.0;python_version=='3.7'
debtcollector===2.5.0;python_version=='3.6'
decorator===5.2.1;python_version>='3.8'
decorator===5.1.1;python_version=='3.7'
dnspython===2.7.0;python_version>='3.9'
dnspython===2.6.1;python_version=='3.8'
dnspython===2.3.0;python_version=='3.7'
dnspython===2.2.1;python_version=='3.6'
docutils===0.22;python_version>='3.9'
docutils===0.20.1;python_version=='3.8'
docutils===0.20.1;python_version=='3.7'
docutils===0.18.1;python_version=='3.6'
dogpile.cache===1.4.0;python_version>='3.9'
dogpile.cache===1.3.4;python_version=='3.8'
dogpile.cache===1.2.2;python_version=='3.7'
dogpile.cache===1.2.2;python_version=='3.6'
eventlet===0.40.3;python_version>='3.9'
eventlet===0.39.1;python_version=='3.8'
eventlet===0.38.2;python_version=='3.7'
eventlet===0.33.3;python_version=='3.6'
exceptiongroup===1.3.0;python_version>='3.7'
extras===1.0.0
fixtures===4.2.6;python_version>='3.9'
fixtures===4.2.5;python_version=='3.8'
fixtures===4.1.0;python_version=='3.7'
fixtures===4.0.1;python_version=='3.6'
flake8===7.1.2;python_version>='3.8'
flake8===3.8.4;python_version=='3.7'
flake8===3.8.4;python_version=='3.6'
gitdb===4.0.12;python_version>='3.7'
gitdb===4.0.9;python_version=='3.6'
greenlet===3.2.4;python_version>='3.9'
greenlet===3.1.1;python_version=='3.8'
greenlet===3.1.1;python_version=='3.7'
greenlet===2.0.2;python_version=='3.6'
hacking===7.0.0;python_version>='3.8'
hacking===4.1.0;python_version=='3.7'
hacking===4.1.0;python_version=='3.6'
idna===3.10
importlib-metadata===8.7.0;python_version>='3.9'
importlib-metadata===8.5.0;python_version=='3.8'
importlib-metadata===6.7.0;python_version=='3.7'
importlib-metadata===4.8.3;python_version=='3.6'
importlib-resources===6.5.2;python_version>='3.9'
importlib-resources===6.4.5;python_version=='3.8'
importlib-resources===5.12.0;python_version=='3.7'
iniconfig===2.1.0;python_version>='3.8'
iniconfig===2.0.0;python_version=='3.7'
iniconfig===1.1.1;python_version=='3.6'
iso8601===2.1.0;python_version>='3.7'
iso8601===1.1.0;python_version=='3.6'
jmespath===1.0.1;python_version>='3.7'
jmespath===0.10.0;python_version=='3.6'
keystoneauth1===5.12.0;python_version>='3.10'
keystoneauth1===5.11.1;python_version=='3.9'
keystoneauth1===5.8.1;python_version=='3.8'
keystoneauth1===5.1.3;python_version=='3.7'
keystoneauth1===5.1.3;python_version=='3.6'
keystonemiddleware===10.12.0;python_version>='3.10'
keystonemiddleware===10.11.0;python_version=='3.9'
keystonemiddleware===10.7.1;python_version=='3.8'
keystonemiddleware===9.5.0;python_version=='3.7'
keystonemiddleware===9.5.0;python_version=='3.6'
lxml===6.0.1;python_version>='3.8'
lxml===5.4.0;python_version=='3.7'
markdown-it-py===4.0.0;python_version>='3.10'
@@ -120,14 +91,11 @@ markdown-it-py===3.0.0;python_version=='3.8'
markdown-it-py===2.2.0;python_version=='3.7'
mccabe===0.7.0;python_version>='3.8'
mccabe===0.6.1;python_version=='3.7'
mccabe===0.6.1;python_version=='3.6'
mdurl===0.1.2;python_version>='3.7'
mock===5.2.0
msgpack===1.1.1;python_version>='3.8'
msgpack===1.0.5;python_version=='3.7'
msgpack===1.0.5;python_version=='3.6'
netaddr===1.3.0;python_version>='3.7'
netaddr===0.10.1;python_version=='3.6'
netifaces===0.11.0
os-service-types===1.8.0;python_version>='3.10'
os-service-types===1.7.0;python_version=='3.9'
@@ -136,135 +104,102 @@ os-service-types===1.7.0;python_version=='3.7'
oslo.cache===3.12.0;python_version>='3.9'
oslo.cache===3.8.0;python_version=='3.8'
oslo.cache===2.11.0;python_version=='3.7'
oslo.cache===2.11.0;python_version=='3.6'
oslo.config===10.0.0;python_version>='3.9'
oslo.config===9.6.0;python_version=='3.8'
oslo.config===8.8.1;python_version=='3.7'
oslo.config===8.8.1;python_version=='3.6'
oslo.context===6.1.0;python_version>='3.9'
oslo.context===5.6.0;python_version=='3.8'
oslo.context===4.1.0;python_version=='3.7'
oslo.context===4.1.0;python_version=='3.6'
oslo.i18n===6.6.0;python_version>='3.9'
oslo.i18n===6.4.0;python_version=='3.8'
oslo.i18n===5.1.0;python_version=='3.7'
oslo.i18n===5.1.0;python_version=='3.6'
oslo.log===7.2.1;python_version>='3.9'
oslo.log===6.1.2;python_version=='3.8'
oslo.log===4.8.0;python_version=='3.7'
oslo.log===4.8.0;python_version=='3.6'
oslo.serialization===5.8.0;python_version>='3.9'
oslo.serialization===5.5.0;python_version=='3.8'
oslo.serialization===4.3.0;python_version=='3.7'
oslo.serialization===4.3.0;python_version=='3.6'
oslo.utils===9.1.0;python_version>='3.9'
oslo.utils===7.3.0;python_version=='3.8'
oslo.utils===4.13.0;python_version=='3.7'
oslo.utils===4.13.0;python_version=='3.6'
packaging===25.0;python_version>='3.8'
packaging===24.0;python_version=='3.7'
packaging===21.3;python_version=='3.6'
pbr===7.0.1
pluggy===1.6.0;python_version>='3.9'
pluggy===1.5.0;python_version=='3.8'
pluggy===1.2.0;python_version=='3.7'
pluggy===1.0.0;python_version=='3.6'
prettytable===3.16.0;python_version>='3.9'
prettytable===3.11.0;python_version=='3.8'
prettytable===3.7.0;python_version=='3.7'
prettytable===2.5.0;python_version=='3.6'
py===1.11.0
pycadf===4.0.1;python_version>='3.9'
pycadf===4.0.0;python_version=='3.8'
pycadf===3.1.1;python_version=='3.7'
pycadf===3.1.1;python_version=='3.6'
pycodestyle===2.12.1;python_version>='3.8'
pycodestyle===2.6.0;python_version=='3.7'
pycodestyle===2.6.0;python_version=='3.6'
pycparser===2.22;python_version>='3.8'
pycparser===2.21;python_version=='3.7'
pycparser===2.21;python_version=='3.6'
pyeclib===1.6.4
pyflakes===3.2.0;python_version>='3.8'
pyflakes===2.2.0;python_version=='3.7'
pyflakes===2.2.0;python_version=='3.6'
pyinotify===0.9.6
pyparsing===3.2.3;python_version>='3.9'
pyparsing===3.1.4;python_version=='3.8'
pyparsing===3.1.4;python_version=='3.7'
pyparsing===3.1.4;python_version=='3.6'
pyperclip===1.9.0
pytest===8.4.1;python_version>='3.9'
pytest===8.3.5;python_version=='3.8'
pytest===7.4.4;python_version=='3.7'
pytest===7.0.1;python_version=='3.6'
pytest-cov===6.2.1;python_version>='3.9'
pytest-cov===5.0.0;python_version=='3.8'
pytest-cov===4.1.0;python_version=='3.7'
pytest-cov===4.0.0;python_version=='3.6'
python-dateutil===2.9.0.post0
python-keystoneclient===5.7.0;python_version>='3.10'
python-keystoneclient===5.6.0;python_version=='3.9'
python-keystoneclient===5.5.0;python_version=='3.8'
python-keystoneclient===4.5.0;python_version=='3.7'
python-keystoneclient===4.5.0;python_version=='3.6'
python-subunit===1.4.4;python_version>='3.7'
python-subunit===1.4.2;python_version=='3.6'
python-swiftclient===4.8.0
pytz===2025.2
requests===2.32.5;python_version>='3.9'
requests===2.32.4;python_version=='3.8'
requests===2.31.0;python_version=='3.7'
requests===2.27.1;python_version=='3.6'
requests-mock===1.12.1
rfc3986===2.0.0;python_version>='3.7'
rfc3986===1.5.0;python_version=='3.6'
rich===14.1.0;python_version>='3.8'
rich===13.8.1;python_version=='3.7'
s3transfer===0.13.1;python_version>='3.9'
s3transfer===0.11.5;python_version=='3.8'
s3transfer===0.8.2;python_version=='3.7'
s3transfer===0.5.2;python_version=='3.6'
setuptools===75.3.0;python_version>='3.12'
smmap===5.0.2;python_version>='3.7'
smmap===5.0.0;python_version=='3.6'
stestr===4.2.0;python_version>='3.8'
stestr===4.1.0;python_version=='3.7'
stevedore===5.5.0;python_version>='3.9'
stevedore===5.3.0;python_version=='3.8'
stevedore===3.5.2;python_version=='3.7'
stevedore===3.5.2;python_version=='3.6'
testtools===2.7.2;python_version>='3.8'
testtools===2.7.1;python_version=='3.7'
testtools===2.6.0;python_version=='3.6'
tomli===2.2.1;python_version>='3.8'
tomli===2.0.1;python_version=='3.7'
tomli===1.2.3;python_version=='3.6'
tomlkit===0.13.3;python_version>='3.8'
tomlkit===0.12.5;python_version=='3.7'
tomlkit===0.11.6;python_version=='3.6'
typing_extensions===4.15.0;python_version>='3.9'
typing_extensions===4.13.2;python_version=='3.8'
typing_extensions===4.7.1;python_version=='3.7'
typing_extensions===4.1.1;python_version=='3.6'
tzdata===2025.2;python_version>='3.9'
urllib3===2.5.0;python_version>='3.10'
urllib3===1.26.20;python_version=='3.9'
urllib3===1.26.20;python_version=='3.8'
urllib3===1.26.20;python_version=='3.7'
urllib3===1.26.20;python_version=='3.6'
voluptuous===0.15.2;python_version>='3.9'
voluptuous===0.14.2;python_version=='3.8'
voluptuous===0.14.1;python_version=='3.7'
voluptuous===0.13.1;python_version=='3.6'
wcwidth===0.2.13
wrapt===1.17.3;python_version>='3.8'
wrapt===1.16.0;python_version=='3.7'
wrapt===1.16.0;python_version=='3.6'
xattr===1.2.0;python_version>='3.8'
xattr===0.10.1;python_version=='3.7'
xattr===0.10.1;python_version=='3.6'
zipp===3.23.0;python_version>='3.9'
zipp===3.20.2;python_version=='3.8'
zipp===3.15.0;python_version=='3.7'
zipp===3.6.0;python_version=='3.6'

20
tox.ini
View File

@@ -1,9 +1,6 @@
[tox]
envlist = py3,pep8
minversion = 3.18.0
requires =
# required to support py27/py36 envs
virtualenv<20.22
[pytest]
addopts = --verbose -p no:requests_mock -r a
@@ -28,7 +25,7 @@ passenv = SWIFT_*
[testenv:s3api]
usedevelop = False
deps = {[testenv:py36]deps}
deps = {[testenv:py37]deps}
commands =
pytest {posargs:test/s3api}
# For some reason we hit some EPERM issue when building the package for these tests?
@@ -36,20 +33,17 @@ commands =
skipsdist = True
skip_install = True
[testenv:py36]
[testenv:py37]
deps =
-c{toxinidir}/py3-constraints.txt
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:py37]
deps = {[testenv:py36]deps}
[testenv:py38]
deps = {[testenv:py36]deps}
deps = {[testenv:py37]deps}
[testenv:py39]
deps = {[testenv:py36]deps}
deps = {[testenv:py37]deps}
[testenv:cover]
setenv = VIRTUAL_ENV={envdir}
@@ -64,13 +58,13 @@ commands =
./.manpages {posargs}
[testenv:func]
deps = {[testenv:py36]deps}
deps = {[testenv:py37]deps}
allowlist_externals =
./.functests
commands = ./.functests {posargs}
[testenv:func-ec]
deps = {[testenv:py36]deps}
deps = {[testenv:py37]deps}
allowlist_externals =
./.functests
commands = ./.functests {posargs}
@@ -78,7 +72,7 @@ setenv = SWIFT_TEST_IN_PROCESS=1
SWIFT_TEST_IN_PROCESS_CONF_LOADER=ec
[testenv:func-encryption]
deps = {[testenv:py36]deps}
deps = {[testenv:py37]deps}
allowlist_externals =
./.functests
commands = ./.functests {posargs}