Pygithub: 异步支持

创建于 2020-05-24  ·  10评论  ·  资料来源: PyGithub/PyGithub

你如何看待 PyGithub 异步支持? 如果我为 PyGithub 提供异步支持 - 你接受吗?

最有用的评论

我认为这个问题不应该被关闭。 将asyncio用于 IO 绑定操作是完美的用例。

所有10条评论

你会以什么方式添加异步支持? 鉴于大多数操作都是在 GitHub 上远程完成的,并且我们的代码正在等待响应或 JSON blob 返回,它有什么帮助?

鉴于大多数操作都是在 GitHub 上远程完成的,我们的代码正在等待响应

这是异步引入的一个很好的理由! 我的意思是... PyGithub 应该将 API 访问作为协程处理,否则大多数时候它都在等待服务器的响应而不是做一些有用的事情。 这是 nodejs 上的一个常见概念,目前在 @octokit/rest.js 上得到支持
我很惊讶以前没有人问过这个功能......

Obs:也许我误解了 PyGithub 目前的工作方式,但我认为顺序和同步 API 包装器的效率低于异步包装器。

我可以添加一个新的 AsyncRequester 类,并在所有其他类中创建与它交互的异步方法,同时保留逻辑。

异步代码可以帮助您完成需要生成大量查询的任务,例如在搜索中。 它还可以让您在 Github 上快速使用多个帐户

这听起来像是一个完整的重新设计,同时增加了对使用多个帐户的支持。 我喜欢你的热情,但我认为这是一项非常艰巨的工作,却没有足够的收获。

它可能涉及大量工作,但我很乐意看到它实施。 目前我在研究中坚持使用 JS,因为 @octokit/rest.js 的性能超过了 PyGithub。 如果需要一些帮助,我也很乐意为此工作。

顺便说一句,我认为多个帐户支持太多了! 不只是异步是迈向性能提升的巨大第一步吗?

也许,我可以做任何版本并在拉取请求中显示它? 用于测试

考虑到我的用例,Asyncio 听起来是个好主意。 我正在尝试以递归方式读取存储库中的所有文件,而同步请求太慢了(我可能会遗漏诸如 github api 上的速率限制之类的东西,但我们绝对可以使此类操作更快)。

我强烈建议为此使用 GitPython 之类的东西,而不是通过 GitHub API 请求所有内容。

感谢您提出有趣的建议,我会尝试一下,因为这样做很有意义。

我认为这个问题不应该被关闭。 将asyncio用于 IO 绑定操作是完美的用例。

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