
基于终端的 GitHub 数据分析工具包。
$ octosuite user torvalds
from pprint import pprint
import octosuite
user = octosuite.User(name="torvalds")
exists, profile = user.exists()
if exists:
pprint(profile)
pip install octosuite
启动交互式终端界面:
octosuite -t/--tui
使用方向键和回车键导航并选择选项。
直接从命令行查询 GitHub 数据:
# 用户数据
octosuite user torvalds
octosuite user torvalds --repos --page 1 --per-page 50
octosuite user torvalds --followers --json
# 仓库数据
octosuite repo torvalds/linux
octosuite repo torvalds/linux --commits
octosuite repo torvalds/linux --stargazers --export ./data
# 组织数据
octosuite org github
octosuite org github --members --json
# 搜索
octosuite search "machine learning" --repos
octosuite search "python cli" --users --json
常用选项:
--page – 页数(默认:1)--per-page – 每页结果数,最大 100(默认:100)--json – 以 JSON 格式输出--export DIR – 导出到目录运行 octosuite <command> --help 可查看可用数据类型标志。
在您的 Python 项目中使用 octosuite:
from octosuite import User, Repo, Org, Search
# 获取用户数据
user = User("torvalds")
exists, profile = user.exists()
if exists:
repos = user.repos(page=1, per_page=100)
followers = user.followers(page=1, per_page=50)
# 获取仓库数据
repo = Repo(name="linux", owner="torvalds")
exists, profile = repo.exists()
if exists:
commits = repo.commits(page=1, per_page=100)
languages = repo.languages()
# 获取组织数据
org = Org("github")
exists, profile = org.exists()
if exists:
members = org.members(page=1, per_page=100)
# 搜索 GitHub
search = Search(query="machine learning", page=1, per_page=50)
results = search.repos()
用户: 个人资料、仓库、订阅、星标、关注者、关注中、组织、Gist、事件、接收事件
仓库: 个人资料、复刻、问题事件、事件、分配者、分支、标签、语言、星标者、订阅者、提交、评论、问题、发布、部署、标签
组织: 个人资料、仓库、事件、钩子、问题、成员
搜索: 仓库、用户、提交、问题、主题
MIT 许可。详情请参见 LICENCE 文件。