Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LCTT/Grank
Github 项目活跃度分析工具
https://github.com/LCTT/Grank
cli github hacktoberfest hacktoberfest2018 python3
Last synced: about 2 months ago
JSON representation
Github 项目活跃度分析工具
- Host: GitHub
- URL: https://github.com/LCTT/Grank
- Owner: LCTT
- License: gpl-3.0
- Created: 2018-09-24T14:37:30.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T05:45:57.000Z (about 2 years ago)
- Last Synced: 2024-11-09T09:09:12.168Z (2 months ago)
- Topics: cli, github, hacktoberfest, hacktoberfest2018, python3
- Language: Python
- Homepage:
- Size: 1.07 MB
- Stars: 231
- Watchers: 14
- Forks: 38
- Open Issues: 35
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Grank - Github 项目活跃度分析工具
[![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)](#contributors)[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/grank.svg?style=flat-square)](https://pypi.org/project/Grank/) [![PyPI](https://img.shields.io/pypi/v/grank.svg?style=flat-square)](https://pypi.org/project/Grank/) [![GitHub tag](https://img.shields.io/github/tag/lctt/grank.svg?style=flat-square)](https://github.com/lctt/grank/) [![GitHub](https://img.shields.io/github/license/lctt/grank.svg?style=flat-square)](https://github.com/lctt/grank/) [![GitHub last commit](https://img.shields.io/github/last-commit/lctt/grank.svg?style=flat-square)](https://github.com/lctt/grank/)
[![Travis (.com)](https://img.shields.io/travis/com/LCTT/Grank.svg?style=flat-square)](https://travis-ci.com/LCTT/Grank)
[![GitHub issues](https://img.shields.io/github/issues/lctt/grank.svg?style=flat-square)](https://github.com/lctt/grank/)
[![GitHub pull requests](https://img.shields.io/github/issues-pr/lctt/grank.svg?style=flat-square)](https://github.com/lctt/grank/)## 特性
- 读取 Commit 信息分析
- 支持抓取特定时间段的 commit 数据
- 使用 GraphQL 进行数据的抓取
- 分析结果自动排行,并生成活跃度折线图
- 提供所有项目的活跃度、社区化排行
- 提供单个项目的活跃度、社区化整合图像## 样例图片展示
**多项目活跃度**
![](https://postimg.aliavv.com/newmbp/3xexn.jpg)
**多项目社区化**
![](https://postimg.aliavv.com/newmbp/f2fce.jpg)
**单项目社区化及活跃度**
![](https://postimg.aliavv.com/newmbp/ebrrr.jpg)
## 安装需求
**Python 3.4 +**
## 使用方法
1. 使用 pip 安装项目 `pip install grank`
2. 获取 Github 的 [Personal Access Token](https://github.com/settings/tokens)
3. 使用 `grank login` 设置 Token
4. 使用 `grank config` 设置社区化企业关键词
5. 使用 `grank analy [mode] []` 来分析特定用户/组织和项目,比如 `grank analy lctt grank`,分析结果可以在执行命令目录的 result 目录中找到。
6. 使用命令行模式操作,如 `grank --token=XXXX --start=2018-01-01 --stop=2018-05-21 --askrule=0 --rule=inc analy ` 其中 token 必须指定,其他可以使用缺省设置## 命令列表
1. `grank checklogin` 显示当前 Token 的登录用户
2. `grank login` 设置用户 Token
3. `grank config` 设置关键词,用于社区化分析
4. `grank analy [mode]` 分析组织名下或用户名下项目的活跃度或社区化程度,mode 的默认值为`all`,可设定为`social`或`activity`。调用方法 `grank analy lctt` / `grank analy --social lctt grank`。
5. `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 # 绘图时绘制折线的项目数量
```## 贡献项目
在您进行项目贡献前,请查看 [CONTRIBUTING.md](CONTRIBUTING.md)
## 开源协议
[GPL-3.0](LICENSE)
## Contributors
Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
| [
Bestony](https://www.ixiqin.com/)
[💻](https://github.com/LCTT/Grank/commits?author=bestony "Code") [📖](https://github.com/LCTT/Grank/commits?author=bestony "Documentation") [💡](#example-bestony "Examples") [📦](#platform-bestony "Packaging/porting to new platform") [👀](#review-bestony "Reviewed Pull Requests") [⚠️](https://github.com/LCTT/Grank/commits?author=bestony "Tests") [🔧](#tool-bestony "Tools") | [
Xingyu.Wang](http://wxy.github.io/)
[💬](#question-wxy "Answering Questions") [🐛](https://github.com/LCTT/Grank/issues?q=author%3Awxy "Bug reports") [💻](https://github.com/LCTT/Grank/commits?author=wxy "Code") [👀](#review-wxy "Reviewed Pull Requests") [📢](#talk-wxy "Talks") | [
LuMing](http://LuuMing.github.io)
[💻](https://github.com/LCTT/Grank/commits?author=LuuMing "Code") [📖](https://github.com/LCTT/Grank/commits?author=LuuMing "Documentation") [⚠️](https://github.com/LCTT/Grank/commits?author=LuuMing "Tests") |
| :---: | :---: | :---: |This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!