Skip to main content

A CLI tool to analyze GitHub profiles and generate Insight reports

Project description

GitInsight v1.0.0

A high-performance CLI tool for analyzing GitHub user profiles and generating meaningful insight reports.

Version

License Language

Engineered with asynchronous Python to ensure rapid data retrieval without rate-limiting bottlenecks, GitInsight provides developers and recruiters with an immediate, deep-dive view into any GitHub footprint directly from the terminal.


Contents


Features

  • Asynchronous Data Retrieval: Utilizes aiohttp and asyncio to concurrently fetch user profiles, repositories, and recent events, significantly reducing wait times.
  • Terminal User Interface (TUI): Powered by rich, featuring live loading indicators, color-coded data tables, and formatted statistical outputs for maximum readability.
  • Automated PDF Generation: Instantly compile a user's GitHub statistics and repository data into a clean, exportable PDF report.
  • Secure Credential Management: Securely caches your GitHub Personal Access Token locally with restricted permissions, requiring authentication only on the initial run.

Installation

GitInsight is available on the Python Package Index (PyPI). It requires Python 3.8 or higher.

Install the package globally using pip:

pip install gitinsight-py

Configuration

To bypass standard GitHub API rate limits, GitInsight requires a GitHub Personal Access Token.

Getting Your Token

  1. Go to GitHub Settings → Developer Settings → Personal Access Tokens → Tokens (Classic)
  2. Click "Generate new token (classic)"
  3. Give it a name: gitinsight
  4. Set expiration: 90 days or no expiration
  5. Select these scopes:
    • read:user
    • public_repo
  6. Click "Generate token"
  7. Copy it immediately — GitHub shows it only once

Upon your first time executing the command, the CLI will prompt you for this token:

Welcome to GitInsight! Setup Required.
Please enter your GitHub Personal Access Token: 

The token is securely stored in your local home directory (~/.gitinsight). You may also provide the token via a local .env file or by exporting GITHUB_TOKEN to your system environment variables.


Usage

Once installed, the gitinsight command is registered globally on your system.

Basic Profile Analysis: Execute the command followed by the target GitHub username.

gitinsight sshreyanshh

Generate a PDF Report: Append the -r or --report flag to automatically generate and save a PDF summary in your current working directory.

gitinsight sshreyanshh -r

Enable Verbose Logging: Append the -v or --verbose flag to view underlying API requests and debugging information.

gitinsight sshreyanshh -v

Architecture & Technology Stack

  • Language: Python 3.8+
  • Asynchronous Networking: aiohttp
  • Terminal Formatting: Rich
  • Document Generation: fpdf2
  • Build System: Hatchling

Preview

gitinsight <username> (for insight without report)
GitInsight Output without Report

gitinsight <username> --report (for insight with report, snapshot of additional message displayed.) GitInsight Output with Report

(sample of report generated via GitInsight)
Report Preview


Local Development

To run the project locally for development or contribution:

  1. Clone the repository.
    git clone https://github.com/sshreyanshh/GitInsight.git
    
  2. Navigate to the project root directory.
  3. Install the package in editable mode:
    pip install -e .
    

License

This project is open-source and available under the standard MIT License.



Developed by Shreyansh Srivastava · 2026


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

gitinsight_py-1.0.0.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

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

gitinsight_py-1.0.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitinsight_py-1.0.0.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for gitinsight_py-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f4e5c3fbae093021b6ae068dadfde31465879a56605fd8b611f348ab725a465e
MD5 f2d74d9fac127d8d44278de24c419cf7
BLAKE2b-256 1fab89789d84db1f10a9a1d2e6a6d6a4830161f5ced74f106f55a380e2c4f976

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for gitinsight_py-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bdddf6a3e679fc1aaf038d48b8bb7287e9ab9a17640a7c029f169f59ea8e3480
MD5 27b0986ddfd069b1374148d86c68f573
BLAKE2b-256 0ff3791a770d796199f5694f592ed550c9051ca1c41bbe772cfa44d87bb0cee2

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