Tracking variable whereabouts in a plugin
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 20/100
Hướng nghiên cứu
Bắt đầu bằng việc xem lại câu hỏi loguru-mypy được liên kết và pull request gốc của loguru, sau đó kiểm tra cách mypy xử lý các lệnh gọi opt(...).info(...) được nối chuỗi như minh họa ở đây. Issue này không xác định tệp, bài kiểm thử hay phương án triển khai đã được thống nhất; để hoàn tất, cần thống nhất một cách theo dõi đối tượng logger qua các lệnh gọi đó và xác định rõ một trường hợp kiểm định.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Please provide more information to help us understand the issue:
- Type: question
- Referecenes:
- Expected behavior: being able to track down variable i.e. from a process it was initialized.
Code below should illustrate an expected behavior. - Actual behavior: n/a
- mypy version:
>=0.770
from luguru import logger
LOG_A = logger.opt(lazy=False)
LOG_B = logger.opt(lazy=True)
LOG_A.info('Test {}', lambda x: x) # should work
LOG_B.info('Test {}', lambda x: x) # error
logger.opt(lazy=False).info('Test {c}', c=lambda x: x) # should work
logger.opt(lazy=True).info('Test {d}', d=lambda x: x) # error
In short: with loguru you can use Callable[[], Any] for lazy loggers to avoid costly computations. But those have to be non-argument callables. Above you can find non-lazy loggers that will work just fine by doing str(callable). In other words, to rephrase question from above, how can we:
track a variable/object on which behalf a method was called?
This is quite vital because type checking cannot be done solely on a method call level because we need something from another call. There is opt method being called but having call details from it without anything to tie them to will not help too much.
- Ngôn ngữ chính
- Python
- Star
- 20.6k
- Fork
- 3.3k
- Merge trung bình
- 1 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 54
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của python/mypy
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
bug topic-configuration topic-error-reporting
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Issue tương tự
-
link-check link-check:sphinx-theme
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
OpenHands/extensions#626 · 1 bình luận ·
-
Change observation tooltip text Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
CSCfi/sd-search-api#39 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100