🐍 A Versatile GitHub Interaction Project 🚀
Manage Git repositories and interact with the GitHub API with ease.
-
Clone a GitHub Repository 📥
- Clone any public GitHub repository into a local directory.
- Specify the GitHub username, repository name, and local directory.
-
Display Active Branch 🌿
- Retrieve and display the active branch of the cloned repository.
-
List Commits 📜
- List all commits in the cloned repository, including commit SHA and message.
-
Add a New File ✏️
- Create a new file in the local repository directory and write content to it.
- Stage the new file for commit and make a new commit.
-
Push Changes to the Remote Repository 🚀
- Push committed changes to the active branch in the remote repository on GitHub.
Additional features and placeholders for future expansion:
-
Create and Checkout a New Branch 🌱
- Create and switch to a new Git branch within the repository.
-
Add, Commit, and Push Changes 🔄
- Perform Git operations to add, commit, and push changes to the repository.
-
Pull Changes from the Remote Repository 🔄🏡
- Pull changes from the remote repository to keep your local repository up-to-date.
-
Delete a Branch 🗑️
- Maintain a clean repository by removing unnecessary branches as needed.
-
Fetch User Profile Information 🙋
- Retrieve and display user profile information from GitHub, including username, name, bio, location, followers, and following.
-
Fetch All Repositories 📦
- Fetch all repositories associated with the authenticated user on GitHub.
- Cache the data for improved performance.
-
Filter and Search Repositories 🔍
- Find specific repositories with ease by filtering based on public or private status.
- Enhance your search capabilities by querying repositories using various criteria.
-
Create and Delete Repositories 🏗️🗑️
- Empower GitHub users by enabling the creation of new repositories with customizable descriptions and privacy settings.
- Exercise control over your GitHub ecosystem by securely deleting repositories, with user confirmation.
-
Export Repository Data to JSON 📁
- Enable data analysis and backup strategies by exporting repository information to a structured JSON file.
-
Get Rate Limit ⏳
- Stay informed about your GitHub API usage with rate limit information.
- Monitor limits, remaining requests, and reset times to ensure optimal API interaction.
To utilize this project, follow these steps:
-
Adding The API kay:
- Add your Github API key in the github\src\api.py
-
Install Dependencies:
- Ensure you have the
GitPython
andRequests
libraries installed. You can install them usingpip
:
pip install GitPython requests
- Ensure you have the