首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >最适合Github API v3的python库

最适合Github API v3的python库
EN

Stack Overflow用户
提问于 2012-05-17 03:17:27
回答 3查看 43K关注 0票数 89

我正在寻找一个适合我的Github APIv3的python库。

我找到了GH API docs中提到的一个库(python-github3)。在ipython中尝试了一两个小时后,我发现探索/使用它真的很不直观。我又看了一些,发现至少有相当多的人在尝试编写这样的库。看起来更有前途的(一眼看上去)是PyGithubanother python-github3,这显然与第一个不同。

在我接下来的几天连续尝试一个又一个库之前,我想问SO社区是否有一个被接受的,明确的,显而易见的库选择?

我不喜欢第一个库的地方是(对我来说)获取数据的不直观方式--一些东西你可以作为属性获取,一些东西你可以作为方法的返回值,返回值是一些复杂的对象,必须分页和遍历,等等。

在这一点上,PyGithub乍一看更有吸引力--清楚地向下钻取对象层次结构,然后到达包含您想要的内容的属性:

for repo in g.get_user().get_repos(): print repo.name

那么,有什么要分享的智慧珍珠吗?我知道我没有足够的技能来快速判断库的质量,这就是为什么我转向SO社区。

编辑:仅供参考,我最终使用了PyGithub__。它工作得很好,而且作者非常乐于接受反馈和错误报告。:-)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-13 18:15:39

最后,我最终使用了PyGithub。它工作得很好,而且作者非常乐于接受反馈和错误报告。:-)

(根据我的编辑改编为原始问题,以便更好地了解情况)

票数 33
EN

Stack Overflow用户

发布于 2012-05-17 04:37:15

既然你提到你是一个初级的python程序员,我建议你先试着使用没有任何Github库的JSON API。这并不难,而且在以后的编程生活中会对您有很大的帮助,因为同样的方法也可以应用于任何JSON API。尤其是如果试用库似乎需要几天时间的话。

我并不是说一些库不容易使用,我只是说从长远来看,直接使用API的少量额外努力可能是值得的。至少,它将帮助您理解为什么其中一些库看起来“不直观”(如您所说)。

获取django仓库创建时间的简单示例:

代码语言:javascript
复制
import requests
import json
r = requests.get('https://api.github.com/repos/django/django')
if(r.ok):
    repoItem = json.loads(r.text or r.content)
    print "Django repository created: " + repoItem['created_at']

这是使用流行的requests library。在您的代码中,您自然也需要处理错误情况。

如果您需要使用身份验证进行访问,则会稍微复杂一些。

票数 78
EN

Stack Overflow用户

发布于 2016-08-29 21:07:33

文档对PyGitHub来说很可怕,但是这个产品很棒。以下是一个快速示例,用于实际检索文件,在文件开头使用新注释更改该文件,然后提交回来

代码语言:javascript
复制
from github import Github
gh = Github(login_or_token='.....', base_url='...../api/v3')
user = gh.get_user()
repo = user.get_repo("RepoName")
file = repo.get_file_contents("/App/forms.py")
decoded_content = "# Test " + "\r\n" + file.decoded_content
repo.update_file("/"RepoName"/forms.py", "Commit Comments", decoded_content, file.sha)
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10625190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档