#######################################################################################
# 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.
#######################################################################################
async-timeout==4.0.3
    # via retrying-async
bcrypt==4.2.0
    # via paramiko
cachetools==5.4.0
    # via google-auth
certifi==2024.7.4
    # via
    #   kubernetes
    #   requests
cffi==1.17.0
    # via
    #   cryptography
    #   pynacl
charset-normalizer==3.3.2
    # via
    #   -r requirements.in
    #   requests
cryptography==43.0.0
    # via paramiko
dnspython==2.6.1
    # via pymongo
google-auth==2.17.3
    # via
    #   -r requirements.in
    #   kubernetes
idna==3.7
    # via requests
juju==2.9.44.0
    # via -r requirements.in
jujubundlelib==0.5.7
    # via theblues
kubernetes==30.1.0
    # via
    #   -r requirements.in
    #   juju
macaroonbakery==1.3.4
    # via
    #   juju
    #   theblues
motor==3.5.1
    # via -r requirements.in
mypy-extensions==1.0.0
    # via typing-inspect
oauthlib==3.2.2
    # via
    #   kubernetes
    #   requests-oauthlib
paramiko==2.12.0
    # via juju
protobuf==3.20.3
    # via
    #   -r requirements.in
    #   macaroonbakery
pyasn1==0.6.0
    # via
    #   -r requirements.in
    #   juju
    #   pyasn1-modules
    #   rsa
pyasn1-modules==0.4.0
    # via google-auth
pycparser==2.22
    # via cffi
pymacaroons==0.13.0
    # via macaroonbakery
pymongo==4.8.0
    # via motor
pynacl==1.5.0
    # via
    #   macaroonbakery
    #   paramiko
    #   pymacaroons
pyrfc3339==1.1
    # via
    #   juju
    #   macaroonbakery
python-dateutil==2.9.0.post0
    # via kubernetes
pytz==2024.1
    # via pyrfc3339
pyyaml==6.0.2
    # via
    #   -r requirements.in
    #   juju
    #   jujubundlelib
    #   kubernetes
requests==2.32.3
    # via
    #   kubernetes
    #   macaroonbakery
    #   requests-oauthlib
    #   theblues
requests-oauthlib==2.0.0
    # via kubernetes
retrying-async==2.0.0
    # via -r requirements.in
rsa==4.9
    # via google-auth
six==1.16.0
    # via
    #   google-auth
    #   kubernetes
    #   macaroonbakery
    #   paramiko
    #   pymacaroons
    #   python-dateutil
theblues==0.5.2
    # via juju
toposort==1.10
    # via juju
typing-extensions==4.12.2
    # via typing-inspect
typing-inspect==0.9.0
    # via juju
urllib3==2.2.2
    # via
    #   kubernetes
    #   requests
websocket-client==1.8.0
    # via kubernetes
websockets==12.0
    # via juju
