it-swarm.com.de

Github: Kann ich die Anzahl der Downloads für ein Repo sehen?

Gibt es in Github eine Möglichkeit, die Anzahl der Downloads für ein Repo zu sehen? 

111
dhulihan

Update 2017

Sie können weiterhin die GitHub-API verwenden to um die Downloadanzahl für Ihre Veröffentlichungen zu erhalten (was nicht genau was wurde gefragt)
Siehe " Holen Sie sich ein einzelnes Release ", das Feld download_count.

Es gibt keinen Verkehrsbildschirm mehr, in dem die Anzahl der Repoklone angegeben ist.
Stattdessen müssen Sie sich auf Dienste von Drittanbietern verlassen:

 Git 2.14.2 release 


Update August 2014

GitHub schlägt auch die Anzahl der Klone für das Repo in seinem Traffic Graph vor:
Siehe " Clone Graphs "

http://i.stack.imgur.com/uycEZ.png


Update Oktober 2013

Wie bereits erwähnt unten von andyberry88 und wie ich im letzten Juli detailliert , schlägt GitHub jetzt Releases vor (siehe seine API ), die ein download_count -Feld hat .

Michele Milidoni , in seiner (upvoted) Antwort , benutzt dieses Feld in seinem python Skript .
( sehr kleiner Auszug )

c.setopt(c.URL, 'https://api.github.com/repos/' + full_name + '/releases')
for p in myobj:
    if "assets" in p:
        for asset in p['assets']:
            print (asset['name'] + ": " + str(asset['download_count']) +
                   " downloads")

Ursprüngliche Antwort (Dezember 2010)

Ich bin mir nicht sicher, ob Sie diese Informationen sehen können (falls sie überhaupt aufgezeichnet wurden), da ich sie in der GitHub Repository API nicht sehe:

$ curl http://github.com/api/v2/yaml/repos/show/schacon/grit
---
repository:
  :name: grit
  :owner: schacon
  :source: mojombo/grit # The original repo at top of the pyramid
  :parent: defunkt/grit # This repo's direct parent
  :description: Grit is a Ruby library for extracting information from a
  git repository in an object oriented manner - this fork tries to
  intergrate as much pure-Ruby functionality as possible
  :forks: 4
  :watchers: 67
  :private: false
  :url: http://github.com/schacon/grit
  :fork: true
  :homepage: http://grit.rubyforge.org/
  :has_wiki: true
  :has_issues: false
  :has_downloads: true

Sie können nur sehen, ob es Downloads gibt oder nicht.

98
VonC

Ich habe eine kleine Webanwendung in JavaScript geschrieben, um die Anzahl der Downloads aller Assets in den verfügbaren Versionen eines Projekts auf Github anzuzeigen. Sie können die Anwendung hier ausprobieren: http://somsubhra.github.io/github-release-stats/

70
Somsubhra

GitHub hat den Download-Support abgelehnt und unterstützt jetzt 'Releases' - https://github.com/blog/1547-release-your-software . Verwenden Sie zum Erstellen eines Releases entweder die GitHub-Benutzeroberfläche oder erstellen Sie ein mit Anmerkungen versehenes Tag (http: // git-scm.com/book/ch2-6.html) und fügen Sie diesem Release-Informationen in GitHub hinzu. Sie können dann Binärdateien oder "Assets" zu jeder Version hochladen.

Sobald Sie einige Releases haben, unterstützt die GitHub-API das Abrufen von Informationen zu diesen und ihren Assets.

curl -i \
https://api.github.com/repos/:owner/:repo/releases \
-H "Accept: application/vnd.github.manifold-preview+json"

Suchen Sie nach dem Eintrag 'download_count'. Weitere Informationen finden Sie unter http://developer.github.com/v3/repos/releases/ . Dieser Teil der API befindet sich noch im Vorschauzeitraum ATM, daher kann sich dies ändern.

Update November 2013:

Die Release-API von GitHub ist jetzt außerhalb des Vorschauzeitraums, sodass der Header "Accept" nicht mehr benötigt wird - http://developer.github.com/changes/2013-11-04-releases-api-is-official /

Es schadet jedoch nicht, weiterhin die Überschrift 'Accept' hinzuzufügen.

12
andyberry88

