#######################################################################################
# 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.
#######################################################################################
cachetools==5.3.3
    # via google-auth
certifi==2024.7.4
    # via
    #   kubernetes
    #   requests
charset-normalizer==3.3.2
    # via requests
google-auth==2.32.0
    # via kubernetes
grpcio==1.64.1
    # via grpcio-tools
grpcio-tools==1.64.1
    # via -r requirements.in
grpclib==0.4.7
    # via -r requirements.in
h2==4.1.0
    # via grpclib
hpack==4.0.0
    # via h2
hyperframe==6.0.1
    # via h2
idna==3.7
    # via requests
kubernetes==30.1.0
    # via -r requirements.in
multidict==6.0.5
    # via grpclib
oauthlib==3.2.2
    # via
    #   kubernetes
    #   requests-oauthlib
protobuf==5.27.2
    # via grpcio-tools
pyasn1==0.6.0
    # via
    #   pyasn1-modules
    #   rsa
pyasn1-modules==0.4.0
    # via google-auth
python-dateutil==2.9.0.post0
    # via kubernetes
pyyaml==6.0.1
    # via
    #   -r requirements.in
    #   kubernetes
requests==2.32.3
    # via
    #   kubernetes
    #   requests-oauthlib
requests-oauthlib==2.0.0
    # via kubernetes
rsa==4.9
    # via google-auth
six==1.16.0
    # via
    #   kubernetes
    #   python-dateutil
urllib3==2.2.2
    # via
    #   kubernetes
    #   requests
websocket-client==1.8.0
    # via kubernetes

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