Skip to content

Show Starlink stats in a nice graph in an app instead of using a web browser

License

Notifications You must be signed in to change notification settings

bmillham/starlink-graph

Repository files navigation

starlink-graph

Show Starlink stats in a nice graph in an app instead of using a web browser. It has been tested on linux and MacOS.

Important Information!

The database has changed in this version!

If you don't care about the history then you can just remove starlink-history.db.

If you want your history then:

  • Stop any currently running version
  • Run python convert_database.py to convert the database
  • This can take serveral minutes to run depending on the size of your current database
  • The original database will be saved
  • Once converted start the starlink-graph.py again

Prerequisites

You will need starlink-grps-tools from https://github.com/sparky8512/starlink-grpc-tools
Some distributions (Manjaro) do not have matplotlib installed by default. Install it with pip3 install matplotlib or apt install python3-matplotlib

To create the new obstruction animation ffmpeg is required (called directly so no python modules are needed)

NEW: Added experimental usage tracking. The data is saved in a sqlite3 database, so to use the feature sqlite3 must be installed on your system.

NEW: Changed to using SQLAlchemy 2.0 for database access to allow usage with MySQL and other database.

  • Currenly only tested with sqlite3
  • You probably should use a venv!
  • pip3 install 'sqlalchemy>=2.0'

MacOS Notes

Thank you to reddit user u/virtuallynathan for the following information
Use brew to install these packages: cairo, gtk+3, gtksourceview3 gobject-introspection
Use pip3 to install: pyGObject, pychairo, humanize, matplotlib

Optional

The humanize module is used if installed. Install it with pip3 install humanize

Preperation

Copy the example starlink-graph-default.ini to starlink-graph.ini and edit it to change billing_date to the start day of your billing cycle.

Running

Just clone the git and run the script: python starlink-graph.py

If you have the environment variable PYTHONPATH set to include the location of starlink-grpc-tools then the script should run. If you don't have it set you will prompted to select the location of starlink-grpc-tools

Release Notes

  • V 0.2: Removed command line options in favor of having a GUI setting window.
  • V 0.3: Added basic obstruction map
  • V 0.4: Added controls to the obstruction map
  • V 0.5: Added ability to save obstructions history and create an animation from the history
  • V 0.6: No real functional changes, but major code re-factoring and cleanup
  • This branch is experimental!

About

Show Starlink stats in a nice graph in an app instead of using a web browser

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages