{"id":13932924,"url":"https://github.com/LCTT/Grank","last_synced_at":"2025-07-19T16:32:09.397Z","repository":{"id":33075322,"uuid":"150117144","full_name":"LCTT/Grank","owner":"LCTT","description":"Github 项目活跃度分析工具","archived":false,"fork":false,"pushed_at":"2022-12-08T05:45:57.000Z","size":1124,"stargazers_count":231,"open_issues_count":35,"forks_count":38,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-11-09T09:09:12.168Z","etag":null,"topics":["cli","github","hacktoberfest","hacktoberfest2018","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LCTT.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-24T14:37:30.000Z","updated_at":"2024-09-16T04:09:19.000Z","dependencies_parsed_at":"2023-01-14T23:30:44.569Z","dependency_job_id":null,"html_url":"https://github.com/LCTT/Grank","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LCTT%2FGrank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LCTT%2FGrank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LCTT%2FGrank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LCTT%2FGrank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LCTT","download_url":"https://codeload.github.com/LCTT/Grank/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226643826,"owners_count":17662967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","github","hacktoberfest","hacktoberfest2018","python3"],"created_at":"2024-08-07T21:01:22.074Z","updated_at":"2024-11-26T23:30:46.350Z","avatar_url":"https://github.com/LCTT.png","language":"Python","readme":"# Grank -  Github 项目活跃度分析工具\n[![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)](#contributors)\n\n[![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/)\n\n[![Travis (.com)](https://img.shields.io/travis/com/LCTT/Grank.svg?style=flat-square)](https://travis-ci.com/LCTT/Grank)\n[![GitHub issues](https://img.shields.io/github/issues/lctt/grank.svg?style=flat-square)](https://github.com/lctt/grank/)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/lctt/grank.svg?style=flat-square)](https://github.com/lctt/grank/)\n\n\n## 特性\n\n- 读取 Commit 信息分析\n  - 支持抓取特定时间段的 commit 数据\n- 使用 GraphQL 进行数据的抓取\n- 分析结果自动排行，并生成活跃度折线图\n  - 提供所有项目的活跃度、社区化排行\n  - 提供单个项目的活跃度、社区化整合图像\n\n## 样例图片展示\n\n**多项目活跃度**\n\n![](https://postimg.aliavv.com/newmbp/3xexn.jpg)\n\n**多项目社区化**\n\n![](https://postimg.aliavv.com/newmbp/f2fce.jpg)\n\n**单项目社区化及活跃度**\n\n![](https://postimg.aliavv.com/newmbp/ebrrr.jpg)\n\n\n## 安装需求\n\n**Python 3.4 +**\n\n## 使用方法\n\n1. 使用 pip 安装项目 `pip install grank`\n2. 获取 Github 的 [Personal Access Token](https://github.com/settings/tokens)\n3. 使用 `grank login` 设置 Token\n4. 使用 `grank config` 设置社区化企业关键词\n5. 使用 `grank analy [mode] \u003cowner\u003e [\u003crepository\u003e]` 来分析特定用户/组织和项目，比如 `grank analy lctt grank`,分析结果可以在执行命令目录的 result 目录中找到。\n6. 使用命令行模式操作，如 `grank --token=XXXX --start=2018-01-01 --stop=2018-05-21 --askrule=0 --rule=inc analy \u003cowner\u003e \u003crepository\u003e` 其中 token 必须指定，其他可以使用缺省设置\n\n## 命令列表\n\n1. `grank checklogin` 显示当前 Token 的登录用户\n2. `grank login` 设置用户 Token\n3. `grank config` 设置关键词，用于社区化分析\n4. `grank analy [mode]` 分析组织名下或用户名下项目的活跃度或社区化程度，mode 的默认值为`all`，可设定为`social`或`activity`。调用方法 `grank analy lctt` / `grank analy --social lctt grank`。\n5. `grank clean` 清空当前目录下的临时文件和结果，调用方法 `grank clean`\n\n## 配置文件说明\n\n```\n[login]\ntoken = xxx #personal access token\n\n[social]\naskrule = 1 # 设置为1时将提醒用户设置规则\nrule = corp|inc # 进行社区化分析时的正则表达式规则\n\n[time]\nstart_time = 2017-01-01 # 分析的开始时间\nend_time = 2018-10-01 # 分析的结束时间\n\n[rank]\ntop = 3 # 绘图时绘制折线的项目数量\n```\n\n## 贡献项目\n\n在您进行项目贡献前，请查看 [CONTRIBUTING.md](CONTRIBUTING.md)\n\n## 开源协议\n\n[GPL-3.0](LICENSE)\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore --\u003e\n| [\u003cimg src=\"https://avatars1.githubusercontent.com/u/13283837?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBestony\u003c/b\u003e\u003c/sub\u003e](https://www.ixiqin.com/)\u003cbr /\u003e[💻](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\") | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/128338?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eXingyu.Wang\u003c/b\u003e\u003c/sub\u003e](http://wxy.github.io/)\u003cbr /\u003e[💬](#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\") | [\u003cimg src=\"https://avatars1.githubusercontent.com/u/23754818?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLuMing\u003c/b\u003e\u003c/sub\u003e](http://LuuMing.github.io)\u003cbr /\u003e[💻](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\") |\n| :---: | :---: | :---: |\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLCTT%2FGrank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLCTT%2FGrank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLCTT%2FGrank/lists"}