Github: Posso vedere il numero di download per un repo?

In Github, c’è un modo per vedere il numero di download per un repo?

Aggiornamento 2017

Non c’è più una schermata del traffico che menziona il numero di cloni pronti contro termine.
Invece, devi affidarti a servizi di terze parti come GitItBack (su www.netguru.co/gititback ), ma anche questo non include il numero di cloni.

Puoi ancora utilizzare l’ API GitHub per ottenere il conteggio dei download per le tue versioni (che non è esattamente quello che è stato chiesto)
Vedi ” Ottieni una singola release “, il campo download_count .

Vedi anche http://www.somsubhra.com/github-release-stats , menzionato sotto .
Ad esempio, ecco il numero dell’ultima versione di Git per Windows

Rilascio Git 2.14.2


Aggiornamento agosto 2014

GitHub propone anche il numero di cloni per un repository nel suo Traffic Graph:
Vedi ” Grafici cloni ”

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


Aggiornamento ottobre 2013

Come accennato in seguito da andyberry88 , e come ho dettagliato lo scorso luglio , GitHub ora propone versioni (vedi la sua API ), che ha un campo download_count .

Michele Milidoni , nella sua risposta (upvoted) , usa quel campo nel suo script python .
( estratto molto piccolo )

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

Risposta originale (dicembre 2010)

Non sono sicuro che tu possa vedere quell’informazione (se è registrata affatto), perché non la vedo nell’API del repository 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 

Puoi vedere solo se ha download o meno.

Ho scritto una piccola applicazione web in javascript per mostrare il conteggio del numero di download di tutte le risorse nelle versioni disponibili di qualsiasi progetto su Github. Puoi provare l’applicazione qui: http://somsubhra.github.io/github-release-stats/

GitHub ha deprecato il supporto per il download e ora supporta “Releases” – https://github.com/blog/1547-release-your-software . Per creare una versione, utilizzare l’interfaccia utente GitHub o creare un tag annotato (http: // git-scm.com/book/ch2-6.html) e aggiungere note sulla versione in GitHub. È quindi ansible caricare i binari, o “risorse”, per ogni versione.

Dopo aver rilasciato alcune versioni, l’API GitHub supporta l’acquisizione di informazioni su di esse e sulle loro risorse.

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

Cerca la voce ‘download_count’. C’è più informazioni su http://developer.github.com/v3/repos/releases/ . Questa parte dell’API è ancora nel periodo di anteprima ATM, quindi potrebbe cambiare.

Aggiornamento novembre 2013:

L’API di GitHub è ora fuori dal periodo di anteprima, quindi l’intestazione “Accept” non è più necessaria – http://developer.github.com/changes/2013-11-04-releases-api-is-ficial/

Non farà alcun danno per continuare ad aggiungere l’intestazione ‘Accetta’ però.

Precedentemente, in Github esistevano due metodi di download del codice: clonare o scaricare come zip un repository .git o caricare un file (ad esempio, un file binario) per il download successivo.

Quando si scarica un repository (clone o download come zip), Github non conta il numero di download per limitazioni tecniche. Clonare un repository è un’operazione di sola lettura. Non è richiesta l’autenticazione. Questa operazione può essere eseguita tramite molti protocolli, incluso HTTPS, lo stesso protocollo utilizzato dalla pagina Web per mostrare il repository nel browser. È molto difficile contarlo.

Vedi: http://git-scm.com/book/en/Git-on-the-Server-The-Protocols

Recentemente, Github ha deprecato la funzionalità di download. Questo perché capiscono che Github è focalizzato nella creazione di software e non nella distribuzione di binari.

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

Come accennato, l’API GitHub restituisce il numero di download di versioni di file binari. Ho sviluppato un piccolo script per ottenere facilmente il conteggio dei download tramite la riga di comando.

A partire dal 2014, ottobre, ci sono i conti VISITOR disponibili:

inserisci la descrizione dell'immagine qui

L’API Github non fornisce più le informazioni necessarie. Dai un’occhiata alla pagina delle pubblicazioni , citata nella risposta di Stan Towianski . Come abbiamo discusso nei commenti a questa risposta, l’API Github riporta solo i download di uno dei tre file che offre per versione.

Ho controllato le soluzioni, fornite in alcune altre risposte a queste domande. La risposta di Vonc presenta la parte essenziale della soluzione di Michele Milidoni . Ho installato il suo script gdc con il seguente risultato

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

Come puoi vedere chiaramente, gdc non riporta il conteggio dei download dei file tar.gz e zip.

Se si desidera verificare senza installare nulla, provare la pagina Web in cui Somsubhra ha installato la soluzione, menzionata nella sua risposta . Inserisci ‘stant’ come nome utente Github e ‘mdcsvimporter2015’ come nome del repository e vedrai cose come:

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

Ahimè, ancora una volta solo una relazione senza i download dei file tar.gz e zip. Ho esaminato attentamente le informazioni che l’API di Github restituisce, ma non sono fornite da nessuna parte. Il download_count che l’API restituisce è tutt’altro che completo al giorno d’oggi.

Molto tardi, ma ecco la risposta che desideri:

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

Successivamente, trova l’id del progetto che stai cercando nei dati. Dovrebbe essere vicino alla parte superiore, accanto agli url. Quindi, vai a

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

Il campo denominato download_count è la tua risposta.

Basato sulle risposte VonC e Michele Milidoni, ho creato questo bookmarklet che mostra le statistiche sui download dei binari rilasciati github ospitati.

Nota: a causa di problemi con i browser relativi all’implementazione della politica di sicurezza dei contenuti, i bookmarklet possono violare temporaneamente alcune direttive CSP e in pratica potrebbero non funzionare correttamente durante l’esecuzione su github mentre CSP è abilitato.

Sebbene sia fortemente scoraggiato, puoi distriggersre CSP in Firefox come soluzione temporanea. Apri about: config e imposta security.csp.enable su false.

Ho finito per scrivere uno script raschietto per trovare il mio numero di cloni:

 #!/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' 

Raccoglierà i dati dallo stesso endpoint utilizzato dal grafico clone di Github e ne sputerà i totali. I dati includono anche i conteggi giornalieri, sostituiti con .summary con just . per vedere quelli ben stampati.

Come già affermato, puoi ottenere informazioni sui tuoi rilasci tramite l’API .

Per chi utilizza WordPress, ho sviluppato questo plugin: Download di GitHub . Ti consente di ottenere il conteggio del download, i link e altre informazioni per le versioni dei repository GitHub.

Per risolvere la domanda originale, lo shortcode [grd_count user="User" repo="MyRepo"] restituirà il numero di download per un repository. Questo numero corrisponde alla sum di tutti i valori di conteggio del download di tutte le versioni per un repository GitHub.

Esempio: Esempio

Per cercare di renderlo più chiaro:
per questo progetto github: stant / mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
con versioni a
https://github.com/stant/mdcsvimporter2015/releases

vai a http o https: (nota aggiunta “api.” e “/ repos”)
https://api.github.com/repos/stant/mdcsvimporter2015/releases

otterrai questo output JSON e puoi cercare “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" 

o sulla riga di comando:
wget –no-check-certificate https://api.github.com/repos/stant/mdcsvimporter2015/releases

Per coloro che hanno bisogno della soluzione in Python, ho scritto un semplice script.


Script Python:

  • GitHub Download Stats

Uso:

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

  • argomenti
  • Esempi

Supporto:

  • Supporta sia Python 2 che Python 3 immediatamente.
  • Può essere usato sia come modulo standalone che come modulo Python.