Nyakku Shigure
Nyakku Shigure
Flake8-pyi currently only works with `.pyi` files (https://github.com/PyCQA/flake8-pyi/issues/118), it would be great if Ruff could support `.py` files. Flake8-pyi author list some rules in https://github.com/qutebrowser/qutebrowser/issues/7098#issuecomment-1109959035 that can be easily apply...
可以尝试[vuepress-plugin-ribbon](https://github.com/SigureMo/vuepress-plugin-ribbon):smile:
> 利用模板,而不是直接生成 stub 文件 模板唯一一个问题是不受 Ruff 等工具监控,代码风格无法保证 > Tensor 的签名改为 `class Tensor(Generic[_ShapeType, _DType])`,增加两个类型 shape 和 dtype 我的建议是在想好 API 形态前不要加泛型,一旦现在加了,以后改就是 breaking change,但从非泛型到泛型在非 strict mode 下是兼容性变动 > 如 def __eq__(self, y: Tensor)...
> 另外,dtype 有 bool 啊 这是 `paddle.bool` 吧,但就算写 `paddle.bool` 也不对,泛型参数是不能写 `paddle.bool` 这种「值」的,所以需要设计一种方式覆盖这种表达,但明显目前是不具备的 > 我在线下用 mypy 检查是通过的,后面考虑是否把他也加到 CI 的检查里面? 如果是合法的 pyi 文件,建议使用 `.pyi` 后缀,天然所有的检查工具都会检查(black、Ruff 等等) 可以考虑改为 `tensor.prototype.pyi` 之类的 > 另外,关于 tensor.pyi.in...
> 另外,对比 https://github.com/cattidea/paddlepaddle-stubs/blob/main/paddle-stubs/_typing/tensor.pyi,以下方法不在 paddle.Tensor 中,进而也不在此次生成的 stub 文件中: 包括 `__ror__`,这些应该是我觉得「应该」存在的方法,不过这里应该和运行时保持一致,这些不存在的就不要加了 > tensor.pyi.in 需要检查啊,不然怎么保证开发者修改这个文件的时候没有改出问题? 检查方式有想好么?可以考虑复用 `pre-commit`,不建议在 CI 单独开逻辑,会和开发工作流割裂,提完 PR 在 CI 上才发现问题,不了解的同学调试起来也很麻烦
另外,为了更好的 stub 检查,可以考虑引入 Ruff 的 flake8-pyi rules 了~(独立任务) https://docs.astral.sh/ruff/rules/#flake8-pyi-pyi
> `test_type_hints.py` CI 中没有测试到,应该也需要配置一下 ~ 需要配置 `CMakeLists.txt` 才可以跑,不过我之前说的是确保「运行时」没问题,其实按照上面说的加一个 `from . import _typing as _typing` 就能测到了,不需要加这些「静态检查」单测,按照之前 RFC 讨论,我们使用示例代码保证静态检查,不再额外设置类型提示单测 因此本 PR 就不涉及 mypy 的添加什么的吧,相关内容不要做重了,mypy 在 #63901 考虑 > 尤其是 setup `setup.py` 我没什么使用经验,我大多使用的是基于...
我来改一下这个 PR,尽快推动本 PR 合入,以免阻塞整个项目进度
> 还有 https://github.com/PaddlePaddle/Paddle/pull/63953 没 review,是不是漏掉了 😂 没有哈,现在注意力在这俩上
加速效果这么明显的?2 小时直接减少到 10 分钟跑全量?