Le nombre de clones est disponible pour les utilisateurs autorisés en grattant avec un nom d'utilisateur / mot de passe Github, tout comme le nombre de téléchargements de fichiers d'actifs dans les versions . Il ne semble pas possible d'obtenir le nombre de clones à partir des dépôts publics ou de télécharger des statistiques sur des fichiers non actifs (c'est-à-dire des dépôts tar.gzet des zipfichiers).
Allen Luce
1
Pour quiconque lit les réponses, tous les scripts donnés ci-dessous fournissant la version download_count sont faux, car ils ne prennent pas en compte le système de pagination de GitHub, et ne donnent le total que pour les 30 dernières versions,
API /repos/:owner/:repo/traffic/clones, pour obtenir le nombre total de clones et de ventilation par jour ou par semaine, mais: uniquement pour les 14 derniers jours.
API /repos/:owner/:repo/releases/:release_idpour obtenir le nombre de téléchargements de vos ressources (fichiers joints à la version), champ download_countmentionné ci-dessous, mais, comme commenté , uniquement pour les 30 versions les plus récentes.
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 ces informations (si elles sont enregistrées du tout), car je ne les vois pas dans l' API du référentiel GitHub :
$ 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 a des téléchargements ou non.
Cela inclut-il les téléchargements ZIP ou simplement les clones?
MarzSocks
1
@MarzSocks si vous parlez du download_countchamp de l'API de version, cela devrait inclure le nombre de téléchargements de versions (qui ne sont pas toujours zip et ne sont pas des clones)
VonC
@MarzSocks si vous parlez de "nombre de clones", cela ne devrait pas inclure les téléchargements zip. Seulement les git cloneinstances. Vérifiez auprès de l'assistance GitHub pour confirmation.
Je continue à recevoir des messages "Il n'y a pas de versions pour ce projet" ou "Le projet n'existe pas". Qu'est-ce que je me trompe?
Alex
Je reçois le même message. Cela ne peut pas être vrai.
cryptic0
3
Oui. Moi aussi. Il semble que cette application a cessé de fonctionner il y a longtemps.
Daan van den Bergh le
1
Cette application n'est pas correcte, car elle n'inclut que les 30 versions les plus récentes fournies par GitHub dans une réponse d'API, comme détaillé ici: developer.github.com/v3/guides/traversing-with-pagination Il est nécessaire de parcourir les pages de le lien "suivant" donné dans l'en-tête pour calculer le total correct. Un exemple de dépôt est slamdata / quasar, où cette méthode donne un total totalement incorrect.
Qiri
L'application ne compte que les dépôts avec des versions
SM Pat
12
GitHub a abandonné la prise en charge du téléchargement et prend désormais en charge les `` versions '' - https://github.com/blog/1547-release-your-software . Pour créer une version, utilisez l'interface utilisateur de GitHub ou créez une balise annotée (http: // git-scm.com/book/ch2-6.html) et ajoutez-y des notes de publication dans GitHub. Vous pouvez ensuite télécharger des binaires, ou «actifs», dans chaque version.
Une fois que vous disposez de certaines versions, l'API GitHub prend en charge l'obtention d'informations à leur sujet et sur leurs actifs.
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, elle peut donc changer.
Merci! Mes Repo ne semblent pas avoir un tel champ, même avec certaines balises définies comme "releases" - cela ne compte pas les téléchargements des versions compressées / tarballées (ou le champ est omis si count=0)? Ou affiche 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
Demis
Le nombre de téléchargements n'est disponible que pour les ressources de version, pas pour les archives de code source de la balise. Si vous regardez les URL de bootstrap que j'ai fournies ci-dessus, elles ont un bootstrap-XYZ-dist.zipatout auquel le download_countchamp se rapporte. Si vous voulez voir combien de personnes téléchargent une version, vous devez télécharger un zip de version. 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. La vue graphique (de stackoverflow.com/a/4339085/2634854 ci-dessus) peut vous donner ce que vous recherchez.
andyberry88
Merci de clarifier. Les graphiques sont en effet utiles.
Demis
12
Le nombre de VISITEURS doit être disponible sous votre tableau de bord> Trafic (ou statistiques ou insights):
Auparavant, il existait deux méthodes de téléchargement de code dans Github: cloner ou télécharger en 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 (cloner ou télécharger sous forme de zip), Github ne compte pas le nombre de téléchargements pour les limitations 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 que la page Web utilise pour afficher le dépôt dans le navigateur. Il est très difficile de le compter.
Récemment, Github a abandonné la fonctionnalité de téléchargement. C'est parce qu'ils comprennent que Github se concentre sur la création de logiciels et non sur la distribution de binaires.
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 par ligne de commande.
N'importe où je peux voir un exemple de cela en cours d'utilisation? Peut-il être ajouté à un badge Github? Sinon, serait-il possible d'utiliser Google Analytics pour obtenir le nombre de téléchargements sur le badge Github?
eonist
6
Très tard, mais voici la réponse que vous souhaitez:
L'API Github ne fournit plus les informations nécessaires. Jetez un œil à la page des communiqués , mentionnée dans la réponse de Stan Towianski . Comme nous en avons discuté dans les commentaires de cette réponse, l'API Github ne rapporte que les téléchargements de 1 des trois fichiers qu'il propose par version.
J'ai vérifié les solutions, fournies dans d'autres réponses à ces questions. La 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
Comme vous pouvez le voir clairement, 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 dépôt et vous verrez des choses comme:
Download Info:
mdcsvimporter.mxt(0.20MB) - Downloaded 37 times.
Last updated on 2015-03-26
Hélas, encore une fois seulement 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 download_count que l'API renvoie est loin d'être terminé de nos jours.
Notez que cela ne fonctionne que pour les fichiers binaires en version, pas pour le code source lui-même, ce qui signifie que si vous ne téléchargez pas d'autres fichiers à télécharger, cela ne comptera pas. Il utilise probablement l'API Github de la réponse de LeChosenOne.
JoniVR
3
J'ai fini par écrire un script de raclage pour trouver mon nombre de clones:
Cela récupérera les données du même point de terminaison que le graphique de clonage de Github utilise et en crachera les totaux. Les données incluent également les décomptes par jour, remplacez-les .summarypar juste .pour voir ces jolis imprimés.
Basé sur les réponses de VonC et de Michele Milidoni, j'ai créé ce bookmarklet qui affiche les statistiques de téléchargement des 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 politique de sécurité du contenu, les bookmarklets peuvent temporairement violer certaines directives CSP et peuvent ne pas fonctionner correctement lors de l'exécution sur github alors que CSP est activé.
Bien que ce soit fortement déconseillé, vous pouvez désactiver CSP dans Firefox comme solution de contournement temporaire. Ouvrez about: config et définissez security.csp.enable sur false.
Pour autant que je sache, github ne compte que le premier des trois fichiers que vous proposez au téléchargement, comme mdcsvimporter-beta-18.zip. Avez-vous déjà trouvé un moyen d'obtenir un nombre de téléchargements de choses comme v19.zip?
Jan Ehrhardt
Je n'ai que 3 versions pour md2015, et la v19 est la première à apparaître. v19 est venu après ce post, donc il n'est pas montré ici. Êtes-vous allé à l'url :-)? "download_count": 31, "created_at": "2015-03-26T04: 22: 13Z", "updated_at": "2015-03-26T04: 22: 13Z", "browser_download_url":
Salut. Je ne sais même pas d'où vous êtes venu avec ces URL de téléchargement, mais c'est une question pour github. Il ne semble compter que les fichiers que je publie (3), et même pas les fichiers zip source qu'il crée (2 autres par version). J'ai écrit une application Java pour moi-même que je lance pour passer cet appel, récupérer le json, analyser et afficher uniquement le nombre de téléchargements.
Stan Towianski
Dommage. Apparemment, Github ne fournit (plus?) Les informations dont nous avons besoin. Parmi les fichiers 3 * 3 que vous avez sur github.com/stant/mdcsvimporter2015/releases, il ne signale que le doenload_count du fichier de version lui-même, et non les fichiers * .tar.gz et * .zip. Je vais faire une réponse distincte car elle affecte toutes les autres solutions.
Jan Ehrhardt
1
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 d'origine, 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 du nombre de téléchargements de toutes les versions pour un référentiel GitHub.
Voici une solution python utilisant le pip install PyGithubpackage
from github import Github
g = Github("youroauth key") #create token from settings page
for repo in g.get_user().get_repos():
if repo.name == "yourreponame":
releases = repo.get_releases()
for i in releases:
if i.tag_name == "yourtagname":
for j in i.get_assets():
print("{} date: {} download count: {}".format(j.name, j.updated_at, j._download_count.value))
tar.gz
et deszip
fichiers).Réponses:
Mise à jour 2019:
La réponse d' Ustin indique:
/repos/:owner/:repo/traffic/clones
, pour obtenir le nombre total de clones et de ventilation par jour ou par semaine, mais: uniquement pour les 14 derniers jours./repos/:owner/:repo/releases/:release_id
pour obtenir le nombre de téléchargements de vos ressources (fichiers joints à la version), champdownload_count
mentionné ci-dessous, mais, comme commenté , uniquement pour les 30 versions les plus récentes.Mise à jour 2017
Vous pouvez toujours utiliser l' API GitHub pour obtenir le nombre de téléchargements de vos versions (ce qui n'est pas exactement ce qui a été demandé)
Voir « Obtenir une seule version », le
download_count
champ.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 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 le repo dans son Traffic Graph:
Voir " Clone Graphs "
Mise à jour octobre 2013
Comme mentionné ci - dessous par andyberry88 , et comme je l' ai détaillé en juillet dernier , GitHub propose désormais des versions (voir son API ), qui a un
download_count
champ .Michele Milidoni , dans sa réponse (votée pour) , utilise ce champ dans son script python .
( très petit extrait )
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 référentiel GitHub :
Vous pouvez seulement voir s'il a des téléchargements ou non.
la source
download_count
champ de l'API de version, cela devrait inclure le nombre de téléchargements de versions (qui ne sont pas toujours zip et ne sont pas des clones)git clone
instances. Vérifiez auprès de l'assistance GitHub pour confirmation.J'ai écrit une petite application Web en javascript pour afficher 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/
la source
GitHub a abandonné la prise en charge du téléchargement et prend désormais en charge les `` versions '' - https://github.com/blog/1547-release-your-software . Pour créer une version, utilisez l'interface utilisateur de GitHub ou créez une balise annotée (http: // git-scm.com/book/ch2-6.html) et ajoutez-y des notes de publication dans GitHub. Vous pouvez ensuite télécharger des binaires, ou «actifs», dans chaque version.
Une fois que vous disposez de certaines versions, l'API GitHub prend en charge l'obtention d'informations à leur sujet et sur leurs actifs.
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, elle peut donc changer.
Mise à jour de novembre 2013:
L'API des versions de GitHub est maintenant hors 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, cela ne fera aucun mal de continuer à ajouter l'en-tête «Accept».
la source
downloads
champ dans les assets (du moins en utilisant cette technique)?download_count
est le champ qui indique le nombre de téléchargements - par exemple dans api.github.com/repos/twbs/bootstrap/releases . Il est à noter que seules les «versions» apparaîtront dans cette liste, les balises qui apparaissent dans la page des versions d'un dépôt n'apparaissent pas dans la liste des API, voir developer.github.com/v3/repos/releases . Par exemple, github.com/jquery/jquery/releases répertorie plusieurs balises sous la section releases mais une liste vide est renvoyée pour api.github.com/repos/jquery/jquery/releases .count=0
)? Ou affiche uniquement le champ pour les demandes de clonage? Voir ceci, sansdownload_count
: api.github.com/repos/demisjohn/pytrimsetup/releases . La page github pour cela est ici: github.com/demisjohn/pyTRIMSetup/releasesbootstrap-XYZ-dist.zip
atout auquel ledownload_count
champ se rapporte. Si vous voulez voir combien de personnes téléchargent une version, vous devez télécharger un zip de version. 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. La vue graphique (de stackoverflow.com/a/4339085/2634854 ci-dessus) peut vous donner ce que vous recherchez.Le nombre de VISITEURS doit être disponible sous votre tableau de bord> Trafic (ou statistiques ou insights):
la source
Auparavant, il existait deux méthodes de téléchargement de code dans Github: cloner ou télécharger en 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 (cloner ou télécharger sous forme de zip), Github ne compte pas le nombre de téléchargements pour les limitations 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 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/en/Git-on-the-Server-The-Protocols
Récemment, Github a abandonné la fonctionnalité de téléchargement. C'est parce qu'ils comprennent que Github se concentre sur la création de logiciels et non sur la distribution de binaires.
Voir: https://github.com/blog/1302-goodbye-uploads
la source
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 par ligne de commande.
la source
Très tard, mais voici la réponse que vous souhaitez:
Ensuite, trouvez l'ID du projet que vous recherchez dans les données. Il devrait être près du haut, à côté des URL. Ensuite, accédez à
Le champ nommé download_count est votre réponse.
EDIT: Les majuscules comptent dans votre nom d'utilisateur et le nom de votre projet
la source
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3" }
L'API Github ne fournit plus les informations nécessaires. Jetez un œil à la page des communiqués , mentionnée dans la réponse de Stan Towianski . Comme nous en avons discuté dans les commentaires de cette réponse, l'API Github ne rapporte que les téléchargements de 1 des trois fichiers qu'il propose par version.
J'ai vérifié les solutions, fournies dans d'autres réponses à ces questions. La 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
Comme vous pouvez le voir clairement, 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 dépôt et vous verrez des choses comme:
Hélas, encore une fois seulement 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 download_count que l'API renvoie est loin d'être terminé de nos jours.
la source
Pour vérifier le nombre de téléchargements d'un fichier / package de version, vous pouvez aller sur 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 balise de version.
la source
J'ai fini par écrire un script de raclage pour trouver mon nombre de clones:
Cela récupérera les données du même point de terminaison que le graphique de clonage de Github utilise et en crachera les totaux. Les données incluent également les décomptes par jour, remplacez-les
.summary
par juste.
pour voir ces jolis imprimés.la source
Basé sur les réponses de VonC et de Michele Milidoni, j'ai créé ce bookmarklet qui affiche les statistiques de téléchargement des 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 politique de sécurité du contenu, les bookmarklets peuvent temporairement violer certaines directives CSP et peuvent ne pas fonctionner correctement lors de l'exécution sur github alors que CSP est activé.
la source
Pour essayer de rendre cela plus clair:
pour ce projet github: stant / mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
avec des versions sur
https://github.com/stant/mdcsvimporter2015/releases
allez sur 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":
ou en ligne de commande, faites:
wget --no-check-certificate https://api.github.com/repos/stant/mdcsvimporter2015/releases
la source
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 d'origine, 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 du nombre de téléchargements de toutes les versions pour un référentiel GitHub.Exemple:
la source
Réponse de 2019:
la source
J'avais créé une application Web qui affiche les statistiques de publication de GitHub dans un format propre: https://hanadigital.github.io/grev/
la source
Pour ceux qui ont besoin de la solution en Python, j'ai écrit un script simple.
Script Python:
Usage:
ghstats.py [user] [repo] [tag] [options]
Soutien:
la source
Voici une solution python utilisant le
pip install PyGithub
packagela source