Skip to main content

GitHub commit analyzer - analyze and visualize commit frequency

Project description

git-pluse

A GitHub commit analyzer that fetches commit history and visualizes cumulative commits over time.

Installation

pip install git-pluse

Usage

Basic usage - generate JSON output

git-pluse https://github.com/erquren/git-pluse

This will create a JSON file named repo.json containing detailed commit records organized by date.

Generate visualization

git-pluse https://github.com/erquren/git-pluse show

This will create both a JSON file (repo.json) and a PNG chart (repo.png) showing cumulative commits.

Features

  • Fetches all commits from a GitHub repository
  • Generates JSON output with commit details (user, message, sha, time) organized by date
  • Visualizes cumulative commits over time with line chart
  • Dynamic tick intervals based on actual project duration:
    • ≤ 30 days: daily ticks
    • ≤ 90 days: weekly ticks
    • ≤ 365 days: monthly ticks
    • ≤ 730 days: bi-monthly ticks
    • 730 days: quarterly ticks

JSON Output Format

{
  "repo": "erquren/git-pluse",
  "url": "https://github.com/erquren/git-pluse",
  "total_commits": 1234,
  "commits_by_date": {
    "2024-01-01": [
      {
        "user": "John Doe",
        "message": "Initial commit",
        "sha": "abc123...",
        "time": "2024-01-01T12:00:00Z"
      }
    ]
  },
  "first_commit_date": "2024-01-01",
  "last_commit_date": "2024-12-31"
}

Chart Features

  • X-axis: Date
  • Y-axis: Cumulative commit count
  • Dynamic tick intervals based on project duration
  • Clean line chart with data point markers
  • Area fill for better visualization

Requirements

  • Python 3.7+
  • requests
  • matplotlib

License

MIT License

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

git_pluse-1.0.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

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

git_pluse-1.0.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file git_pluse-1.0.0.tar.gz.

File metadata

  • Download URL: git_pluse-1.0.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for git_pluse-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1c89c7a7736dc370d551e6ed7a3d7c84c4001cf708b0c9d612411e455bf9c87f
MD5 d41a15e0f95305c856942e0d06044cb6
BLAKE2b-256 33fee0cf920e3c4232626108c20c6e40f6f928276d8ae9d7638ac08c3e5e475b

See more details on using hashes here.

File details

Details for the file git_pluse-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: git_pluse-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for git_pluse-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd67ee44283718967a2d1c61b8862695d845ce3e2456974702b857accf4c80f7
MD5 e1c8161c232ab8d149cc9df20efca01f
BLAKE2b-256 a5bb6be69c2db6526a607640cd6d2597aabe0bcb80f43a3e87f7790b562174b1

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