你如何看待 PyGithub 异步支持? 如果我为 PyGithub 提供异步支持 - 你接受吗?
你会以什么方式添加异步支持? 鉴于大多数操作都是在 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 绑定操作是完美的用例。
最有用的评论
我认为这个问题不应该被关闭。 将
asyncio
用于 IO 绑定操作是完美的用例。