• Stars
    star
    121
  • Rank 293,924 (Top 6 %)
  • Language
    Python
  • Created over 8 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Get statistics on web traffic to your GitHub repositories.

github-traffic-stats

https://travis-ci.org/nchah/github-traffic-stats.svg?branch=master

Get statistics on web traffic to your GitHub repositories.

Python CLI

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.

Installation

pip install github_traffic_stats

Dependencies

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

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

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]

Documentation

A list of the references used for this project.