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.1.tar.gz (6.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.1-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitloop-0.1.1.tar.gz
  • Upload date:
  • Size: 6.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.1.tar.gz
Algorithm Hash digest
SHA256 09e1de49ba277fcdf04ed749ccd15185da6c6fdc544a1d80d2e4c15056381b37
MD5 e2c6a5d2d2bb27f3f45cd364ed05e801
BLAKE2b-256 6dab1fd16df894fc46bbcf991ac5ebdc67b652ed093bc794750515876a1af7d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gitloop-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.8 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dfaaab34aa9999fe91e80cae260d69ff2914128bfbf2032216d9fc171a9aa633
MD5 aebf30a984fe20fd62b90732276f3b20
BLAKE2b-256 a817ec95114f148cf62f15650def0c7dd71c6c2f6bf6ba43c774f19bf725b86a

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