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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aggregateGithubCommits-3.20200806-py3-none-any.whl.
File metadata
- Download URL: aggregateGithubCommits-3.20200806-py3-none-any.whl
- Upload date:
- Size: 27.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d59988352bf8237d8fe2c61cd3c169f3da2b2d1bf2f9e481f5550d412f090864
|
|
| MD5 |
86e0d881c570a7508beb6eb96ea92dd5
|
|
| BLAKE2b-256 |
1f5e4bbc041f8dbc6e0d488b3e82d3d8a56754d249f1e6d25bcba3116d52e40b
|