Command line tools for GitHub repo statistics
Project description
ghrepo-stats
Have you ever wondered how the number of stargazers or the number of open issues has changed over time for your (or any) GitHub repository? I did, so I wrote this small command line tool to do this.
ghrepo-stats uses pygithub to collect some statistics from a specific repository using a command line tool and show it using matplotlib or write it to a csv file.
Features
The following sub-commands are supported:
- stars: shows the number of stargazers over time (caveat: stargazers that have removed their star are not shown, as the info is not available)
- issues: shows the number of open issues over time
- prs: shows the number of open pull requests over time
- commits: shows the number of commits over the last year
- codesize: shows the change of the code size over time measured by the number of additions and deletions
Caution:
Don't use issues
or prs
sub-commands with repositories with many (open or
close) issues - this will take a lot of time and load on the GitHub API.
Installation
If you want to try it, you can install it from PyPi:
pip install ghrepo-stats
Or you can install the current master from GitHub:
pip install git+https://github.com/mrbean-bremen/ghrepo-stats
Usage
To use this, you need a
personal access token
able to read public repositories for your GitHub account. The user name and
token is expected to be found in the file ghrepo-stats.ini
, either in the
repository root, or in your home path.
The contents should be in the form:
[auth]
username = my-github-username
token = 123456789abcdef0123456789abcdef012345678
To get usage information you can now type:
$ show-ghstats -h
usage: show-ghstats [-h] [--verbose] [--csv CSV] sub_command repo_name
Shows GitHub repo statistics
positional arguments:
sub_command The kind of statistics to show. Possible values: 'issues',
'prs', 'stars', 'commits', 'codesize'.
repo_name Full repository name in the form <repo_owner>/<repo_name>.
optional arguments:
-h, --help show this help message and exit
--verbose, -v Outputs diagnostic information
--csv CSV Write the output into a csv file with the given file path
So, for example, to get a star plot of a specific repository, you can write:
$ show-ghstats stars "my-github-username/my-repo"
If you want to have the numbers saved in a csv file instead to play around with the numbers you can write:
$ show-ghstats stars "my-github-username/my-repo" --csv=my_repo-issues
This will write a file my_repo-issues.csv
with the numbers (date+time /
number of issues) in the current path.
Examples
Get some measure of popularity change by showing the number of stargazers over time (note: stars that have been retracted are not counted):
$ show-ghstats stars "jmcgeheeiv/pyfakefs"
Check how fast issues are handled by showing how many issues have been open over time:
$ show-ghstats issues "vvvv/svg"
See how the code size changed over time measured in code additions/deletions:
$ show-ghstats codesize "pytest-dev/pytest"
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 Distribution
Built Distribution
Hashes for ghrepo_stats-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f3c65b992c86b3dea2ce7cee6075517556d12bd469dda4c164503601387cae4 |
|
MD5 | bab84f9d04ff241a308965d1c396fda3 |
|
BLAKE2b-256 | 4ab4174e2dc96fe04f9fae4999080f02051a86294a7e61ca34aabb1666610afa |