GrankGithub 项目活跃度分析工具
Grank 是一个开源的 Github 项目活跃度分析工具
特性
- 读取 Commit 信息分析
- 支持抓取特定时间段的 commit 数据
- 使用 GraphQL 进行数据的抓取
- 分析结果自动排行,并生成活跃度折线图
- 提供所有项目的活跃度、社区化排行
- 提供单个项目的活跃度、社区化整合图像
样例图片展示
多项目活跃度
多项目社区化
单项目社区化及活跃度
安装需求
Python 3.4 +
使用方法
- 使用 pip 安装项目
pip install grank
- 获取 Github 的 Personal Access Token
- 使用
grank login
设置 Token - 使用
grank config
设置社区化企业关键词 - 使用
grank analy [mode] <owner> [<repository>]
来分析特定用户/组织和项目,比如grank analy lctt grank
,分析结果可以在执行命令目录的 result 目录中找到。 - 使用命令行模式操作,如
grank --token=XXXX --start=2018-01-01 --stop=2018-05-21 --askrule=0 --rule=inc analy <owner> <repository>
其中 token 必须指定,其他可以使用缺省设置
命令列表
-
grank checklogin
显示当前 Token 的登录用户 -
grank login
设置用户 Token -
grank config
设置关键词,用于社区化分析 -
grank analy [mode]
分析组织名下或用户名下项目的活跃度或社区化程度,mode 的默认值为all
,可设定为social
或activity
。调用方法grank analy lctt
/grank analy --social lctt grank
。 -
grank clean
清空当前目录下的临时文件和结果,调用方法grank clean
配置文件说明
[login]
token = xxx #personal access token
[social]
askrule = 1 # 设置为1时将提醒用户设置规则
rule = corp|inc # 进行社区化分析时的正则表达式规则
[time]
start_time = 2017-01-01 # 分析的开始时间
end_time = 2018-10-01 # 分析的结束时间
[rank]
top = 3 # 绘图时绘制折线的项目数量
评论