Skip to main content

Premium Git repository analytics and dashboard generator

Project description

Commit Pulse 💎

A premium, high-fidelity Git repository analytics engine and dashboard generator. Built for engineers who care about their legacy.

  • Author: Samuel Olubukun
  • Repository: github.com/samolubukun/commitpulse
  • License: MIT
  • Tech Stack: Python, Jinja2, Chart.js (Local); Next.js, Neon DB, Tailwind CSS (Cloud)

Commit Pulse is a powerful, locally-first CLI tool that generates high-fidelity engineering dashboards for your Git repositories. It analyzes your development ecosystem, visualizes commit intensity heatmaps, and identifies top contributors using real GitHub profiles.

✨ Key Features

  • Zero-PAT Analysis: Analyzes local .git metadata directly. No Personal Access Tokens or cloud APIs required for core stats.
  • Accurate Project Timelines: Dynamic contribution grids that span from the repository's inception to the last official commit.
  • GitHub Profile Integration: Automatically fetches actual contributor avatars via the public GitHub Search API.
  • Master Scan: A recursive drive scanner that aggregates stats from every project on your machine into a single interactive dashboard.
  • Premium Aesthetics: Glassmorphic UI with dark mode, smooth animations, and official GitHub iconography.

📦 Installation

1. Local (Developer Mode)

If you have the source code locally:

pip install -e .

2. Direct from GitHub

Anyone can install your tool directly if the repo is public:

pip install git+https://github.com/YOUR_USERNAME/commitpulse.git

3. Global Command

Once installed, the commitpulse command is available everywhere in your terminal.

🚀 Usage

Analyze the current repository

commitpulse

Analyze all repositories on your computer (Master Scan)

commitpulse --scan

Specify a target directory

commitpulse /path/to/projects

🛠️ Options

  • --scan: Crawls subdirectories to find and aggregate all Git repositories.
  • --no-open: Generates the dashboard without automatically opening it in the browser.

🚀 Deployment & Sharing

Commit Pulse offers two ways to view and share your results:

1. Local-First (Default)

Run the command to generate a self-contained, interactive HTML dashboard on your machine. Perfect for private analysis.

commitpulse --scan

Output: stats_dashboard.html

2. Commit Pulse Cloud (Global Sharing)

Ready to show the world? Use the --publish flag to host your dashboard on the cloud and get a unique, shareable URL.

commitpulse --publish

Output: https://commitpulse.app/v/your-unique-id


🛠️ Setting up your own Cloud Instance (Optional)

If you are hosting your own version of Commit Pulse Cloud:

  1. Neon DB:
    • Go to Neon.tech and create a free project.
    • Copy your Connection String (e.g., postgresql://user:pass@ep-cool-beach-123.us-east-2.aws.neon.tech/neondb?sslmode=require).
  2. Environment Setup:
    • In the commitpulse-cloud directory, rename .env.example to .env.
    • Paste your connection string into DATABASE_URL.
  3. Vercel Deployment:
    • Deploy the commitpulse-cloud folder to Vercel.
    • Add the DATABASE_URL to your Vercel Environment Variables.

🌍 Distribution & PyPI Hosting

To share Commit Pulse with the global developer community via PyPI:

1. Prepare your Account

  • Register at pypi.org.
  • Generate an API Token in your account settings.

2. Build the Distribution

Ensure you have the latest build tools:

python -m pip install --upgrade build twine

Then build the package:

python -m build

This creates a dist/ folder with your .whl and .tar.gz files.

3. Upload to PyPI

Use twine to securely upload your package:

python -m twine upload dist/*
  • Username: __token__
  • Password: [Your API Token]

Once uploaded, anyone can install it via:

pip install commitpulse

Built with ❤️ for the development ecosystem.

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

commitpulse-0.1.1.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

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

commitpulse-0.1.1-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: commitpulse-0.1.1.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for commitpulse-0.1.1.tar.gz
Algorithm Hash digest
SHA256 893a6a2aa1112a2c452a1b65457a1e52bc524cc72184e4068be652ff6c933572
MD5 31c1a432d3acb2f91e82a42ee89a5c03
BLAKE2b-256 87be5c034c01c09be07eda0acd9722f91b32f2b5b69196569eb61178e25840c8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: commitpulse-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for commitpulse-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 65dc1ac18aef62fedc9dc4d3904cbd101d7f58394babdd5adb0dd3f771f2167d
MD5 a7ee83b458ec9479d0c259ef8f0a90db
BLAKE2b-256 a28fd6e8108ef0dc07a1528c085c0a292de2864e3f1440ab9d75119c484c624f

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