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 :)


pip install IGitt


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 API Documentation

Indices and tables