Skip to main content

A CLI tool to analyze GitHub profiles and generate Insight reports

Project description

GitInsight v1.0.2

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 .
    

Changelog

v1.0.2

  • Improved error handling with specific exception types

v1.0.1

  • Fixed crash when entering a nonexistent GitHub username

v1.0.0

  • Initial release

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.2.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.2-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitinsight_py-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 6d3c1da174f1cd71a9766cc0c76aa3e23b7059d222ec67217d5ad7b4c204d317
MD5 53ec9123bb35c50d6d2e8230e031e252
BLAKE2b-256 a5f8f8ed235df6c1236944bce40769b6887ee7c06abfb5087e0407805d6090d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gitinsight_py-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 78b6335fff38bba40270995bcd694c013fdfff0ea63919d38ef1c3baf4e03d5b
MD5 921e21cd8d76470946327a38547d6a06
BLAKE2b-256 18721f9974f98af20a024836f7c725957a81f00a141da52977cb4f7b8d91cb63

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