Sur Github, y a-t-il un moyen de voir le nombre de téléchargements pour un dépôt?
Est-ce que cela comprend des téléchargements ZIP ou juste des clones?
Sur Github, y a-t-il un moyen de voir le nombre de téléchargements pour un dépôt?
Update 2019:
/repos/:owner/:repo/traffic/clones
, pour obtenir le nombre total de clones et le décompte par jour ou par semaine, mais : seulement pour les 14 derniers jours./repos/:owner/:repo/releases/:release_id
pour obtenir le nombre de téléchargements de vos ressources (fichiers attachés à la release), le champ download_count
mentionné ci-dessous, mais, comme commenté, uniquement pour les 30 dernières releases..Update 2017
Vous pouvez toujours utiliser l' API Github pour 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 release", le champ download_count
.
Il n'y a plus d'écran de trafic mentionnant le nombre de clones de repo.
Au lieu de cela, vous devez vous fier à des services tiers comme :
GitItBack (à 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 (archive web), mentionné ci-dessous.
Par exemple, voici le nombre pour la dernière release de git pour Windows
Update août 2014
GitHub propose également le nombre de clones pour les repo dans son graphique de trafic :
Voir "Graphiques de clonage"
Update octobre 2013
Comme mentionné ci-dessous par andyberry88, et comme je l'ai détaillé en juillet dernier, GitHub propose désormais des releases (voir son API), qui possède un champ download_count
.
Michele Milidoni, dans sa réponse (upvotée), utilise ce champ dans son script python.
(extrait très court)
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']) +
" téléchargements")
Réponse originale (décembre 2010)
Je ne suis pas sûr que vous puissiez voir ces informations (si elles sont enregistrées du tout), car je ne les vois pas dans l'API du Repository GitHub :
$ curl http://github.com/api/v2/yaml/repos/show/schacon/grit
---
repository:
:name: grit
:owner: schacon
:source: mojombo/grit # Le repo original en haut de la pyramide
:parent: defunkt/grit # Le parent direct de ce repo
:description: Grit est une bibliothèque Ruby pour extraire des informations d'un
dépôt git de manière orientée objet - ce fork essaie de
intégrer autant de fonctionnalités purement Ruby que 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 ne pouvez voir que s'il y a des téléchargements ou non.
Adam Jagosz rapporte dans les commentaires:
J'ai réussi avec
curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/:user/:repo/releases
Quelques choses que j'avais mal :
- J'avais besoin d'une réelle release Github (pas juste un tag git, même si Github les affiche sous les releases, ugh).
- Et la release doit avoir un fichier asset autre que la source zippée ajoutée automatiquement pour obtenir le décompte des téléchargements.
@MarzSocks si vous parlez du champ download_count
de l'API de publication, cela devrait inclure le nombre de téléchargements de publication (qui ne sont pas toujours des zip, et ne sont pas des clones)
@MarzSocks si vous parlez du "nombre de clones", cela ne devrait pas inclure les téléchargements zip. Seules les instances git clone
. Vérifiez avec le support de GitHub pour confirmation.
J'ai écrit une petite application web en JavaScript pour afficher le nombre de téléchargements de tous les éléments disponibles dans les versions disponibles de n'importe quel projet sur Github. Vous pouvez essayer l'application ici : http://somsubhra.github.io/github-release-stats/
Je continue de recevoir des messages indiquant "Il n'y a pas de versions pour ce projet" ou "Le projet n'existe pas". Qu'est-ce que je fais de travers ?
GitHub a supprimé la prise en charge des téléchargements et prend désormais en charge les 'Versions' - https://github.com/blog/1547-release-your-software. Pour créer une version, utilisez soit l'interface utilisateur GitHub, soit créez une balise annotée (http:// git-scm.com/book/ch2-6.html) et ajoutez des notes de version. Vous pouvez ensuite télécharger des binaires, ou 'assets', pour chaque version.
Une fois que vous avez des versions, l'API GitHub prend en charge l'obtention d'informations à leur sujet et sur leurs assets.
curl -i \
https://api.github.com/repos/:owner/:repo/releases \
-H "Accept: application/vnd.github.manifold-preview+json"
Recherchez l'entrée 'download_count'. Vous trouverez plus d'informations sur http://developer.github.com/v3/repos/releases/. Cette partie de l'API est encore en période de prévisualisation, donc elle peut être modifiée.
L'API des versions de GitHub est maintenant sortie de la période de prévisualisation, donc l'en-tête 'Accept' n'est plus nécessaire - http://developer.github.com/changes/2013-11-04-releases-api-is-official/
Cependant, il n'y a aucun inconvénient à continuer d'ajouter l'en-tête 'Accept'.
Ai-je tort de penser que GitHub ne montre actuellement plus de champ téléchargements
dans les ressources (du moins en utilisant cette technique) ?
Merci! Mes dépôts ne semblent pas avoir un tel champ, même avec certains tags définis comme "releases" - cela ne prend pas en compte les téléchargements des versions zippées/tarbalisées (ou le champ est omis si count=0
)? Ou montre uniquement le champ pour les demandes de clonage? Voir ceci, sans download_count
: api.github.com/repos/demisjohn/pytrimsetup/releases . La page github pour cela est ici: github.com/demisjohn/pyTRIMSetup/releases
Les comptes de téléchargement ne sont disponibles que pour les objets de publication, et non pour les archives du code source pour la balise. Si vous regardez les URL de bootstrap que j'ai fournies ci-dessus, elles ont un objet bootstrap-XYZ-dist.zip
qui est ce à quoi le champ download_count
se rapporte. Si vous voulez voir combien de personnes téléchargent une publication, vous devez télécharger une publication zip. Autant que je sache, il n'y a aucun moyen de voir combien de personnes ont cloné/téléchargé une archive via l'API. Cependant, la vue des graphiques (à partir de stackoverflow.com/a/4339085/2634854 ci-dessus) pourrait vous donner ce que vous cherchez.
Comme mentionné, l'API GitHub retourne le nombre de téléchargements des versions binaires des fichiers. 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 pour télécharger du code sur Github : cloner ou télécharger un dépôt .git au format zip, ou téléverser un fichier (par exemple, un binaire) pour un téléchargement ultérieur.
Lorsque vous téléchargez un dépôt (cloner ou télécharger au format zip), Github ne compte pas le nombre de téléchargements pour des limitations techniques. Cloner un dépôt est une opération en lecture seule. Aucune authentification n'est requise. Cette opération peut être effectuée via de nombreux protocoles, notamment HTTPS, le même protocole que la page web utilise pour afficher le dépôt dans le navigateur. Il est très difficile de le compter.
Voir : http://git-scm.com/book/fr/Le-serveur-Git-Les-protocoles
Récemment, Github a abandonné la fonctionnalité de téléchargement. Cela s'explique par le fait qu'ils comprennent que Github se concentre sur la construction de logiciels, et non sur la distribution de binaires.
Voir : https://github.com/blog/1302-au-revoir-t%C3%A9l%C3%A9versements
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Les décomptes de clones sont disponibles pour les utilisateurs autorisés en grattant avec un nom d'utilisateur et un mot de passe Github ainsi que les décomptes de téléchargements de fichiers d'actifs dans les versions. Il ne semble pas possible d'obtenir les décomptes de clones à partir de dépôts publics ou les statistiques de téléchargement sur les fichiers non-actifs (c'est-à-dire les fichiers
tar.gz
etzip
du dépôt).2 votes
À toute personne lisant les réponses, tous les scripts ci-dessous donnant le nombre de téléchargements de version publiée sont incorrects, car ils ne tiennent pas compte du système de pagination de GitHub, et ne donnent que le total pour les 30 versions les plus récentes.
0 votes
Oui @Qiri, tu as raison, j'ai trouvé une réponse alternative, je la poste ici.
0 votes
@Qiri Consultez ma réponse - trois solutions (Web, Node.js, Python) avec le support de pagination.