PyGithub Programming Model: Difference between revisions
Jump to navigation
Jump to search
(Created page with "=Internal= * PyGithub =Authentication= ==Authentication with Personal Access Token (PAT)==") |
|||
Line 3: | Line 3: | ||
=Authentication= | =Authentication= | ||
==Authentication with Personal Access Token (PAT)== | ==Authentication with Personal Access Token (PAT)== | ||
<syntaxhighlight lang='py'> | |||
import os | |||
from github import Github | |||
from urllib3 import Retry | |||
def access_github(): | |||
# github = Github('user', 'password') | |||
github_pat = os.environ.get('GITHUB_PAT') | |||
if not github_pat: | |||
raise ValueError("'GITHUB_PAT' not setup") | |||
base_url = 'https://github.com' | |||
api_endpoint = 'api/v3' | |||
status_forcelist = [403, 500, 502, 504] # retry 403s, 5XX from GitHub | |||
retry = Retry(total=10, backoff_factor=0.2, raise_on_status=True, status_forcelist=status_forcelist) | |||
github = Github(base_url=f'{base_url}/{api_endpoint}', login_or_token=github_pat, retry=retry, per_page=100) | |||
for repo in github.get_user().get_repos(): | |||
print(repo.name) | |||
</syntaxhighlight> |
Revision as of 23:11, 15 May 2023
Internal
Authentication
Authentication with Personal Access Token (PAT)
import os
from github import Github
from urllib3 import Retry
def access_github():
# github = Github('user', 'password')
github_pat = os.environ.get('GITHUB_PAT')
if not github_pat:
raise ValueError("'GITHUB_PAT' not setup")
base_url = 'https://github.com'
api_endpoint = 'api/v3'
status_forcelist = [403, 500, 502, 504] # retry 403s, 5XX from GitHub
retry = Retry(total=10, backoff_factor=0.2, raise_on_status=True, status_forcelist=status_forcelist)
github = Github(base_url=f'{base_url}/{api_endpoint}', login_or_token=github_pat, retry=retry, per_page=100)
for repo in github.get_user().get_repos():
print(repo.name)