aggregateGithubCommits: Aggregate Github commit count by author and time.
Project description
Aggregate Github commit count by author and time.
Requirement
Python 3.7+
Your own GitHub account
Install
pip install git+https://github.com/rocaz/aggregateGithubCommits
Usage
aggregateGithubCommits [-h] -r|–repo REPO [-a|–author AUTHOR] [-s|since SINCE] [-u|until UNTIL] [-p|–period {h,d,m,w}] [-t|–term TERM] [-f|–format {text,json,csv}] [-v]
-h, –help: show this help message and exit
-r REPO, –repo REPO: [Required] GitHub owner and repositry name. ex)‘github/covid-19-repo-data’
-a AUTHOR, –author AUTHOR: GitHub author name, default is all authors. ex)‘github’
-s SINCE, –since SINCE: since date in ISO format. ex) ‘2020-07-12’
-u UNTIL, –until UNTIL: until date in ISO format, default is today. ex)‘2020-07-12’
-p {h,d,m,w}, –period {h,d,m,w}: Aggregating period, default is ‘h’. ‘h’: per hour,‘d’: per day, ‘m’: per month, ‘w’: per day of week
-t TERM, –term TERM: Aggregating term from until, default is ‘3m’. ‘3m’ means ‘3months’, ‘100d’ means ‘100days’
-f {text,json,csv}, –format {text,json,csv}: Output format type, default is ‘text’.
-v, –version: show program’s version number and exit
Example
Specified author. Default term is from now to 3months ago.
python ./aggregateGithubCommits.py -r "github/covid-19-repo-data" -a gregce
Output:
Repository: git://github.com/github/covid-19-repo-data.git Total: 15 Author: gregce Hour 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Count 2 1 2 1 1 0 2 0 1 2 0 1 1 1 0 0 0 0 0 0 0 0 0 0 AuthorTotal: 15
The term is specified from ‘2020-02-29’ to ‘2020-08-02’, Aggregation period is ‘per month’.
python ./aggregateGithubCommits.py -r "github/covid-19-repo-data" -p m -u '2020-08-02' -s '2020-02-29'
Output:
Repository: git://github.com/github/covid-19-repo-data.git Total: 49 Author: gregce Month 2020-03 2020-04 2020-05 2020-06 2020-07 Count 0 5 4 4 7 AuthorTotal: 20 Author: Ashikpaul Month 2020-03 2020-04 2020-05 2020-06 2020-07 Count 0 0 0 0 1 AuthorTotal: 1 Author: hamelsmu Month 2020-03 2020-04 2020-05 2020-06 2020-07 Count 0 22 0 4 0 AuthorTotal: 26 Author: github-actions[bot] Month 2020-03 2020-04 2020-05 2020-06 2020-07 Count 0 1 0 0 0 AuthorTotal: 1 Author: DJedamski Month 2020-03 2020-04 2020-05 2020-06 2020-07 Count 1 0 0 0 0 AuthorTotal: 1
Output format is setted to JSON.
python ./aggregateGithubCommits.py -r "github/covid-19-repo-data" -f json
{"AggregatedCommits": {"gregce": {"00": 2, "01": 1, "02": 2, "03": 1, "04": 1, "06": 2, "08": 1, "09": 2, "11": 1, "12": 1, "13": 1}, "Ashikpaul": {"00": 0, "01": 0, "02": 1, "03": 0, "04": 0, "06": 0, "08": 0, "09": 0, "11": 0, "12": 0, "13": 0}, "hamelsmu": {"00": 0, "01": 0, "02": 4, "03": 0, "04": 0, "06": 0, "08": 0, "09": 0, "11": 0, "12": 0, "13": 0}}, "Period": "h", "CommitCount": 20, "Authors": ["gregce", "Ashikpaul", "hamelsmu"], "Indexes": ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"]}
Output format is setted to CSV.
python ./aggregateGithubCommits.py -r "github/covid-19-repo-data" -f csv
"","00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23" "gregce","2","1","2","1","1","0","2","0","1","2","0","1","1","1","0","0","0","0","0","0","0","0","0","0" "Ashikpaul","0","0","1","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0" "hamelsmu","0","0","4","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"
Environment Variable
‘GITHUBTOKEN’
Plase set your Github Token
License
CC BY-NC-SA 4.0
non-commercial use only.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for aggregateGithubCommits-3.20200806-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d59988352bf8237d8fe2c61cd3c169f3da2b2d1bf2f9e481f5550d412f090864 |
|
MD5 | 86e0d881c570a7508beb6eb96ea92dd5 |
|
BLAKE2b-256 | 1f5e4bbc041f8dbc6e0d488b3e82d3d8a56754d249f1e6d25bcba3116d52e40b |