[PYTHON] Holen Sie sich GitHub-Informationen mit PyGithub

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.

Was ist 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.

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.

Installieren Sie PyGithub

$ pip install PyGithub

In meiner Umgebung ist die Version "1.47".

Wie benutzt man PyGithub?

Teilauszug aus PyGithub - Beispiele.

Erstellen einer GitHub-Instanz

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')

Liste der Repositorys abrufen

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")
...

Holen Sie sich die Anzahl der Sterne

get_count_of_stars.py


repo = g.get_repo('yshr10ic/deep-learning-from-scratch-2')
print(repo.stargazers_count)

Ausgabe

1

Holen Sie sich eine Liste der Filialen

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")

Holen Sie sich eine Liste der festgeschriebenen Dateien

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")]
...

Zusammenfassung

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

Holen Sie sich GitHub-Informationen mit PyGithub
Holen Sie sich GitHub-Informationen mit PyGithub
Mit dem Evernote SDK für Python 3 erhalten Sie Informationen zu Notizen
[Linux] Informationen zu Linux-Ressourcen abrufen
[google-oauth] Benutzerinformationen abrufen
[Rails] So erhalten Sie Standortinformationen mithilfe der Geolocation-API
Holen Sie sich ähnliche Beiträge mit Doc2Vec
Ich habe versucht, die Informationen des Webs mit "Requests" und "lxml" abzurufen.
Berechnen Sie den Informationsgewinn mit NLTK
Holen Sie sich Alembic-Informationen mit Python
Rufen Sie github api in Python auf, um Informationen zur Pull-Anforderung zu erhalten
[Python] Ich habe versucht, mithilfe der YouTube-Daten-API verschiedene Informationen abzurufen!
Holen Sie sich Informationen zu Videodateien mit ffmpeg-python
Abrufen von Salesforce-Daten mithilfe der REST-API
Abrufen von Amazon-Daten mit Keep API # 1 Abrufen von Daten
Versuchen Sie, Statistiken mit e-Stat abzurufen
Holen Sie sich Daten von Twitter mit Tweepy
Backtrace mit DWARF-Informationen und Pyelftools
Holen Sie sich den Dateipfad mit Pathlib
Postleitzahlinformationen mit Funken extrahieren
Holen Sie sich Wetterinformationen mit Python & Scraping