#######################################################################################
# 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.
#######################################################################################
appdirs==1.4.4
    # via openstacksdk
argcomplete==3.1.1
    # via yq
async-generator==1.10
    # via trio
attrs==23.1.0
    # via
    #   cmd2
    #   jsonschema
    #   outcome
    #   trio
autopage==0.5.1
    # via cliff
bcrypt==4.0.1
    # via paramiko
bitarray==2.7.3
    # via
    #   -r requirements.in
    #   pyangbind
blessings==1.7
    # via charm-tools
certifi==2023.5.7
    # via
    #   requests
    #   selenium
cffi==1.15.1
    # via
    #   cryptography
    #   pynacl
charm-tools==3.0.6
    # via -r requirements.in
charset-normalizer==3.1.0
    # via requests
cheetah3==3.2.6.post1
    # via charm-tools
cliff==4.3.0
    # via
    #   osc-lib
    #   python-openstackclient
cmd2==2.4.3
    # via cliff
colander==1.8.3
    # via charm-tools
cryptography==41.0.1
    # via
    #   openstacksdk
    #   paramiko
    #   secretstorage
debtcollector==2.5.0
    # via
    #   oslo-config
    #   oslo-utils
    #   python-keystoneclient
decorator==5.1.1
    # via
    #   dogpile-cache
    #   jsonpath-ng
    #   jsonpath-rw
    #   openstacksdk
dict2colander==0.2
    # via charm-tools
distlib==0.3.6
    # via virtualenv
dogpile-cache==1.2.1
    # via openstacksdk
enum34==1.1.10
    # via pyangbind
exceptiongroup==1.1.1
    # via
    #   trio
    #   trio-websocket
filelock==3.12.2
    # via virtualenv
h11==0.14.0
    # via wsproto
haikunator==2.1.0
    # via -r requirements.in
idna==3.4
    # via
    #   requests
    #   trio
importlib-metadata==6.7.0
    # via
    #   cliff
    #   keyring
iso8601==2.0.0
    # via
    #   colander
    #   keystoneauth1
    #   openstacksdk
    #   oslo-utils
    #   python-novaclient
    #   python-openstackclient
jaraco-classes==3.2.3
    # via keyring
jeepney==0.8.0
    # via
    #   keyring
    #   secretstorage
jmespath==1.0.1
    # via openstacksdk
jsonpatch==1.33
    # via openstacksdk
jsonpath-ng==1.5.3
    # via robotframework-jsonlibrary
jsonpath-rw==1.4.0
    # via jsonpath-rw-ext
jsonpath-rw-ext==1.2.2
    # via robotframework-jsonvalidator
jsonpointer==2.4
    # via jsonpatch
jsonschema==4.17.3
    # via
    #   charm-tools
    #   robotframework-jsonlibrary
    #   robotframework-jsonvalidator
jujubundlelib==0.5.7
    # via charm-tools
keyring==23.13.1
    # via charm-tools
keystoneauth1==5.2.1
    # via
    #   openstacksdk
    #   osc-lib
    #   python-cinderclient
    #   python-keystoneclient
    #   python-novaclient
lxml==4.9.2
    # via
    #   pyang
    #   pyangbind
more-itertools==9.1.0
    # via jaraco-classes
msgpack==1.0.5
    # via oslo-serialization
netaddr==0.8.0
    # via
    #   oslo-config
    #   oslo-utils
netifaces==0.11.0
    # via
    #   openstacksdk
    #   oslo-utils
objectpath==0.6.1
    # via robotframework-jsonvalidator
openstacksdk==1.3.0
    # via
    #   osc-lib
    #   python-openstackclient
os-service-types==1.7.0
    # via
    #   keystoneauth1
    #   openstacksdk
osc-lib==2.8.0
    # via python-openstackclient
oslo-config==9.1.1
    # via python-keystoneclient
oslo-i18n==6.0.0
    # via
    #   osc-lib
    #   oslo-config
    #   oslo-utils
    #   python-cinderclient
    #   python-keystoneclient
    #   python-novaclient
    #   python-openstackclient
oslo-serialization==5.1.1
    # via
    #   python-keystoneclient
    #   python-novaclient
oslo-utils==6.1.0
    # via
    #   osc-lib
    #   oslo-serialization
    #   python-cinderclient
    #   python-keystoneclient
    #   python-novaclient
    #   python-openstackclient
otherstuf==1.1.0
    # via charm-tools
outcome==1.2.0
    # via trio
packaging==23.1
    # via
    #   oslo-utils
    #   python-keystoneclient
paramiko==3.2.0
    # via
    #   robotframework-sshlibrary
    #   scp
parse==1.19.1
    # via stuf
path==16.6.0
    # via path-py
path-py==12.5.0
    # via charm-tools
