Anonymous Functional API

This part of the documentation covers the API. This is intended to be a beautifully written module which allows the user (developer) to interact with elegantly and easily.

Module Contents

To interact with the GitHub API you can either authenticate to access protected functionality or you can interact with it anonymously. Authenticating provides more functionality to the user (developer).

To authenticate, you may use github3.login().

github3.login(username=None, password=None, token=None, two_factor_callback=None)

Construct and return an authenticated GitHub session.


To allow you to specify either a username and password combination or a token, none of the parameters are required. If you provide none of them, you will receive None.

  • username (str) – login name

  • password (str) – password for the login

  • token (str) – OAuth token

  • two_factor_callback (func) – (optional), function you implement to provide the Two-factor Authentication code to GitHub when necessary



With the GitHub object that is returned you have access to more functionality. See that object’s documentation for more information.

To use the API anonymously, you can also create a new GitHub object, e.g.,

from github3 import GitHub

gh = GitHub()

Enterprise Use

If you’re using to interact with an enterprise installation of GitHub, you must use the GitHubEnterprise object. Upon initialization, the only parameter you must supply is the URL of your enterprise installation, e.g.

from github3 import GitHubEnterprise

g = GitHubEnterprise('')
stats = g.admin_stats('all')
assert 'issues' in stats, ('Key issues is not included in the admin'