A Python-based command-line application that fetches and analyzes GitHub user profile data using the GitHub REST API.
This project demonstrates real-world backend skills such as API integration, JSON handling, error handling, and clean code structure.
- Fetch GitHub user profile details using a username
- Handle invalid usernames gracefully
- Handle network issues and server-side errors
- Display key GitHub statistics:
- Name
- Username
- Public repositories
- Followers
- Following
- Save fetched profile data locally in JSON format
- Python
- Requests (API calls)
- JSON
- File Handling
- Error Handling
A Python-based command-line application that fetches and analyzes GitHub user profile data using the GitHub REST API.
This project demonstrates real-world backend skills such as API integration, JSON handling, error handling, and clean code structure.
- Fetch GitHub user profile details using a username
- Handle invalid usernames gracefully
- Handle network issues and server-side errors
- Display key GitHub statistics:
- Name
- Username
- Public repositories
- Followers
- Following
- Save fetched profile data locally in JSON format
- Python
- Requests (API calls)
- JSON
- File Handling
- Error Handling
github-profile-analyzer/ ├── main.py ├── profile.json ├── requirements.txt └── README.md
- Clone the repository:
git clone https://github.com/your-username/github-profile-analyzer.git cd github-profile-analyzer - Install required dependencies: pip install -r requirements.txt
python main.py Enter a GitHub username when prompted.
📌 Sample Output
GitHub Profile Details
----------------------
Name : The Octocat
Username : octocat
Repos : 8
Followers : 10000+
Following : 9
📁 Output File Profile data is saved locally as: profile.json
🎯 Learning Outcomes
- Working with REST APIs
- Handling JSON data in Python
- Writing clean, modular Python code
- Implementing error handling for real-world scenarios
- Understanding API status codes and network failures
👨💻 Author Sooraj Suresh
📄 License This project is for educational and learning purposes.