Dans Github, y a-t-il un moyen de voir le nombre de téléchargements pour un dépôt?
Mise à jour 2017
Vous pouvez toujours utiliser les API GitHub à obtenir le nombre de téléchargements pour vos releases (ce qui n'est pas exactement ce qui a été demandé).
Voir " Obtenir une seule version } _", le champ download_count
.
Il n'y a plus d'écran de trafic mentionnant le nombre de clones repo.
Au lieu de cela, vous devez faire appel à des services tiers tels que:
www.netguru.co/gititback
), mais même cela n'inclut pas le nombre de clones.githubstats0
, mentionné ci-dessous par Aveek Saha .
www.somsubhra.com/github-release-stats , mentionné ci-dessous .
Par exemple, voici le numéro de la dernière version de git pour Windows
Mise à jour août 2014
GitHub propose également le nombre de clones pour repo dans son graphique de trafic:
Voir " Graphes de clonage ".
Mise à jour d'octobre 2013
Comme mentionné ci-dessous par (andyberry88 , et comme je détaillé en juillet dernier , GitHub maintenant propose des versions _ (voir son API ), qui a un champ download_count
.
(Michele Milidoni } _, dans sa réponse (votante) , utilise ce champ dans son script python .
( très petit extrait )
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")
Réponse originale (décembre 2010)
Je ne suis pas sûr que vous puissiez voir cette information (si elle est enregistrée du tout), car je ne la vois pas dans la GitHub Repository API :
$ 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
Vous pouvez seulement voir s'il y a des téléchargements ou non.
J'ai écrit une petite application Web en javascript pour indiquer le nombre de téléchargements de tous les actifs dans les versions disponibles de tout projet sur Github. Vous pouvez essayer l'application ici: http://somsubhra.github.io/github-release-stats/
GitHub a déconseillé le support de téléchargement et supporte maintenant les 'versions' - https://github.com/blog/1547-release-your-software . Pour créer une version, utilisez l'interface utilisateur GitHub ou créez une balise annotée (http: // git-scm.com/book/ch2-6.html) et ajoutez-y des notes sur l'édition dans GitHub. Vous pouvez ensuite télécharger des fichiers binaires, ou "actifs", dans chaque version.
Une fois que vous avez quelques versions, l’API GitHub permet d’obtenir des informations à leur sujet et sur leurs ressources.
curl -i \
https://api.github.com/repos/:owner/:repo/releases \
-H "Accept: application/vnd.github.manifold-preview+json"
Recherchez l'entrée 'download_count'. Il y a plus d'informations sur http://developer.github.com/v3/repos/releases/ . Cette partie de l'API est toujours dans la période de prévisualisation ATM et peut donc changer.
L'API des versions de GitHub étant maintenant hors de la période de prévisualisation, l'en-tête "Accepter" n'est plus nécessaire - http://developer.github.com/changes/2013-11-04-releases-api-is-official/
Cela ne fera pas de mal de continuer à ajouter l'en-tête "Accepter".
Le nombre de visiteurs devrait être disponible sous votre tableau de bord> Trafic (ou statistiques ou informations):
Comme mentionné, l'API GitHub renvoie le nombre de téléchargements de versions de fichiers binaires. J'ai développé un petit script pour obtenir facilement le nombre de téléchargements en ligne de commande.
Auparavant, il y avait deux méthodes de téléchargement de code dans Github: cloner ou télécharger au format Zip un dépôt .git ou télécharger un fichier (par exemple, un binaire) pour un téléchargement ultérieur.
Lors du téléchargement d'un dépôt (clone ou au format Zip), Github ne compte pas le nombre de téléchargements pour des raisons techniques. Cloner un référentiel est une opération en lecture seule. Aucune authentification n'est requise. Cette opération peut être effectuée via de nombreux protocoles, y compris HTTPS, le même protocole utilisé par la page Web pour afficher le référentiel dans le navigateur. C'est très difficile de le compter.
Voir: http://git-scm.com/book/fr/Git-on-the-Server-The-Protocols
Récemment, Github a déconseillé la fonctionnalité de téléchargement. C'est parce qu'ils comprennent que Github se concentre sur la construction de logiciels et non sur la distribution de fichiers binaires.
Très tard, mais voici la réponse que vous voulez:
https://api.github.com/repos/ [git username] / [git project] /releases
Ensuite, recherchez l’identifiant du projet que vous recherchez dans les données. Il devrait être près du sommet, à côté des URL. Ensuite, accédez à
https://api.github.com/repos/ [git username] / [git project] /releases/ [id] / assets
Le champ nommé download_count est votre réponse.
EDIT: Les capitales comptent dans votre nom d'utilisateur et nom de projet
L'API Github ne fournit plus les informations nécessaires. Jetez un coup d'œil à la page des communiqués mentionnée dans la réponse de Stan Towianski . Comme nous l'avons expliqué dans les commentaires à cette réponse, l'API Github ne signale que le téléchargement de l'un des trois fichiers proposés par version.
J'ai vérifié les solutions, fournies dans d'autres réponses à cette question. _ { Réponse de Vonc } _ présente l'essentiel de la solution de Michele Milidoni . J'ai installé son script gdc avec le résultat suivant
# ./gdc stant
mdcsvimporter.mxt: 37 downloads
mdcsvimporter.mxt: 80 downloads
How-to-use-mdcsvimporter-beta-16.Zip: 12 downloads
Comme vous pouvez le constater, gdc ne rapporte pas le nombre de téléchargements des fichiers tar.gz et Zip.
Si vous voulez vérifier sans rien installer, essayez la page Web où Somsubhra a installé la solution, mentionnée dans sa réponse . Remplissez 'stant' comme nom d'utilisateur Github et 'mdcsvimporter2015' comme nom de référentiel.
Download Info:
mdcsvimporter.mxt(0.20MB) - Downloaded 37 times.
Last updated on 2015-03-26
Hélas, encore une fois, un rapport sans les téléchargements des fichiers tar.gz et Zip. J'ai soigneusement examiné les informations renvoyées par l'API de Github, mais elles ne sont fournies nulle part. Le nombre de téléchargements que l'API renvoie est loin d'être complet.
Pour vérifier le nombre de fois qu'un fichier/package de version a été téléchargé, vous pouvez aller à https://githubstats0.firebaseapp.com
Il vous donne un nombre total de téléchargements et une répartition du nombre total de téléchargements par étiquette de version.
J'ai fini par écrire un script racleur pour trouver le nombre de clones:
#!/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'
Cela récupérera les données du même point de terminaison que le graphe de clonage de Github et en extraira les totaux. Les données incluent également les décomptes par jour, remplacez .summary
par juste .
pour voir les jolies imprimées.
Sur la base des réponses de VonC et de Michele Milidoni, j’ai créé ce bookmarklet qui affiche les statistiques de téléchargement des fichiers binaires publiés hébergés par github.
Remarque: En raison de problèmes avec les navigateurs liés à la mise en œuvre de la stratégie de sécurité du contenu, les bookmarklets peuvent temporairement enfreindre certaines directives CSP et risquent de ne pas fonctionner correctement lors de l'exécution sur github lorsque CSP est activé.
Bien que cela soit fortement déconseillé, vous pouvez désactiver CSP dans Firefox en tant que solution de contournement temporaire. Ouvrez up about: config et définissez security.csp.enable à faux.
Comme déjà indiqué, vous pouvez obtenir des informations sur vos Versions via l’API .
Pour ceux qui utilisent WordPress, j'ai développé ce plugin: GitHub Release Downloads. Il vous permet d’obtenir le nombre de téléchargements, des liens et plus d’informations sur les versions des référentiels GitHub.
Pour répondre à la question initiale, le shortcode [grd_count user="User" repo="MyRepo"]
renverra le nombre de téléchargements pour un référentiel. Ce nombre correspond à la somme de toutes les valeurs de nombre de téléchargements de toutes les versions d'un référentiel GitHub.
Exemple:
Pour essayer de rendre cela plus clair:
pour ce projet github: stant/mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
avec des rejets à
https://github.com/stant/mdcsvimporter2015/releases
aller à http ou https: (note ajoutée "api." et "/ repos")
https://api.github.com/repos/stant/mdcsvimporter2015/releases
vous obtiendrez cette sortie JSON et vous pourrez rechercher "download_count":
"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"
ou en ligne de commande faire:
wget --no-check-certificate https://api.github.com/repos/stant/mdcsvimporter2015/releases
Pour ceux qui ont besoin de la solution en Python, j'ai écrit un script simple.
ghstats.py [user] [repo] [tag] [options]