google-speedtest-chart icon indicating copy to clipboard operation
google-speedtest-chart copied to clipboard

:chart_with_upwards_trend: Python script to create a beautiful Google Chart out of your speedtest results

google-speedtest-chart

Simple Python script to push speedtest results (using speedtest-cli) to a Google Docs spreadsheet. I use this to measure and track my upload and download bandwith:

You can find an interactive demo (~~actually productive~~) version of the chart by clicking the image above.

Note: If you rather like Grafana than writing to a Google spreadsheet, checkout my new project docker-speedtest.

Requirements

Installation and usage

  1. Clone and open repository:

    git clone https://github.com/frdmn/google-speedtest-chart.git
    cd google-speedtest-chart
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Symlink it into your $PATH:

    ln -s speedtest-charts.py /usr/local/bin/speedtest-to-google
    
  4. Authorization

    1. :book: Authorize pygsheets
    2. :book: Create an OAuth token, download the credential file and and store it as credentials.json
  5. Create a spreadsheet dedicated to collect your speedtest results:

    :book: docs/Create-a-spreadsheet-to-collect-data.md

  6. Run the script with default settings (make sure you have a spreadsheet document called "Speedtest"):

    speedtest-to-google
    

    Alternatively you can use the -w switch to set a custom spreadsheet name:

    speedtest-to-google -w Speedtest-document
    

    Here are some other arguments that are available:

    usage: speedtest-charts.py [-h] [-w, --workbookname WORKBOOKNAME] [-b, --bymonth]
    
    Simple Python script to push speedtest results (using speedtest-cli) to a Google Docs spreadsheet
    
    optional arguments:
      -h, --help            show this help message and exit
      -w, --workbookname WORKBOOKNAME
                        Sets the woorkbook name, default is "Speedtest"
      -b, --bymonth         Creats a new sheet for each month named MMM YYYY (ex: Jun 2018)
    

License

MIT

Version

1.7.0