Welcome to IGitt!¶
IGitt is a Git hoster abstraction. It is one python API that allows you to rule over GitHub, GitLab and more hosting platforms.
Why do I Need This?¶
If you want to support more than one hoster it doesn’t mean that you want to
implement all your API requests multiple times. With IGitt you can create e.g.
a GitHubIssue
object and use it the same way as a GitLabIssue
object.
Stop worrying about multiple platforms :)
Installation¶
pip install IGitt
Quickstart¶
All classes follow the APIs given in IGitt.Interfaces. Here’s an example on how to set labels on a GitHub issue:
from IGitt.GitHub.GitHubIssue import GitHubToken, GitHubIssue
issue = GitHubIssue(GitHubToken("YOUR TOKEN"), "ORG/REPO", NUMBER)
issue.labels = {"type/bug", "area/core"}
IGitt also supports caching data from external requests for reuse to reduce the rate limiting issues from hosting providers. IGitt uses an in-memory cache store by default. To provide your own cache store, refer here.
The User Guide¶
This part of the documentation shows how to use all IGitt interfaces with detailed examples.
API Documentation¶
- IGitt package
- Subpackages
- IGitt.GitHub package
- Submodules
- IGitt.GitHub.GitHub module
- IGitt.GitHub.GitHubComment module
- IGitt.GitHub.GitHubCommit module
- IGitt.GitHub.GitHubContent module
- IGitt.GitHub.GitHubInstallation module
- IGitt.GitHub.GitHubIssue module
- IGitt.GitHub.GitHubMergeRequest module
- IGitt.GitHub.GitHubMilestone module
- IGitt.GitHub.GitHubNotification module
- IGitt.GitHub.GitHubOrganization module
- IGitt.GitHub.GitHubReaction module
- IGitt.GitHub.GitHubRepository module
- IGitt.GitHub.GitHubTeam module
- IGitt.GitHub.GitHubUser module
- Module contents
- IGitt.GitLab package
- Submodules
- IGitt.GitLab.GitLab module
- IGitt.GitLab.GitLabComment module
- IGitt.GitLab.GitLabCommit module
- IGitt.GitLab.GitLabContent module
- IGitt.GitLab.GitLabIssue module
- IGitt.GitLab.GitLabMergeRequest module
- IGitt.GitLab.GitLabNotification module
- IGitt.GitLab.GitLabOrganization module
- IGitt.GitLab.GitLabProjectMilestone module
- IGitt.GitLab.GitLabReaction module
- IGitt.GitLab.GitLabRepository module
- IGitt.GitLab.GitLabTeam module
- IGitt.GitLab.GitLabUser module
- Module contents
- IGitt.Interfaces package
- Submodules
- IGitt.Interfaces.Actions module
- IGitt.Interfaces.Comment module
- IGitt.Interfaces.Commit module
- IGitt.Interfaces.CommitStatus module
- IGitt.Interfaces.Content module
- IGitt.Interfaces.Hoster module
- IGitt.Interfaces.Installation module
- IGitt.Interfaces.Issue module
- IGitt.Interfaces.MergeRequest module
- IGitt.Interfaces.Milestone module
- IGitt.Interfaces.Notification module
- IGitt.Interfaces.Organization module
- IGitt.Interfaces.Reaction module
- IGitt.Interfaces.Repository module
- IGitt.Interfaces.Team module
- IGitt.Interfaces.User module
- Module contents
- IGitt.Jira package
- IGitt.Utils package
- IGitt.GitHub package
- Submodules
- IGitt.factory module
- Module contents
- Subpackages