#######################################################################################
# Copyright ETSI Contributors and Others.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
adal==1.2.7
    # via msrestazure
atpublic==6.0.2
    # via flufl-enum
attrs==25.4.0
    # via
    #   jsonschema
    #   referencing
autopage==0.5.2
    # via cliff
azure-common==1.1.28
    # via
    #   -r RO-VIM-azure/requirements.in
    #   azure-mgmt-network
    #   azure-mgmt-resource
azure-core==1.35.1
    # via
    #   azure-identity
    #   azure-mgmt-core
    #   msrest
azure-identity==1.25.1
    # via -r RO-VIM-azure/requirements.in
azure-mgmt-compute==37.0.0
    # via -r RO-VIM-azure/requirements.in
azure-mgmt-core==1.6.0
    # via
    #   azure-mgmt-compute
    #   azure-mgmt-network
    #   azure-mgmt-resource
azure-mgmt-network==29.0.0
    # via -r RO-VIM-azure/requirements.in
azure-mgmt-resource==24.0.0
    # via -r RO-VIM-azure/requirements.in
bcrypt==5.0.0
    # via paramiko
boto==2.49.0
    # via -r RO-VIM-aws/requirements.in
cachetools==5.5.2
    # via google-auth
certifi==2025.10.5
    # via
    #   msrest
    #   requests
cffi==2.0.0
    # via
    #   cryptography
    #   pynacl
charset-normalizer==3.4.3
    # via requests
cheroot==11.0.0
    # via cherrypy
cherrypy==18.1.2
    # via -r NG-RO/requirements.in
cliff==4.11.0
    # via
    #   osc-lib
    #   python-neutronclient
    #   python-openstackclient
cmd2==2.7.0
    # via cliff
cryptography==46.0.2
    # via
    #   -r NG-RO/requirements.in
    #   adal
    #   azure-identity
    #   msal
    #   openstacksdk
    #   paramiko
    #   pyjwt
    #   pyopenssl
    #   python-openstackclient
cvprac==1.4.1
    # via -r RO-SDN-arista_cloudvision/requirements.in
debtcollector==3.0.0
    # via
    #   oslo-log
    #   oslo-utils
    #   python-keystoneclient
    #   python-neutronclient
decorator==5.2.1
    # via
    #   dogpile-cache
    #   openstacksdk
dogpile-cache==1.4.1
    # via openstacksdk
flufl-enum==7.0.0
    # via pyvcloud
google-api-core==2.8.2
    # via
    #   -r RO-VIM-gcp/requirements.in
    #   google-api-python-client
google-api-python-client==2.51.0
    # via -r RO-VIM-gcp/requirements.in
google-auth==2.8.0
    # via
    #   -r RO-VIM-gcp/requirements.in
    #   google-api-core
    #   google-api-python-client
    #   google-auth-httplib2
google-auth-httplib2==0.2.0
    # via google-api-python-client
google-cloud==0.34.0
    # via -r RO-VIM-gcp/requirements.in
googleapis-common-protos==1.56.3
    # via
    #   -r RO-VIM-gcp/requirements.in
    #   google-api-core
httplib2==0.31.0
    # via
    #   google-api-python-client
    #   google-auth-httplib2
humanfriendly==10.0
    # via pyvcloud
idna==3.10
    # via requests
importlib-metadata==8.7.0
    # via -r NG-RO/requirements.in
invoke==2.2.0
    # via paramiko
ipconflict==0.5.0
    # via -r RO-VIM-aws/requirements.in
iso8601==2.1.0
    # via
    #   keystoneauth1
    #   openstacksdk
    #   oslo-utils
    #   python-novaclient
    #   python-openstackclient
isodate==0.7.2
    # via
    #   azure-mgmt-network
    #   azure-mgmt-resource
    #   msrest
jaraco-functools==4.3.0
    # via
    #   cheroot
    #   tempora
jinja2==3.1.6
    # via -r NG-RO/requirements.in
jmespath==1.0.1
    # via openstacksdk