Die Anzahl der Besucher sollte unter Ihrem Dashboard> Verkehr (oder Statistiken oder Erkenntnisse) verfügbar sein:

enter image description here

8
T.Todua

Wie bereits erwähnt, gibt die GitHub-API die Anzahl der heruntergeladenen Binärdateien zurück. Ich habe ein kleines Skript entwickelt, um die Anzahl der Downloads per Kommandozeile zu ermitteln. 

7

Früher gab es zwei Methoden zum Herunterladen von Code in Github: Klonen oder Herunterladen eines .git-Repos als ZIP-Datei oder Laden einer Datei (z. B. einer Binärdatei) zum späteren Herunterladen.

Beim Herunterladen eines Repos (Klonen oder Herunterladen als Zip) zählt Github die Anzahl der Downloads aufgrund technischer Einschränkungen nicht. Ein Repository klonen ist schreibgeschützt. Es ist keine Authentifizierung erforderlich. Diese Operation kann über viele Protokolle ausgeführt werden, einschließlich HTTPS, desselben Protokolls, mit dem die Webseite das Repo im Browser anzeigt. Es ist sehr schwer zu zählen.

Siehe: http://git-scm.com/book/de/Git-on-the-Server-The-Protocols

Kürzlich wurde die Download-Funktionalität von Github nicht mehr unterstützt. Dies liegt daran, dass sie verstehen, dass Github sich auf das Erstellen von Software konzentriert und nicht auf die Verteilung von Binärdateien.

Siehe: https://github.com/blog/1302-goodbye-uploads

7

Sehr spät, aber hier ist die Antwort, die Sie wollen:

https://api.github.com/repos/ [git username] / [git project] /releases

Finden Sie als Nächstes die ID des gesuchten Projekts in den Daten. Es sollte sich oben in der Nähe der URLs befinden. Navigieren Sie dann zu

https://api.github.com/repos/ [git username] / [git project] /releases/ [id] / assets

Das Feld mit dem Namen download_count ist Ihre Antwort.

BEARBEITEN: Großbuchstaben sind in Ihrem Benutzernamen und Projektnamen von Bedeutung

6
LeChosenOne

Die Github-API liefert nicht mehr die erforderlichen Informationen. Werfen Sie einen Blick auf die Veröffentlichungsseite , erwähnt in Stan Towianskis Antwort . Wie wir in den Kommentaren zu dieser Antwort besprochen haben, meldet die Github-API nur die Downloads einer der drei Dateien, die er pro Release anbietet.

Ich habe die Lösungen geprüft und in einigen anderen Antworten auf diese Fragen gegeben. Voncs Antwort stellt den wesentlichen Teil von Michele Milidonis Lösung dar. Ich habe sein gdc-Skript mit dem folgenden Ergebnis installiert

# ./gdc stant
mdcsvimporter.mxt: 37 downloads
mdcsvimporter.mxt: 80 downloads
How-to-use-mdcsvimporter-beta-16.Zip: 12 downloads

Wie Sie deutlich erkennen können, meldet gdc nicht die Download-Anzahl der tar.gz- und zip-Dateien.

Wenn Sie überprüfen möchten, ohne etwas zu installieren, probieren Sie die Webseite , auf der Somsubhra die Lösung installiert hat, die in seiner Antwort erwähnt wird. Geben Sie als Github-Benutzernamen "stant" und als Repository-Name "mdcsvimporter2015" ein. Daraufhin wird Folgendes angezeigt:

Download Info:
mdcsvimporter.mxt(0.20MB) - Downloaded 37 times.
Last updated on 2015-03-26

Leider nur noch ein Bericht ohne die Downloads der tar.gz- und zip-Dateien. Ich habe die Informationen, die Githubs API zurückgibt, sorgfältig geprüft, aber sie werden nirgendwo bereitgestellt. Der Download-Zähler, den die API zurückgibt, ist heutzutage noch lange nicht abgeschlossen.

5
Jan Ehrhardt

Um zu überprüfen, wie oft eine Release-Datei Paket heruntergeladen wurde, gehen Sie zu/- https://githubstats0.firebaseapp.com

Sie erhalten eine Gesamtzahl der Downloads und eine Aufschlüsselung der Gesamtanzahl der Downloads pro Release-Tag.

