Get statistics on web traffic to your GitHub repositories.
Python CLI tool to get web traffic stats on the command line using the GitHub API.
A few use cases to show why this may be useful.
- Checking the volume of traffic to all of your repos. Monitor sudden spikes in interest or any general patterns.
- Storing the traffic stats for future reference.
- Checking how often your code is cloned.
pip install github_traffic_stats
- Requests (https://github.com/psf/requests)
- psycopg2 (https://github.com/psycopg/psycopg2)
Install the requirements by running:
pip install -r requirements.txt
There are a number of GitHub libraries for Python and other languages, although they may not support the Repository Traffic API (announced on August 15, 2016).
usage: gts [-h] username [repo] [save_csv] [-o] or: usage: gts [-h] username:password [repo] [save_csv] [-o] positional arguments: username Github username password Github password for 'username', or access token repo User's repo save_csv Set to "no_csv" if no CSV should be saved OR "set_db" to send to postgres optional arguments: -h, --help show this help message and exit -o, --organization specify Github organization if different from username -print, --print-screen print CSV results to screen (default='True') -hp, --host set database host and port [127.0.0.1:5432] (default='127.0.0.1:5432') -usr, --db-user set database user and password [root:""] (default='root:""') -name, --db-name set database where data will be stored' (default='test')
Information on Github Access Tokens.
Run on the command line with either python
or python3
.
$ gts 'nchah' 'github-traffic-stats' 'save_csv' Password:* (passwords are hidden) > github-traffic-stats - Visitors Date Views Unique visitors Totals 125 36 2017-07-16 1 1 2017-07-17 10 2 2017-07-19 11 4 2017-07-20 12 5 2017-07-21 3 3 2017-07-22 1 1 2017-07-23 1 1 2017-07-24 17 6 2017-07-25 32 5 2017-07-26 1 1 2017-07-27 1 1 2017-07-28 6 4 2017-07-29 26 5 2017-07-30 3 1 > github-traffic-stats - Git clones Date Clones Unique cloners Totals 5 5 2017-07-17 1 1 2017-07-24 2 2 2017-07-26 1 1 2017-07-29 1 1 > github-traffic-stats - Referring sites Date Views Unique visitors Totals 44 27 Google 33 24 github.c... 11 3 $ # Or to get stats on all of your repositories $ gts 'nchah' 'ALL' 'save_csv' Password:* (passwords are hidden) $ # Or if you are running on an organization repo (for example NREL's SAM repo) as a user with access $ gts 'nickdiorio' 'SAM' 'save_csv' -o 'NREL' Password:* (passwords are hidden) ...
Traffic data stored in CSV files with columns:
repository_name, date, views, unique_visitors
Separate CSVs are created for each run of the script.
To merge and only preserve the unique data points, run:
$ bash bash/merge-csv.sh [folder_with_CSVs]
A list of the references used for this project.