jsonpatch==1.33
    # via
    #   openstacksdk
    #   warlock
jsonpointer==3.0.0
    # via jsonpatch
jsonschema==4.25.1
    # via warlock
jsonschema-specifications==2025.9.1
    # via jsonschema
keystoneauth1==5.12.0
    # via
    #   openstacksdk
    #   osc-lib
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
logutils==0.3.5
    # via -r NG-RO/requirements.in
lxml==6.0.2
    # via pyvcloud
markdown-it-py==4.0.0
    # via rich
markupsafe==3.0.3
    # via jinja2
mdurl==0.1.2
    # via markdown-it-py
more-itertools==10.8.0
    # via
    #   cheroot
    #   cherrypy
    #   jaraco-functools
msal==1.34.0
    # via
    #   azure-identity
    #   msal-extensions
msal-extensions==1.3.1
    # via azure-identity
msgpack==1.1.2
    # via oslo-serialization
msrest==0.7.1
    # via
    #   -r RO-VIM-azure/requirements.in
    #   azure-mgmt-compute
    #   msrestazure
msrestazure==0.6.4.post1
    # via -r RO-VIM-azure/requirements.in
netaddr==1.3.0
    # via
    #   -r RO-VIM-aws/requirements.in
    #   -r RO-VIM-gcp/requirements.in
    #   ipconflict
    #   oslo-config
    #   oslo-utils
    #   python-neutronclient
oauthlib==3.3.1
    # via requests-oauthlib
openstacksdk==4.7.1
    # via
    #   os-client-config
    #   osc-lib
    #   python-neutronclient
    #   python-openstackclient
os-client-config==2.3.0
    # via python-neutronclient
os-service-types==1.8.0
    # via
    #   keystoneauth1
    #   openstacksdk
osc-lib==4.2.0
    # via
    #   python-neutronclient
    #   python-openstackclient
oslo-config==10.0.0
    # via
    #   oslo-log
    #   python-keystoneclient
oslo-context==6.1.0
    # via oslo-log
oslo-i18n==6.6.0
    # via
    #   osc-lib
    #   oslo-config
    #   oslo-log
    #   oslo-utils
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
    #   python-openstackclient
oslo-log==7.2.1
    # via python-neutronclient
oslo-serialization==5.8.0
    # via
    #   oslo-log
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
oslo-utils==9.1.0
    # via
    #   osc-lib
    #   oslo-log
    #   oslo-serialization
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
packaging==25.0
    # via
    #   cvprac
    #   oslo-utils
    #   python-keystoneclient
paramiko==4.0.0
    # via
    #   -r RO-VIM-gcp/requirements.in
    #   -r RO-plugin/requirements.in
pbr==7.0.1
    # via
    #   keystoneauth1
    #   openstacksdk
    #   os-client-config
    #   os-service-types
    #   osc-lib
    #   oslo-context
    #   oslo-i18n
    #   oslo-log
    #   oslo-utils
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-novaclient
    #   python-openstackclient
platformdirs==4.4.0
    # via openstacksdk
portend==3.2.1
    # via cherrypy
prettytable==3.16.0
    # via
    #   -r RO-VIM-vmware/requirements.in
    #   cliff
    #   python-cinderclient
    #   python-glanceclient
    #   python-novaclient
progressbar==2.5
    # via -r RO-VIM-vmware/requirements.in
protobuf==4.25.8
    # via
    #   google-api-core
    #   googleapis-common-protos
psutil==7.1.0
    # via
    #   openstacksdk
    #   oslo-utils
py-radix==0.10.0
    # via ipconflict
pyasn1==0.6.1
    # via
    #   pyasn1-modules
    #   rsa
pyasn1-modules==0.4.2
    # via google-auth
pycparser==2.23
    # via cffi
pygments==2.19.2
    # via
    #   pyvcloud
    #   rich
pyjwt[crypto]==2.10.1
    # via
    #   adal
    #   msal
pynacl==1.6.0
    # via paramiko
pyopenssl==25.3.0
    # via python-glanceclient
