GitAPI is a powerful, lightweight GitHub data extraction module within the Webscout Python package. It provides comprehensive tools for retrieving GitHub repository and user information without requiring authentication for public data access.
-
Repository Operations
- Repository metadata retrieval
- Commit history tracking
- Pull request management
- Issue tracking
- Release information
- Branch management
- Repository statistics
- Workflow data
-
User Operations
- Profile information
- Repository listing
- Follower/Following data
- Organization membership
- Event tracking
- Gist management
- Star history
-
Error Handling
- Rate limit detection
- Resource not found handling
- Request retry mechanism
- Custom error types
Install as part of the Webscout package:
pip install webscout
from webscout.Extra.GitToolkit.gitapi import Repository
# Initialize repository client
repo = Repository("OE-LUCIFER", "Webscout")
# Get basic repository info
info = repo.get_info()
print(f"Repository: {info['full_name']}")
print(f"Stars: {info['stargazers_count']}")
# Get latest commits
commits = repo.get_commits(per_page=5)
for commit in commits:
print(f"Commit: {commit['commit']['message']}")
from webscout.Extra.GitToolkit.gitapi import User
# Initialize user client
user = User("OE-LUCIFER")
# Get user profile
profile = user.get_profile()
print(f"User: {profile['login']}")
print(f"Followers: {profile['followers']}")
# Get user's repositories
repositories = user.get_repositories()
for repo in repositories:
print(f"Repository: {repo['name']}")
get_info()
: Basic repository informationget_commits()
: Repository commit historyget_pull_requests()
: Repository pull requestsget_issues()
: Repository issuesget_releases()
: Repository releasesget_branches()
: Repository branches- And many more...
get_profile()
: User profile informationget_repositories()
: User's public repositoriesget_followers()
: User's followersget_following()
: Users being followedget_organizations()
: User's organizations- And many more...
The module includes several custom exception types:
GitError
: Base exception for all GitHub API errorsRateLimitError
: Raised when hitting API rate limitsNotFoundError
: Raised when resource is not foundRequestError
: Raised for general request errors