[Feature Request] Better static type checking support
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 42/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- python
调研方向
运行 ty check ty-issue-1135.py 以重现未解析属性错误,然后检查 dash.dcc.Dropdown 和其他 Dash 类是如何自动生成的。当生成的类体公开诸如 id 之类的属性,使 pyright、mypy 和 ty 不再将其报告为未解析时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
running ty check ty-issue-1135.py raises a type error:
# ty-issue-1135.py
import dash
dropdown = dash.dcc.Dropdown(
id="dropdown",
options=list(range(5))
)
dropdown.id # error[unresolved-attribute] Type `Dropdown` has no attribute `id`
as @carljm proposed in https://github.com/astral-sh/ty/issues/1135#issuecomment-3259155919 since the body of classes like dash.dcc.Dropdown is auto-generated
... it wouldn't be hard for dash to also generate a id
: typing.Optional[typing.Union[str, dict]]annotation on the class body (not just in the__init__signature) -- that would resolve the problem.
where the problem is that neither pyright nor mypy nor ty understand the attributes present on dash.dcc.Dropdown and other dash classes
- 主要语言
- Python
- 星标
- 24.4k
- 派生
- 2.3k
- 平均合并
- 1 天 21 小时
- 30 天内合并 PR
- 19
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
plotly/dash 的其他 Issue
-
good first issue P3 size: 1 task
难度 2/5 1-3 小时 新手友好度 68/100
-
enhancement P2 size: 5
难度 5/5 一周以上 新手友好度 45/100
-
enhancement P3 size: 10+
-
P2 size: 1 task
-
enhancement P3 size: 1
难度 3/5 1-2 天 新手友好度 72/100
相似的 Issue
-
essnmx good first issue
难度 1/5 1 小时以内 新手友好度 95/100
-
难度 2/5 1-3 小时 新手友好度 65/100
syfoud/Simulated_Scepter#174 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
Giskard-AI/giskard-oss#2840 · 1 条评论 ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success 未关闭area: repo bug perceived difficulty: 2
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 75/100
yeti-platform/yeti#1380 ·