pyparsing==3.2.5
    # via
    #   httplib2
    #   oslo-utils
pyperclip==1.11.0
    # via cmd2
pysocks==1.7.1
    # via requests
python-cinderclient==7.4.1
    # via
    #   -r RO-VIM-openstack/requirements.in
    #   python-openstackclient
python-dateutil==2.9.0.post0
    # via
    #   adal
    #   oslo-log
    #   tempora
python-glanceclient==4.10.0
    # via -r RO-VIM-openstack/requirements.in
python-keystoneclient==5.7.0
    # via
    #   -r RO-VIM-openstack/requirements.in
    #   python-neutronclient
    #   python-openstackclient
python-neutronclient==11.6.0
    # via -r RO-VIM-openstack/requirements.in
python-novaclient==18.11.0
    # via
    #   -r NG-RO/requirements.in
    #   -r RO-VIM-openstack/requirements.in
python-openstackclient==8.2.0
    # via -r RO-VIM-openstack/requirements.in
pyvcloud==19.1.1
    # via -r RO-VIM-vmware/requirements.in
pyvmomi==9.0.0.0
    # via -r RO-VIM-vmware/requirements.in
pyyaml==6.0.3
    # via
    #   -r NG-RO/requirements.in
    #   -r requirements.in
    #   cliff
    #   openstacksdk
    #   oslo-config
    #   oslo-utils
    #   pyvcloud
referencing==0.36.2
    # via
    #   jsonschema
    #   jsonschema-specifications
requests[socks]==2.32.5
    # via
    #   -r NG-RO/requirements.in
    #   -r RO-VIM-vmware/requirements.in
    #   adal
    #   azure-core
    #   cvprac
    #   google-api-core
    #   keystoneauth1
    #   msal
    #   msrest
    #   osc-lib
    #   oslo-config
    #   python-cinderclient
    #   python-glanceclient
    #   python-keystoneclient
    #   python-neutronclient
    #   python-openstackclient
    #   pyvcloud
    #   requests-oauthlib
requests-oauthlib==2.0.0
    # via msrest
requestsexceptions==1.4.0
    # via openstacksdk
rfc3986==2.0.0
    # via oslo-config
rich==14.1.0
    # via rich-argparse
rich-argparse==1.7.1
    # via cmd2
rpds-py==0.27.1
    # via
    #   jsonschema
    #   referencing
rsa==4.9.1
    # via google-auth
simplejson==3.20.2
    # via python-cinderclient
six==1.17.0
    # via
    #   azure-core
    #   google-auth
    #   msrestazure
    #   python-dateutil
stevedore==5.5.0
    # via
    #   cliff
    #   dogpile-cache
    #   keystoneauth1
    #   osc-lib
    #   oslo-config
    #   python-cinderclient
    #   python-keystoneclient
    #   python-novaclient
    #   python-openstackclient
tempora==5.8.1
    # via portend
tqdm==4.67.1
    # via ipconflict
typing-extensions==4.15.0
    # via
    #   azure-core
    #   azure-identity
    #   azure-mgmt-compute
    #   azure-mgmt-network
    #   azure-mgmt-resource
    #   cryptography
    #   dogpile-cache
    #   flufl-enum
    #   keystoneauth1
    #   openstacksdk
    #   oslo-context
    #   pyopenssl
    #   referencing
tzdata==2025.2
    # via
    #   oslo-serialization
    #   oslo-utils
uritemplate==4.2.0
    # via google-api-python-client
urllib3==2.5.0
    # via requests
uuid==1.30
    # via -r RO-SDN-arista_cloudvision/requirements.in
warlock==2.1.0
    # via python-glanceclient
wcwidth==0.2.14
    # via
    #   cmd2
    #   prettytable
wrapt==1.17.3
    # via
    #   debtcollector
    #   python-glanceclient
zc-lockfile==4.0
    # via cherrypy
zipp==3.23.0
    # via importlib-metadata

# The following packages are considered to be unsafe in a requirements file:
# setuptools
