Bonjour, c'est @ yshr10ic.
Récemment, comme objectif de sortie, j'ai essayé de faire plus d'un commit par jour sur GitHub. (Bien sûr, je sais que s'engager ne devrait pas être l'objectif.)
Puisque je m'engage chaque jour, je voulais visualiser à quel point je m'engageais. Ainsi, lorsque j'étudiais comment obtenir le journal de validation de GitHub, j'ai découvert que PyGithub existe.
Dans cet article, je voudrais résumer brièvement comment utiliser PyGithub.
PyGitHub is a Python library to access the GitHub API v3 and Github Enterprise API v3. This library enables you to manage GitHub resources such as repositories, user profiles, and organizations in your Python applications.
Une bibliothèque pour accéder à GitHub API v3
et Github Enterprise API v3
. Vous pourrez gérer les ressources GitHub telles que les référentiels, les profils utilisateur et les organisations dans votre application Python.
$ pip install PyGithub
Dans mon environnement, la version est "1.47".
Extrait partiel de PyGithub --Examples.
create_instance.py
from github import Github
#Génération d'instance par nom d'utilisateur et mot de passe
g = GitHub('username', 'password')
#Génération d'instance par jeton d'accès
g = Github('access_token')
#Instance GitHub Enterprise avec hôte personnalisé
g = Github(base_url='https://{hostname}/api/v3', login_or_token='access_token')
get_repos.py
for repo in g.get_user().get_repos():
print(repo)
production
Repository(full_name="yshr10ic/deep-learning-from-scratch")
Repository(full_name="yshr10ic/deep-learning-from-scratch-2")
...
get_count_of_stars.py
repo = g.get_repo('yshr10ic/deep-learning-from-scratch-2')
print(repo.stargazers_count)
production
1
get_branches.py
repo = g.get_repo('yshr10ic/deep-learning-from-scratch-2')
for branch in repo.get_branches():
print(branch)
production
Branch(name="images")
Branch(name="master")
get_committed_files.py
repo = g.get_repo('yshr10ic/sample')
for commit in repo.get_commits():
print(commit.files)
production
[File(sha="xxx", filename="django/djangorestframework/tutorial/tutorial/urls.py")]
[File(sha="yyy", filename="django/djangorestframework/tutorial/tutorial/quickstart/views.py")]
[File(sha="zzz", filename="django/djangorestframework/tutorial/tutorial/quickstart/serializers.py")]
...
Cette fois, je n'ai obtenu que les informations du référentiel GitHub existant, mais en réalité, je peux également créer des fichiers, des pull requests, des problèmes, etc.
J'ai tout essayé, de la création d'une instance GitHub à l'obtention de diverses informations, et je suis heureux d'avoir pu obtenir les informations très facilement. Cependant, pour atteindre l'objectif initial de «Je veux visualiser combien j'ai engagé», je dois être capable de rechercher le journal des validations par heure. Il est peu probable que PyGithub puisse effectuer une recherche temporelle, je vais donc envisager d'autres moyens.
Recommended Posts