Skip to content

GitHubUserDataExtractor is a cross-platform Python tool designed to extract and display public GitHub user data both in the terminal and through a visual HTML dashboard. It provides a streamlined way to fetch a user’s profile, recent activity, and contribution statistics using GitHub’s REST API and external visualization services.

License

Notifications You must be signed in to change notification settings

QuantumByteStudios/GitHubUserDataExtractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHubUserDataExtractor

GitHubUserDataExtractor is a cross-platform Python tool designed to extract and display public GitHub user data both in the terminal and through a visual HTML dashboard. It provides a streamlined way to fetch a user’s profile, recent activity, and contribution statistics using GitHub’s REST API and external visualization services.

Features

  • Retrieves a GitHub user's public profile and recent activity
  • Displays formatted JSON data in the terminal with color-coded output
  • Generates a dynamic HTML dashboard styled with Bootstrap
  • Embeds contribution graphs, language usage charts, and GitHub stats
  • Native HTML viewer support for Linux (PyWebView) and Windows (PyQt5)
  • Clean file structure with modular code organization

Installation

Clone the repository and install dependencies:

git clone https://github.com/QuantumByteStudios/GitHubUserDataExtractor.git
cd GitHubUserDataExtractor
pip install -r requirements.txt

Ensure you are using Python 3.7 or higher.

Usage

Run the application using:

python src/main.py

You will be prompted to enter a GitHub username. The tool will:

  1. Fetch the user's public GitHub profile and display it in the terminal.
  2. Retrieve recent events like stars, forks, and releases.
  3. Generate an HTML report and open it in a native desktop viewer.
  4. Clean up temporary files after closing the viewer.

Runtime Screenshot 0 1

Project Structure

GitHubUserDataExtractor/
│
├── .temp/                     # Temporary files (auto-cleaned)
├── .vscode/                   # VS Code workspace settings
├── src/                       # Source code directory
|   ├── main.py                # Main.py
│   ├── core/                  # API and utility logic
│   │   └── utils.py           # Helper functions for API and data processing
│   ├── htmlviewers/           # Platform-specific GUI viewers
│   │   ├── linux.py           # HTML viewer for Linux (PyWebView)
│   │   └── windows.py         # HTML viewer for Windows (PyQt5)
│
├── .gitignore                 # Git ignore rules
├── LICENSE.md                 # License information
├── README.md                  # Project documentation
├── requirements.txt           # Python dependencies

Output

The tool creates a temporary HTML report (index.html) inside the .temp/ directory. This report includes:

  • Recent GitHub events (filtered by event types)
  • Contribution graphs and language usage charts
  • Visual badges and statistics via third-party services

This file is opened in a native GUI window and then automatically cleared on exit.

Use Cases

  • Developers reviewing their own GitHub contributions and stats
  • Technical recruiters assessing candidate GitHub activity
  • Educators demonstrating API integration and data visualization
  • Hackathon teams building offline GitHub user snapshots

Technologies

  • Python 3
  • GitHub REST API
  • Requests (HTTP client)
  • Colorama (terminal color formatting)
  • PyQt5 (Windows HTML viewer)
  • PyWebView (Linux HTML viewer)
  • Bootstrap 5 (UI styling)
  • External visualization APIs:
    • GitHub Readme Stats
    • GitHub Streak Stats
    • GitHub Profile Summary Cards

API Limitations

This tool uses unauthenticated GitHub API requests and is therefore subject to rate limiting:

  • 60 requests per hour per IP address

To increase limits, you can optionally extend the tool to use a personal access token.

License

This project is licensed under the MIT License. See LICENSE.md for details.

Author

Developed by QuantumByteStudios. Contributions and suggestions are welcome.
For inquiries, email us at [email protected].

About

GitHubUserDataExtractor is a cross-platform Python tool designed to extract and display public GitHub user data both in the terminal and through a visual HTML dashboard. It provides a streamlined way to fetch a user’s profile, recent activity, and contribution statistics using GitHub’s REST API and external visualization services.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages