Hallo, das ist @ yshr10ic.
In letzter Zeit habe ich als Ausgabeziel versucht, mehr als ein Commit pro Tag auf GitHub durchzuführen. (Natürlich weiß ich, dass das Festschreiben nicht das Ziel sein sollte.)
Da ich mich jeden Tag engagiere, wollte ich mir vorstellen, wie viel ich engagiert habe. Als ich nachforschte, wie ich das Commit-Protokoll von GitHub erhalten kann, stellte ich fest, dass PyGithub vorhanden ist.
In diesem Artikel möchte ich kurz zusammenfassen, wie PyGithub verwendet wird.
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.
Eine Bibliothek für den Zugriff auf "GitHub API v3" und "Github Enterprise API v3". Sie können GitHub-Ressourcen wie Repositorys, Benutzerprofile und Organisationen in Ihrer Python-Anwendung verwalten.
$ pip install PyGithub
In meiner Umgebung ist die Version "1.47".
Teilauszug aus PyGithub - Beispiele.
create_instance.py
from github import Github
#Instanzgenerierung nach Benutzername und Passwort
g = GitHub('username', 'password')
#Instanzgenerierung durch Zugriffstoken
g = Github('access_token')
#GitHub Enterprise mit benutzerdefiniertem Host instanziiert
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)
Ausgabe
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)
Ausgabe
1
get_branches.py
repo = g.get_repo('yshr10ic/deep-learning-from-scratch-2')
for branch in repo.get_branches():
print(branch)
Ausgabe
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)
Ausgabe
[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")]
...
Dieses Mal habe ich nur die Informationen des vorhandenen GitHub-Repositorys erhalten, aber in Wirklichkeit kann ich auch Dateien erstellen, Anforderungen, Probleme usw. abrufen.
Ich habe alles versucht, von der Erstellung einer GitHub-Instanz bis zum Abrufen verschiedener Informationen, und ich bin froh, dass ich die Informationen sehr einfach abrufen konnte. Um jedoch den ursprünglichen Zweck von "Ich möchte visualisieren, wie viel ich festgeschrieben habe" zu erreichen, muss ich in der Lage sein, das Festschreibungsprotokoll nach Zeit zu durchsuchen. Es ist unwahrscheinlich, dass PyGithub nach Zeit suchen kann, daher werde ich andere Mittel in Betracht ziehen.
Recommended Posts