.. module:: github2.client
.. autoclass:: github2.client.Github :exclude-members: get_network_meta, get_network_data, get_all_blobs, get_blob_info, get_tree
There are three ways to authenticate to the GitHub API. If you want to use your username and API token, use:
>>> from github2.client import Github >>> github = Github(username="ask", api_token=".......")
If you authenticated to GitHub using their OAuth service, pass in the OAuth access token:
>>> github = Github(access_token="........")
Note
You can retrieve the user data for an OAuth authenticated user with
github.users.show("")
.
Or for an unauthenticated connection:
>>> github = Github()
The package supports caching of GitHub responses by adding a cache
keyword
during setup:
>>> github = Github(username="ask", api_token=".......", cache="cache_dir")
API calls are limited by github.com to 1 per second by default. To have the
Github
client enforce this and avoid rate limit errors, pass
requests_per_second
in:
>>> from github2.client import Github >>> github = Github(username="ask", api_token=".......", ... requests_per_second=1)
By default, :pypi:`httplib2 (0.7.4)` will use the proxies set in the :envvar:`http_proxy` andr :envvar:`https_proxy` environment variables. This means that well configured systems shouldn't need any manual configuration for proxy support.
If you wish to manually configure a HTTP proxy you can pass in the
proxy_host
and proxy_port
settings to enable it. The default for
proxy_port
, if not given, is 8080:
>>> from github2.client import Github >>> github = Github(username="ask", api_token=".......", ... proxy_host="my.proxy.com", proxy_port=9000)
You may specify a GitHub Enterprise URL by passing in the github_url
setting. If you do not specify github_url
, requests will be made to
https://github.com/.
>>> from github2.client import Github >>> github = Github(username="modocache", api_token=".......", ... github_url="http://your-github-enterprise-url.com/")