Skip to main content

A cli tool that will keep you in loop with your Github

Project description

GitLoop

A CLI tool that keeps you in real-time sync with GitHub commits across your repositories. Get instant notifications about new commits with detailed information.

Features

  • Real-time monitoring of GitHub commits
  • Repository-specific or all-repositories monitoring
  • Timezone-aware commit timestamps (IST)
  • Mattermost integration for notifications
  • Secure GitHub authentication using device flow
  • Persistent token storage for convenience

Installation

pip install gitloop

Prerequisites

  • Python 3.9 or higher
  • GitHub account
  • GitHub Client ID (for authentication)

Setup

  1. First-time authentication:
gitloop login
  1. When prompted, enter your GitHub Client ID
  2. Follow the URL provided and enter the verification code
  3. Once authenticated, your token will be saved for future use

Usage

Basic Monitoring

gitloop monitor

Advanced Options

# Monitor specific repository
gitloop monitor --repo "owner/repository"

# Custom polling interval (in seconds)
gitloop monitor --interval 60

# Disable sound notifications
gitloop monitor --no-sound

# Enable Mattermost notifications
gitloop monitor --mattermost "YOUR_WEBHOOK_URL"

Command Line Arguments

  • --interval: Polling interval in seconds (default: 30)
  • --repo: Monitor specific repository (format: owner/repo)
  • --no-sound: Disable sound notifications
  • --mattermost: Mattermost webhook URL for notifications

Environment Variables

  • GITHUB_CLIENT_ID: Your GitHub Client ID
  • MATTERMOST_WEBHOOK_URL: Webhook URL for Mattermost notifications

Output Format

For each new commit, GitLoop displays:

  • Repository name
  • Author name
  • Commit message
  • Timestamp (IST)
  • Commit URL

Development

git clone https://github.com/RohitDarekar816/gitloop.git
cd gitloop
pip install -e .

Dependencies

  • requests
  • colorama
  • pytz
  • playsound
  • setuptools

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Rohit Darekar (rohitdarekar816@gmail.com)

Contributing

Feel free to open issues and pull requests on GitHub.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitloop-0.1.2.tar.gz (215.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitloop-0.1.2-py3-none-any.whl (214.5 kB view details)

Uploaded Python 3

File details

Details for the file gitloop-0.1.2.tar.gz.

File metadata

  • Download URL: gitloop-0.1.2.tar.gz
  • Upload date:
  • Size: 215.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for gitloop-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ae9b09b7aded6ab56f397dae2ef79c7e1b9e8269baec99bb4869d8f253faf64f
MD5 fcc367ddafdfb1eea7dca0107c8ccb4f
BLAKE2b-256 f3ba1000a19fd0750b00ada8379a18ed708d516d27d2b4a2bb0bae56339fa7bc

See more details on using hashes here.

File details

Details for the file gitloop-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: gitloop-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 214.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for gitloop-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 99bb359784dfebaf77c5aa90d524a85f90b94a57d10f690fa5ab1920a5969d77
MD5 3632579d24a96db8e8aa7bdb35187b6b
BLAKE2b-256 ff0496b66c17bb6b8edd7e41e07e1c98498d277e30b9552fdf75803c94ad5f83

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page