PyGithub 简介#
PyGithub 是使用 Github API v3 的 Python 库,可以管理 Github 资源(存储库,用户配置文件,组织等)。
快速使用#
首先创建 Github 实例:
from github import Github
# 使用访问令牌
g = Github("access_token")
# Github 企业自定义主机名
g = Github(base_url="https://{hostname}/api/v3", login_or_token="access_token")
然后操纵 Github 对象:
user = g.get_user() # 获取当前用户
for repo in g.get_user().get_repos():
print(repo.name)
repo.edit(has_wiki=False)
# 查看所有可用的属性和方法
print(dir(repo))
user.login # 获取当前用户名称
安装:
pip install PyGithub[integrations]
或者
pip install PyGithub
使用案例#
from github import Github
g = Github(user_agent="xinetzone")
按名称获取用户名:
user = g.get_user("daobook")
user.name
'Dao Book'
按名称获取存储库:
repo = g.get_repo("xinetzone/d2py")
repo.name
'd2py'
按名称获取组织:
org = g.get_organization("daobook")
org.login
'daobook'
按编程语言搜索存储库:
repositories = g.search_repositories(query='language:cpp')
k = 0
for repo in repositories:
print(repo)
k += 1
if k > 3:
break
Repository(full_name="tensorflow/tensorflow")
Repository(full_name="facebook/react-native")
Repository(full_name="electron/electron")
Repository(full_name="microsoft/terminal")
根据 good-first-issue
的 issue 数量搜索存储库:
repositories = g.search_repositories(query='good-first-issues:>3')
k = 0
for repo in repositories:
print(repo)
k += 1
if k > 3:
break
Repository(full_name="vuejs/vue")
Repository(full_name="practical-tutorials/project-based-learning")
Repository(full_name="Significant-Gravitas/AutoGPT")
Repository(full_name="flutter/flutter")