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

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitloop-0.1.0.tar.gz
  • Upload date:
  • Size: 6.5 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.0.tar.gz
Algorithm Hash digest
SHA256 8a0fde9530fe314b9fec142cb5a24b47fb12cf762463af1a7b86f005de5cffc7
MD5 9c99ee65005bf41d0336d054be138e46
BLAKE2b-256 69e6eabe717e690904bd0e1ff733bb9875ca9c01b8cfab13b24f4e4178342544

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gitloop-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7beedebbaed66c724ff8e97088c33a94ca21d06d4e456ee264954314bede44ab
MD5 4cb762cb09e012331e24adab7e038aa0
BLAKE2b-256 2acfde7e0ca3ab4f91c8675abca048bcd65b32db9e0d39a67dfff868ed5888b3

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