pathspec==0.10.3
    # via charm-tools
pbr==5.11.1
    # via
    #   jsonpath-rw-ext
    #   keystoneauth1
    #   openstacksdk
    #   os-service-types
    #   osc-lib
    #   oslo-i18n
    #   oslo-serialization
    #   python-cinderclient
    #   python-keystoneclient
    #   python-novaclient
    #   python-openstackclient
    #   stevedore
platformdirs==3.8.0
    # via virtualenv
ply==3.11
    # via
    #   jsonpath-ng
    #   jsonpath-rw
prettytable==3.8.0
    # via
    #   cliff
    #   python-cinderclient
    #   python-novaclient
pyang==2.5.3
    # via pyangbind
pyangbind==0.8.1
    # via -r requirements.in
pycparser==2.21
    # via cffi
pyjsonselect==0.2.2
    # via robotframework-jsonvalidator
pynacl==1.5.0
    # via paramiko
pyparsing==3.1.0
    # via oslo-utils
pyperclip==1.8.2
    # via cmd2
pyrsistent==0.19.3
    # via jsonschema
pysocks==1.7.1
    # via urllib3
python-cinderclient==9.3.0
    # via python-openstackclient
python-keystoneclient==5.1.0
    # via python-openstackclient
python-novaclient==18.3.0
    # via python-openstackclient
python-openstackclient==6.2.0
    # via -r requirements.in
pytz==2023.3
    # via
    #   oslo-serialization
    #   oslo-utils
pyyaml==5.4.1
    # via
    #   -r requirements.in
    #   charm-tools
    #   cliff
    #   jujubundlelib
    #   openstacksdk
    #   oslo-config
    #   robotframework-yamllibrary
    #   yq
regex==2023.5.5
    # via
    #   -r requirements.in
    #   pyangbind
requests==2.31.0
    # via
    #   -r requirements.in
    #   charm-tools
    #   keystoneauth1
    #   oslo-config
    #   python-cinderclient
    #   python-keystoneclient
    #   robotframework-requests
requestsexceptions==1.4.0
    # via openstacksdk
requirements-parser==0.5.0
    # via charm-tools
rfc3986==2.0.0
    # via oslo-config
robotframework==6.1
    # via
    #   -r requirements.in
    #   robotframework-jsonlibrary
    #   robotframework-jsonvalidator
    #   robotframework-requests
    #   robotframework-seleniumlibrary
    #   robotframework-sshlibrary
robotframework-jsonlibrary==0.5
    # via -r requirements.in
robotframework-jsonvalidator==2.0.0
    # via -r requirements.in
robotframework-pythonlibcore==4.1.2
    # via robotframework-seleniumlibrary
robotframework-requests==0.9.5
    # via -r requirements.in
robotframework-seleniumlibrary==6.1.0
    # via -r requirements.in
robotframework-sshlibrary==3.8.0
    # via -r requirements.in
robotframework-yamllibrary==0.2.8
    # via -r requirements.in
ruamel-yaml==0.17.32
    # via charm-tools
ruamel-yaml-clib==0.2.7
    # via ruamel-yaml
scp==0.14.5
    # via robotframework-sshlibrary
secretstorage==3.3.3
    # via
    #   charm-tools
    #   keyring
selenium==4.10.0
    # via robotframework-seleniumlibrary
simplejson==3.19.1
    # via osc-lib
six==1.16.0
    # via
    #   blessings
    #   jsonpath-ng
    #   jsonpath-rw
    #   pyangbind
    #   python-keystoneclient
sniffio==1.3.0
    # via trio
sortedcontainers==2.4.0
    # via trio
stevedore==5.1.0
    # via
    #   cliff
    #   dogpile-cache
    #   keystoneauth1
    #   osc-lib
    #   oslo-config
    #   python-cinderclient
    #   python-keystoneclient
    #   python-novaclient
    #   python-openstackclient
stuf==0.9.16
    # via otherstuf
tomlkit==0.11.8
    # via yq
translationstring==1.4
    # via colander
trio==0.22.0
    # via
    #   selenium
    #   trio-websocket
trio-websocket==0.10.3
    # via selenium
types-setuptools==68.0.0.0
    # via requirements-parser
urllib3[socks]==2.0.3
    # via
    #   requests
    #   selenium
verboselogs==1.7
    # via -r requirements.in
vergit==1.0.2
    # via charm-tools
virtualenv==20.23.1
    # via charm-tools
wcwidth==0.2.6
    # via
    #   cmd2
    #   prettytable
wrapt==1.15.0
    # via debtcollector
wsproto==1.2.0
    # via trio-websocket
xmltodict==0.13.0
    # via yq
yq==3.2.2
    # via -r requirements.in
zipp==3.15.0
    # via importlib-metadata

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