PyGithub Concepts

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Github

https://pygithub.readthedocs.io/en/latest/github.html

The main class to instantiate to access the GitHub API. It is used to configure authentication, via username and password, personal access token (PAT) or JWT, the base URL, the timeout, the user agent, the Retry strategy and the pool size.

Base URL

The base_url consists of the host URL and API endpoint:

host_url = 'https://github.com'
api_endpoint = 'api/v3'
base_url = f'{host_url}/{api_endpoint}'
github = Github(base_url=base_url,, ...)

Authentication

Authenticated SSL Client

If the Github server requires the client to authenticate, and the client does not, or uses a self-signed certificate, an invocation fails with:

requests.exceptions.SSLError: HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /api/v3/user/repos?per_page=100 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:997)')))

The Retry Strategy