Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Report the http(s):// gRPC endpoint deprecation as a DeprecationWarning, not a UserWarning on every client

Đang mở Phù hợp với người mới
#1,275 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 7 ngày

@kocaemre đang làm issue này rồi.

Từ ngày 13/10/2026.

  • #1276 của @kocaemre — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
85/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
grpc, python
Lĩnh vực
developer-experience

Hướng nghiên cứu

Bắt đầu từ GrpcEndpoint._set_scheme trong dapr/conf/helpers.py, hàm này gọi warn() mà không có category hay stacklevel. Sau đó đọc các test phân tích endpoint hiện có trong tests/conf/ và tests/clients/. Hoàn thành khi thông báo trở thành DeprecationWarning với stacklevel trỏ tới nơi gọi (hoặc chỉ phát ra một lần cho mỗi tiến trình), kết quả phân tích http/https không thay đổi, và các test assertWarns mới cùng với uv run pytest tests -m "not e2e" đều pass.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

good first issue

Problem

Setting DAPR_GRPC_ENDPOINT to an https:// (or http://) URL, for example https://grpc.example.com:443, prints this every time a gRPC endpoint is parsed:

dapr/conf/helpers.py:43: UserWarning: http and https schemes are deprecated for grpc, use myhost?tls=false or myhost?tls=true instead

The sidecar endpoint proposal says SDKs "will continue to accept the old behaviour of DAPR_GRPC_ENDPOINT with the scheme value https to signal to use TLS". The format is supported, so a UserWarning (shown by default, and with no category) is too loud. Because GrpcEndpoint is built for every DaprClient, workflow client and worker, an app that creates several clients logs the same line many times.

The warning comes from GrpcEndpoint._set_scheme in dapr/conf/helpers.py, which calls warn(...) with no category and no stacklevel.

Proposed change

Keep accepting http:// and https:// exactly as today. Only change how the deprecation is reported:

  1. Emit it as a DeprecationWarning (hidden by default, visible under -W default or in pytest), not a UserWarning.
  2. Pass a stacklevel that points at the caller rather than at helpers.py, or emit it at most once per process.
  3. Keep the message, and add the equivalent form for the URL given, e.g. use grpc.example.com:443?tls=true.

Acceptance criteria

  1. https://host:443 and http://host:80 parse to the same hostname, port and TLS settings as today.
  2. Parsing them raises a DeprecationWarning, not a UserWarning. Add a test with assertWarns(DeprecationWarning) and one showing that no UserWarning is raised.
  3. Building several clients against the same https:// endpoint doesn't repeat the warning, if you choose the once-per-process approach.
  4. Per the proposal, https://host?tls=false still errors. Add a test if one doesn't exist.
  5. Tests live with the existing endpoint parsing tests under tests/conf/ and tests/clients/. uv run ruff check, uv run ruff format and uv run pytest tests -m "not e2e" pass.

Pointers for a first contribution

  • Code: dapr/conf/helpers.py, the GrpcEndpoint._set_scheme method.
  • Python docs: warnings.warn (category, stacklevel).
  • Setup: see CONTRIBUTING.md; uv sync --frozen --all-packages --group dev installs everything.
Ngôn ngữ chính
Python
Star
274
Fork
157
Merge trung bình
9 ngày 5 giờ
Pull request đã merge (30 ngày)
30

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của dapr/python-sdk

Tất cả issue của dapr/python-sdk

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.