Monitor Github repositories data. This program fetches commits data for selected repositories at regular interval and make charts with it. Features:
- View repositories data with charts
- Desktop notifications on change
The data is pulled from Github at regular interval from their api. It is stored in an Sqlite database. Charts are generated for each repository.
Note: this program is made to be run locally
Install the python module:
sudo apt-get install libglib2.0-dev
pip install dbus-python
pip install ghobserver
Grab the binary release or compile from source.
Edit a config.json
file next to the binary:
{
"user": "github_username",
"pwd": "github_password",
"token": "github_personal_api_token",
"repositories": ["repo1", "repo2", "repo3"],
"external_repositories": ["username/reponame", "username/reponame"]
}
To get a personal api token check the instructions
Activate your python virtualenv if needed and run: ./ghobserver
Go to http://localhost:8447
The api will be queried every 10 minutes for changes on repositories and activity feed. Notifications will popup if anything has changed.
- Manage issues
- Manage pull requests
- Manage notifications
- Add datatables to commits view
- Sqlite: the database
- Vuejs: the frontend framework
- Dataswim: data analytics in Python
- Requests: fetch data in Python
- Xorm: an orm in Go
- Gorilla/Mux: http router in Go
- Viper: configuration management in Go
- Notificator: desktop notifications in Go
- Notify2: desktop notifications in Python
- Gofeed: atom feed parser in Go
- Watcher: files watcher in Go
- Terr: error management in Go
- Arrow: dates management in Python