3
Aveek Saha

Am Ende schrieb ich ein Scraper-Skript, um meine Klonzahl zu ermitteln:

#!/bin/sh
#
# This script requires:
#   apt-get install html-xml-utils
#   apt-get install jq
#
USERNAME=dougluce
PASSWORD="PASSWORD GOES HERE, BE CAREFUL!"
REPO="dougluce/node-autovivify"

TOKEN=`curl https://github.com/login -s -c /tmp/cookies.txt | \
     hxnormalize | \
     hxselect 'input[name=authenticity_token]' 2>/dev/null | \
     Perl -lne 'print $1 if /value=\"(\S+)\"/'`

curl -X POST https://github.com/session \
     -s -b /tmp/cookies.txt -c /tmp/cookies2.txt \
     --data-urlencode commit="Sign in" \
     --data-urlencode authenticity_token="$TOKEN" \
     --data-urlencode login="$USERNAME" \
     --data-urlencode password="$PASSWORD" > /dev/null

curl "https://github.com/$REPO/graphs/clone-activity-data" \
     -s -b /tmp/cookies2.txt \
     -H "x-requested-with: XMLHttpRequest" | jq '.summary'

Dadurch werden die Daten von demselben Endpunkt wie Githubs Klondiagramm abgerufen und die Summen daraus ausgespuckt. Zu den Daten gehören auch Tageszählungen. Ersetzen Sie .summary durch nur ., um die hübsch gedruckten Werte anzuzeigen.

3
Allen Luce

Basierend auf den Antworten von VonC und Michele Milidoni habe ich dieses Bookmarklet erstellt, das Download-Statistiken der von github gehosteten freigegebenen Binärdateien anzeigt.

Hinweis: Aufgrund von Problemen mit Browsern im Zusammenhang mit der Implementierung von Inhaltssicherheitsrichtlinien können Bookmarklets vorübergehend gegen einige CSP-Anweisungen verstoßen und funktionieren möglicherweise nicht ordnungsgemäß, wenn sie unter github ausgeführt werden, während CSP aktiviert ist.

Obwohl dies äußerst entmutigt ist, können Sie CSP in Firefox als .__ deaktivieren. temporärer Workaround. Öffnen Sie about: config und legen Sie security.csp.enable .__ fest. zu falsch.

2
jwaliszko

Wie bereits erwähnt, können Sie Informationen über Ihre Releases über die API erhalten.

Für diejenigen, die WordPress verwenden, habe ich dieses Plugin entwickelt: GitHub Release Downloads. Hiermit können Sie die Download-Anzahl, Links und weitere Informationen zu Releases von GitHub-Repositorys abrufen.

Um die ursprüngliche Frage zu beantworten, gibt der Kurzcode [grd_count user="User" repo="MyRepo"] die Anzahl der Downloads für ein Repository zurück. Diese Anzahl entspricht der Summe aller Download-Zählerwerte aller Releases für ein GitHub-Repository.

Beispiel: Example

1
IvanRF

Um dies klarer zu machen:
für dieses github-Projekt: stant/mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
mit Veröffentlichungen an
https://github.com/stant/mdcsvimporter2015/releases

gehe zu http oder https: (Anmerkung hinzugefügt "api." und "/ repos") 
https://api.github.com/repos/stant/mdcsvimporter2015/releases

sie erhalten diese Json-Ausgabe und können nach "download_count" suchen:

    "download_count": 2,
    "created_at": "2015-02-24T18:20:06Z",
    "updated_at": "2015-02-24T18:20:07Z",
    "browser_download_url": "https://github.com/stant/mdcsvimporter2015/releases/download/v18/mdcsvimporter-beta-18.Zip"

oder auf der Kommandozeile:
wget --no-check-certificate https://api.github.com/repos/stant/mdcsvimporter2015/releases

0
Stan Towianski

Für diejenigen, die die Lösung in Python benötigen, habe ich ein einfaches Skript geschrieben.


Python-Skript:


Verwendungszweck:

ghstats.py [user] [repo] [tag] [options]


Unterstützung:

  • Unterstützt sowohl Python 2 als auch Python 3 aus der Box.
  • Kann sowohl als Standalone- als auch als Python-Modul verwendet werden.
0
kefir500