Pygithub: 为 mypy(等)添加类型注释

创建于 2019-09-08  ·  6评论  ·  资料来源: PyGithub/PyGithub

如果PyGithub对其类型有类型注释,那就太好了。 这将使用户能够围绕它构建更安全的代码并改进编辑器建议。 由于PyGithub已经有一个明确定义的类型层次结构,因此已经有可以使用的类型,这很棒。

(实际上,我最初从描述中假设PyGithub已被注释,并且很惊讶它没有被注释)。

这是您考虑过和/或愿意接受的吗?

feature request improvement

最有用的评论

可以使用https://github.com/Instagram/MonkeyType 等工具从存根文件内联应用类型注释。 因此,我们可能会开始编写存根,然后在放弃对 Py2 的支持后内联应用它们。

所有6条评论

如果维护者同意这个想法,我不介意研究它。

我对此没问题,但这不是一件小事。 也许在此之前我们应该将项目升级到 Python 3(因为 Python2 即将消失),这样我们就可以在任何地方使用 Python3 样式的类型注释。

可以使用https://github.com/Instagram/MonkeyType 等工具从存根文件内联应用类型注释。 因此,我们可能会开始编写存根,然后在放弃对 Py2 的支持后内联应用它们。

好的,我实际上已经开始研究@trickeydan 的想法。 我通过对 unittest 运行 MonkeyType 生成存根文件,并将它们写入 .py 文件旁边的 .piy 文件。 它将需要手动检查所有存根,因为 MonkeyType 似乎在这里和那里遗憾地错过了一些细节(因此可能需要一段时间)。

我认为还需要或多或少地导出我们在模块的__init__.py中拥有的每种类型,以便人们将 PyGithub 的类型包含在他们的类型检查中。

如果有人感兴趣,您可以在此处查看进度: https :

到目前为止我注意到的唯一问题是 urllib3 似乎没有任何可用的输入信息,遗憾的是我们使用了它们的一些类型。

@zer0tonin让我们继续前进。 为什么不从您的分支机构打开 PR,以便我们进行审查。

urllib3仅用于最近在#1002 中引入的 Retry 函数。 稍后让我们看看如何将存根添加到urllib3

于 #1231 关闭
将在 #1442 中添加 CI 强制执行

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

sfdye picture sfdye  ·  7评论

grayaii picture grayaii  ·  4评论

nchammas picture nchammas  ·  3评论

diegotejadav picture diegotejadav  ·  5评论

surajjacob picture surajjacob  ·  4评论