GitPython===3.1.45;python_version>='3.7'
PasteDeploy===3.1.0;python_version>='3.7'
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'
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'
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'
boto3===1.40.19;python_version>='3.9'
boto3===1.37.38;python_version=='3.8'
boto3===1.33.13;python_version=='3.7'
botocore===1.40.19;python_version>='3.9'
botocore===1.37.38;python_version=='3.8'
botocore===1.33.13;python_version=='3.7'
certifi===2025.8.3
cffi===1.17.1;python_version>='3.8'
cffi===1.15.1;python_version=='3.7'
charset-normalizer===3.4.3;python_version>='3.7'
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'
cmd2===2.7.0;python_version>='3.9'
cmd2===2.5.11;python_version=='3.8'
cmd2===2.4.3;python_version=='3.7'
coverage===7.10.5;python_version>='3.9'
coverage===7.6.1;python_version=='3.8'
coverage===7.2.7;python_version=='3.7'
cryptography===45.0.6;python_version>='3.7'
debtcollector===3.0.0;python_version>='3.8'
debtcollector===2.5.0;python_version=='3.7'
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'
docutils===0.22;python_version>='3.9'
docutils===0.20.1;python_version=='3.8'
docutils===0.20.1;python_version=='3.7'
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'
eventlet===0.40.3;python_version>='3.9'
eventlet===0.39.1;python_version=='3.8'
eventlet===0.38.2;python_version=='3.7'
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'
flake8===7.1.2;python_version>='3.8'
flake8===3.8.4;python_version=='3.7'
gitdb===4.0.12;python_version>='3.7'
greenlet===3.2.4;python_version>='3.9'
greenlet===3.1.1;python_version=='3.8'
greenlet===3.1.1;python_version=='3.7'
hacking===7.0.0;python_version>='3.8'
hacking===4.1.0;python_version=='3.7'
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-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'
iso8601===2.1.0;python_version>='3.7'
jmespath===1.0.1;python_version>='3.7'
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'
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'
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'
markdown-it-py===3.0.0;python_version=='3.9'
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'
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'
netaddr===1.3.0;python_version>='3.7'
netifaces===0.11.0
os-service-types===1.8.0;python_version>='3.10'
os-service-types===1.7.0;python_version=='3.9'
os-service-types===1.7.0;python_version=='3.8'
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.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.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.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.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.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.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'
packaging===25.0;python_version>='3.8'
packaging===24.0;python_version=='3.7'
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'
prettytable===3.16.0;python_version>='3.9'
prettytable===3.11.0;python_version=='3.8'
prettytable===3.7.0;python_version=='3.7'
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'
pycodestyle===2.12.1;python_version>='3.8'
pycodestyle===2.6.0;python_version=='3.7'
pycparser===2.22;python_version>='3.8'
pycparser===2.21;python_version=='3.7'
pyeclib===1.6.4
pyflakes===3.2.0;python_version>='3.8'
pyflakes===2.2.0;python_version=='3.7'
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'
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-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'
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-subunit===1.4.4;python_version>='3.7'
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-mock===1.12.1
rfc3986===2.0.0;python_version>='3.7'
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'
setuptools===75.3.0;python_version>='3.12'
smmap===5.0.2;python_version>='3.7'
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'
testtools===2.7.2;python_version>='3.8'
testtools===2.7.1;python_version=='3.7'
tomli===2.2.1;python_version>='3.8'
tomli===2.0.1;python_version=='3.7'
tomlkit===0.13.3;python_version>='3.8'
tomlkit===0.12.5;python_version=='3.7'
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'
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'
voluptuous===0.15.2;python_version>='3.9'
voluptuous===0.14.2;python_version=='3.8'
voluptuous===0.14.1;python_version=='3.7'
wcwidth===0.2.13
wrapt===1.17.3;python_version>='3.8'
wrapt===1.16.0;python_version=='3.7'
xattr===1.2.0;python_version>='3.8'
xattr===0.10.1;python_version=='3.7'
zipp===3.23.0;python_version>='3.9'
zipp===3.20.2;python_version=='3.8'
zipp===3.15.0;python_version=='3.7'
