# Copyright 2025 gRPC authors.
#
# 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.
#
# This file provides the source for generating requirements.bazel.lock.
# Instructions for generation follow:
# Use the oldest supported version of Python
#
#   $ docker run -it --rm -v $(pwd):/grpc python:3.8 /bin/bash
#   # cd grpc
#   # pip install pip-tools
#   # pip-compile --allow-unsafe requirements.bazel.txt -o requirements.bazel.lock
#   # exit
#   $ sudo chown $USER requirements.bazel.lock
#
# When installing a new package, sometimes it's desirable to avoid unnecessary
# package upgrades. In such case, consider the following flow instead.
#
#   $ python3.8 -m venv .venv-bazel
#   $ source .venv-bazel/bin/activate
#   $ pip install pip-tools
#   $ pip install -r requirements.bazel.lock # make the change to version in requirements.bazel.txt after this
#   $ pip-compile --no-upgrade --allow-unsafe requirements.bazel.txt -o requirements.bazel.lock
#   $ deactivate

absl-py
certifi
chardet
gevent
google-auth
googleapis-common-protos
idna
opentelemetry-api
opentelemetry-exporter-prometheus
opentelemetry-resourcedetector-gcp
opentelemetry-sdk
protobuf
pyyaml  # for DNS test
requests
# Currently our CI uses Python < 3.8, hence <4.4.1 was added
# TODO(asheshvidyut): remove the <4.4.1, when CI uses python >= 3.9
typeguard~=4.2.0,<4.4.1
typing-extensions==4.12.2
twisted  # for DNS test
urllib3
