getsentry / getsentry/sentry-python
Use `ParamSpec` for shared kwargs
- Ngôn ngữ chính
- Python
- Star
- 2.2k
- Fork
- 669
- Merge trung bình
- 1 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 213
Mô tả
### Problem Statement
We have a couple of hacks in place in the SDK (e.g. [here](https://github.com/getsentry/sentry-python/blob/b2c9af9d80859ba6a9e917daa02eb5f20d189591/sentry_sdk/client.py#L639-L659)) to enable autocompletion for things that share `args`/`kwargs` without having to duplicate said `args`/`kwargs` in multiple places.
### Solution Brainstorm
Python 3.10 (and `typing_extensions` for lower Python versions) includes support for `ParamSpec` https://sobolevn.me/2021/12/paramspec-guide that allows type signatures to "share" args/kwargs between functions. See if we can use this to replace the existing hacks.
Make sure that you get proper typing hints in an IDE (best to check both e.g. VSCode and PyCharm) and that [the API docs](https://getsentry.github.io/sentry-python/api.html) are also correct.
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.