最适合GitubAPI v3的python库是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (92)

我正在寻找适合我的Github APIv3的python库。背景:我是一个基于Matlab和C ++的背景的python noob,最近学会了使用python-matplotlib。

我在GH API文档中找到了一个库(python-github3)。在ipython中玩了一两个小时后,我发现它真的很不直观。我看了更多,发现有相当多的人至少试图写这样一个库。PyGithub另一个python-github3看起来更有希望。

我不喜欢关于第一个库的内容是(对我来说)直接获取数据的方式 - 有些东西是作为属性获得的,有些是作为方法的返回值获取的,返回值是一些复杂的对象,它必须被分页并迭代,等等。

在这方面,PyGithub乍一看看起来更具吸引力 - 清楚地深入了解对象层次结构,然后到达包含所需内容的属性:

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

提问于
用户回答回答于
用户回答回答于

既然你提到你是初学Python的程序员,我建议你先尝试使用没有任何Github库的JSON API。这真的不是那么困难,它将在编程生涯中帮助你很多,因为同样的方法可以应用于任何JSON API。特别是如果看起来试用图书馆需要花费数天时间。

我并不是说某些库不易使用,我只是说从长远来看,直接使用API​​的小额外努力可能是值得的。至少它会帮助你理解为什么有些库看起来“不直观”(正如你所说的)。

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

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']

这是使用流行的请求库。在你的代码中,你自然也需要处理错误情况。

如果需要通过身份验证访问,则会更复杂一些。

扫码关注云+社区

领取腾讯云代金券