异步GitHub API库
gidgethub的Python项目详细描述
异步GitHub API库。
目标
关键目标是为 GitHub API不执行自己的I/O(a sans-I/O库)。这允许用户 在分配github特定的资源时,选择他们喜欢的http库 有关此库的详细信息。然后,这个基本库被构建为 抽象基类到一个更干净的api。最后,实现 抽象基类是为异步http库提供的 立即使用。
替代库
如果您认为需要对github api使用不同的方法, GitHub maintains a list of libraries。
aside:名字是什么?
我想不出一个好名字是“github”的剧本 绑在Monty Python上。所以我决定玩 离开github的octocat作为主题并使用 猫的名字,吉吉特,作为名字的一部分。因为“gidget”听起来有点像 “git”,我决定用“gidgethub”。
更改日志
3.1.0
- gidgethub.abc.GitHubAPI.getiter()现在可以使用 GitHub’s search API (谢谢Pablo Galindo)。
3.0.0
- gidgethub.sansio.RateLimit.from_http如果ratelimit是 在标题中找不到。
- 允许使用json web令牌作为github应用程序进行身份验证。 gidgethub.sansio.create_headers现在接受 jwt参数。gidgethub.abc.GitHubAPI._make_request, gidgethub.abc.GitHubAPI.getitem,gidgethub.abc.GitHubAPI.getiter, gidgethub.abc.GitHubAPI.post,gidgethub.abc.GitHubAPI.patch, gidgethub.abc.GitHubAPI.put,和gidgethub.abc.GitHubAPI.delete现在 接受jwt和oauth_token参数。
- gidgethub现在使用flit打包。
2.5.0
- 为默认值为^{tt3}的参数收紧类型提示$ 但未键入Optional。
- 调整代码,不改变语义,但达到100%的覆盖率。
- 提供人类可读的字符串表示形式 gidgethub.sansio.RateLimit。
- 使用message数据作为错误消息 如果没有返回errors对象。
- 将data关键字参数添加到gidgethub.abc.GitHubAPI.delete。
2.4.1
- 加强对缓存不合格响应的保护。
2.4.0
- 展开gidgethub.routing.Router.dispatch()。
2.3.0
- 添加对application/x-www-form-urlencodedwebhook事件有效负载的支持。 (这也允许api调用返回此内容类型,尽管github 目前不这样做。)
- 引入gidgethub.routing以帮助将webhook事件路由到已注册的 异步回调。
- 添加类型提示。
- 将cache参数添加到gidgethub.abc.GitHubAPI。
2.2.0
- 引入gidgethub.tornado以支持 Tornado(感谢 Matthias Bussonnier和A.Jesse Jiryu Davis的公关评论)。
2.1.0
- ^{tt26}的data参数的默认值$ 已从""更改为b""。
- 所有类型提示都被删除(因为mypy不支持异步中的yield 函数,它们没有被测试为有效)。
2.0.0
- 将gidgethub.abc._sleep()重命名为sleep()以使方法公开。
- 将“test”extra重命名为“tests”,并添加了“dev”extra。
- 引入了RateLimitExceeded异常。
- GitHubAPI上的方法在 可能是呼叫将超过用户的速率限制(现在由 防止超过速率限制的用户)。
- 使[treq]安装额外依赖于Twisted[tls]。
1.2.0
- gidgethub.sansio.Event.from_http()引发^{tt37}的BadRequest。$ 而不是400,当内容类型不是application/json 提供。
- 更可靠地解码^{tt35}中的主体$ (即,如果content-type未指定charset,假设UTF-8)。
- 已将gidgethub.sansio.Event的签名更改为接受Any的 data参数。
- 固定签名验证。
1.1.0
- 介绍了gidgethub.treq(感谢Cory Benfield)。
1.0.0
初次发布。