As contagens de clones estão disponíveis para usuários autorizados, raspando com um nome de usuário / senha do Github, assim como as contagens de downloads de arquivos de ativos nas versões . Não parece possível obter contagens de clones de repositórios públicos ou baixar estatísticas em arquivos que não são de ativos (por exemplo, repositórios tar.gze ziparquivos).
Allen Luce
1
Para quem lê as respostas, todos os scripts fornecidos abaixo, fornecendo o release download_count, estão errados, pois não levam em conta o sistema de paginação do GitHub e fornecem apenas o total dos 30 lançamentos mais recentes.
API /repos/:owner/:repo/traffic/clones, para obter o número total de clones e detalhamento por dia ou semana, mas: apenas nos últimos 14 dias.
API /repos/:owner/:repo/releases/:release_idpara obter o número de downloads de seus ativos (arquivos anexados ao release), campo download_countmencionado abaixo, mas, como comentado , apenas para os 30 releases mais recentes.
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")
Resposta original (dezembro de 2010)
Não tenho certeza de que você possa ver essas informações (se elas estiverem gravadas), porque não as vejo na API de repositório do 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
@MarzSocks se você está falando sobre o download_countcampo da API lançamento, que deve incluir o número de downloads de libertação (que nem sempre são zip, e não são clones)
VonC
@MarzSocks se você estiver falando sobre "número de clones", que não deve incluir os downloads de zip. Somente as git cloneinstâncias. Verifique com o suporte do GitHub para confirmação.
Continuo recebendo mensagens 'Não há lançamentos para este projeto' ou 'O projeto não existe'. O que eu estou errado?
28515 Alex
Estou recebendo a mesma mensagem. Isso não pode estar certo.
precisa saber é o seguinte
3
Sim. Eu também. Parece que este aplicativo parou de funcionar há muito tempo.
Daan van den Bergh
1
Este aplicativo não está correto, pois inclui apenas as 30 versões mais recentes fornecidas pelo GitHub em uma resposta da API, conforme detalhado aqui: developer.github.com/v3/guides/traversing-with-pagination É necessário percorrer as páginas de o link "próximo" fornecido no cabeçalho para calcular o total correto. Um exemplo de repositório é slamdata / quasar, em que esse método fornece um total totalmente incorreto.
Qiri 16/01/19
O aplicativo conta apenas repositórios com lançamentos
SM Pat
12
O GitHub descontinuou o suporte ao download e agora suporta 'Lançamentos' - https://github.com/blog/1547-release-your-software . Para criar uma versão, use a interface do usuário do GitHub ou crie uma tag anotada (http: // git-scm.com/book/ch2-6.html) e adicione notas de versão no GitHub. Você pode fazer upload de binários, ou 'ativos', para cada release.
Depois de ter alguns lançamentos, a API do GitHub suporta a obtenção de informações sobre eles e seus ativos.
Procure a entrada 'download_count'. Há mais informações em http://developer.github.com/v3/repos/releases/ . Esta parte da API ainda está no período de visualização ATM, portanto pode ser alterada.
Obrigado! Meus repositórios não parecem ter esse campo, mesmo com algumas tags definidas como "releases" - isso não conta os downloads dos releases compactados / compactados (ou o campo será omitido se count=0)? Ou mostra apenas o campo para solicitações de clone? Veja isto, sem download_count: api.github.com/repos/demisjohn/pytrimsetup/releases . A página do github está aqui: github.com/demisjohn/pyTRIMSetup/releases
Demis
As contagens de download estão disponíveis apenas para recursos de liberação, não para os arquivos de código-fonte da tag. Se você olhar para os URLs de bootstrap que forneci acima, eles têm um bootstrap-XYZ-dist.zipativo ao qual o download_countcampo se refere. Se você quiser ver quantas pessoas estão baixando uma versão, é necessário fazer o upload de um zip de liberação. Tanto quanto sei, não há como ver quantas pessoas clonaram / fizeram o download de um arquivo morto por meio da API. A exibição de gráficos (de stackoverflow.com/a/4339085/2634854 acima) pode fornecer o que você está buscando.
precisa saber é o seguinte
Obrigado por esclarecer. Os gráficos são realmente úteis.
Demis
12
A contagem de VISITANTES deve estar disponível em seu painel> Tráfego (ou estatísticas ou informações):
Anteriormente, havia dois métodos de código de download no Github: clonar ou fazer o download como zip em um repositório .git ou fazer upload de um arquivo (por exemplo, um binário) para download posterior.
Ao baixar um repositório (clonar ou baixar como zip), o Github não conta o número de downloads por limitações técnicas. Clonar um repositório é uma operação somente leitura. Não há autenticação necessária. Essa operação pode ser realizada por meio de vários protocolos, incluindo HTTPS, o mesmo protocolo que a página da Web usa para mostrar o repositório no navegador. É muito difícil contar.
Recentemente, o Github descontinuou a funcionalidade de download. Isso ocorreu porque eles entendem que o Github está focado na criação de software, e não na distribuição de binários.
Como mencionado, a API do GitHub retorna a contagem de downloads de lançamentos de arquivos binários. Desenvolvi um pequeno script para obter facilmente a contagem de downloads por linha de comando.
Em qualquer lugar eu posso ver um exemplo disso em uso? Pode ser adicionado a um selo do Github? Caso contrário, seria possível usar o Google Analytics para obter a contagem de downloads do selo do Github de alguma forma?
eonist
6
Muito tarde, mas aqui está a resposta que você deseja:
como é que os meus bens não tem nenhum conteúdo, mostrando apenas "[]"
Griffan
Você digitou tudo corretamente? Verifique se você possui liberações e está verificando o projeto correto.
LeChosenOne
Eu descobrir que eles só manter o controle de arquivos binários na liberação, não fonte tarball código ou zip, que suga
Griffan
Sim. Um release é um binário a ser entregue a outras pessoas, não o código fonte para os desenvolvedores.
LeChosenOne
5
Isso ainda funciona? Estou recebendo:{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3" }
eonist
5
A API do Github não fornece mais as informações necessárias. Dê uma olhada na página de lançamentos , mencionada na resposta de Stan Towianski . Conforme discutimos nos comentários a essa resposta, a API do Github apenas relata os downloads de um dos três arquivos que ele oferece por release.
Eu verifiquei as soluções, fornecidas em outras respostas a estas perguntas. A resposta de Vonc apresenta a parte essencial da solução de Michele Milidoni . Eu instalei o script gdc com o seguinte resultado
Como você pode ver claramente, o gdc não informa a contagem de downloads dos arquivos tar.gz e zip.
Se você quiser verificar sem instalar nada, tente a página da Web em que Somsubhra instalou a solução, mencionada em sua resposta . Preencha 'stant' como nome de usuário do Github e 'mdcsvimporter2015' como nome do Repositório e você verá coisas como:
Download Info:
mdcsvimporter.mxt(0.20MB) - Downloaded 37 times.
Last updated on 2015-03-26
Infelizmente, mais uma vez, apenas um relatório sem os downloads dos arquivos tar.gz e zip. Examinei cuidadosamente as informações que a API do Github retorna, mas elas não são fornecidas em nenhum lugar. O download_count que a API retorna está longe de ser completo hoje em dia.
Observe que isso funciona apenas para arquivos binários na versão, não para o próprio código-fonte, o que significa que, se você não fizer upload de outros arquivos a serem baixados, isso não será contado. Provavelmente está usando a API do Github da resposta do LeChosenOne.
JoniVR 11/02/19
3
Acabei escrevendo um script de raspador para encontrar minha contagem de clones:
Isso irá capturar os dados do mesmo ponto final que o gráfico de clones do Github usa e cuspir os totais a partir dele. Os dados também incluem contagens por dia, substitua .summarypor apenas .para ver aquelas bem impressas.
Com base nas respostas VonC e Michele Milidoni, criei este bookmarklet que exibe estatísticas de downloads de binários liberados hospedados no github.
Nota: Devido a problemas nos navegadores relacionados à implementação da Política de Segurança de Conteúdo, os bookmarklets podem violar temporariamente algumas diretivas do CSP e basicamente podem não funcionar corretamente quando executados no github enquanto o CSP está ativado.
Embora seja altamente desencorajado, você pode desativar o CSP no Firefox como uma solução temporária. Abra about: config e defina security.csp.enable como false.
Até onde eu vejo, o github conta apenas o primeiro dos três arquivos que você oferece para download, como mdcsvimporter-beta-18.zip. Você já encontrou uma maneira de obter um número de download de coisas como v19.zip?
Jan Ehrhardt
Eu tenho apenas três versões para o md2015 e a v19 é a primeira a ser exibida. A v19 veio após esta postagem, portanto não é mostrada aqui. Você foi ao URL :-)? "download_count": 31, "created_at": "2015-03-26T04: 22: 13Z", "updated_at": "2015-03-26T04: 22: 13Z", "browser_download_url":
Oi. Não tenho certeza de onde você criou esses URLs de download, mas essa é uma pergunta para o github. Parece apenas contar os arquivos que libero (3), e nem mesmo os arquivos zip de origem que ele cria (outros 2 por meu release). Eu escrevi um aplicativo java para mim mesmo que corro para fazer essa ligação, recuperar o json e analisar e mostrar apenas a contagem de downloads.
Stan Towianski
Que pena. Aparentemente, o Github não está fornecendo as informações que precisamos (mais?). Dos 3 * 3 arquivos que você tem em github.com/stant/mdcsvimporter2015/releases, ele apenas relata o doenload_count do arquivo de lançamento, não dos arquivos * .tar.gz e * .zip. Farei uma resposta separada, pois afeta todas as outras soluções.
Para quem usa o WordPress, desenvolvi este plugin: Downloads de versão do GitHub . Ele permite que você obtenha a contagem de downloads, links e mais informações para lançamentos de repositórios do GitHub.
Para resolver a questão original, o código curto [grd_count user="User" repo="MyRepo"]retornará o número de downloads de um repositório. Esse número corresponde à soma de todos os valores da contagem de downloads de todas as versões de um repositório GitHub.
Aqui está uma solução python usando o pip install PyGithubpacote
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
ezip
arquivos).Respostas:
Atualização 2019:
A resposta de Ustin aponta para:
/repos/:owner/:repo/traffic/clones
, para obter o número total de clones e detalhamento por dia ou semana, mas: apenas nos últimos 14 dias./repos/:owner/:repo/releases/:release_id
para obter o número de downloads de seus ativos (arquivos anexados ao release), campodownload_count
mencionado abaixo, mas, como comentado , apenas para os 30 releases mais recentes.Atualização 2017
Você ainda pode usar a API do GitHub para obter a contagem de downloads de seus lançamentos (o que não é exatamente o que foi solicitado).
Consulte o campo " Obter um único release "
download_count
.Não há mais uma tela de tráfego mencionando o número de clones de recompra.
Em vez disso, você precisa contar com serviços de terceiros como:
www.netguru.co/gititback
), mas mesmo isso não inclui o número de clones.githubstats0
, mencionado abaixo por Aveek Saha .www.somsubhra.com/github-release-stats , mencionado abaixo .
Por exemplo, aqui está o número da versão mais recente do git para Windows
Atualização agosto de 2014
O GitHub também propõe o número de clones para repo no Gráfico de Tráfego:
Veja " Clone Graphs "
Atualização de outubro de 2013
Conforme mencionado abaixo por andyberry88 , e como eu detalhei em julho passado , o GitHub agora propõe lançamentos (veja sua API ), que possui um
download_count
campo .Michele Milidoni , em sua resposta (votada) , usa esse campo em seu script python .
( extrato muito pequeno )
Resposta original (dezembro de 2010)
Não tenho certeza de que você possa ver essas informações (se elas estiverem gravadas), porque não as vejo na API de repositório do GitHub :
Você só pode ver se ele possui downloads ou não.
fonte
download_count
campo da API lançamento, que deve incluir o número de downloads de libertação (que nem sempre são zip, e não são clones)git clone
instâncias. Verifique com o suporte do GitHub para confirmação.Eu escrevi um pequeno aplicativo da Web em javascript para mostrar a contagem do número de downloads de todos os ativos nas versões disponíveis de qualquer projeto no Github. Você pode experimentar o aplicativo aqui: http://somsubhra.github.io/github-release-stats/
fonte
O GitHub descontinuou o suporte ao download e agora suporta 'Lançamentos' - https://github.com/blog/1547-release-your-software . Para criar uma versão, use a interface do usuário do GitHub ou crie uma tag anotada (http: // git-scm.com/book/ch2-6.html) e adicione notas de versão no GitHub. Você pode fazer upload de binários, ou 'ativos', para cada release.
Depois de ter alguns lançamentos, a API do GitHub suporta a obtenção de informações sobre eles e seus ativos.
Procure a entrada 'download_count'. Há mais informações em http://developer.github.com/v3/repos/releases/ . Esta parte da API ainda está no período de visualização ATM, portanto pode ser alterada.
Atualizar novembro de 2013:
A API de lançamentos do GitHub agora está fora do período de visualização, portanto o cabeçalho 'Accept' não é mais necessário - http://developer.github.com/changes/2013-11-04-releases-api-is-official/
No entanto, não fará mal continuar adicionando o cabeçalho 'Aceitar'.
fonte
downloads
campo nos ativos (pelo menos usando esta técnica)?download_count
é o campo que indica o número de downloads - por exemplo, em api.github.com/repos/twbs/bootstrap/releases . Vale ressaltar que apenas 'releases' aparecerão nesta lista, as tags que aparecerem na página de releases de um repositório não aparecerão na listagem da API, consulte developer.github.com/v3/repos/releases . Por exemplo, github.com/jquery/jquery/releases lista várias tags na seção releases, mas uma lista vazia é retornada para api.github.com/repos/jquery/jquery/releases .count=0
)? Ou mostra apenas o campo para solicitações de clone? Veja isto, semdownload_count
: api.github.com/repos/demisjohn/pytrimsetup/releases . A página do github está aqui: github.com/demisjohn/pyTRIMSetup/releasesbootstrap-XYZ-dist.zip
ativo ao qual odownload_count
campo se refere. Se você quiser ver quantas pessoas estão baixando uma versão, é necessário fazer o upload de um zip de liberação. Tanto quanto sei, não há como ver quantas pessoas clonaram / fizeram o download de um arquivo morto por meio da API. A exibição de gráficos (de stackoverflow.com/a/4339085/2634854 acima) pode fornecer o que você está buscando.A contagem de VISITANTES deve estar disponível em seu painel> Tráfego (ou estatísticas ou informações):
fonte
Anteriormente, havia dois métodos de código de download no Github: clonar ou fazer o download como zip em um repositório .git ou fazer upload de um arquivo (por exemplo, um binário) para download posterior.
Ao baixar um repositório (clonar ou baixar como zip), o Github não conta o número de downloads por limitações técnicas. Clonar um repositório é uma operação somente leitura. Não há autenticação necessária. Essa operação pode ser realizada por meio de vários protocolos, incluindo HTTPS, o mesmo protocolo que a página da Web usa para mostrar o repositório no navegador. É muito difícil contar.
Consulte: http://git-scm.com/book/en/Git-on-the-Server-The-Protocols
Recentemente, o Github descontinuou a funcionalidade de download. Isso ocorreu porque eles entendem que o Github está focado na criação de software, e não na distribuição de binários.
Consulte: https://github.com/blog/1302-goodbye-uploads
fonte
Como mencionado, a API do GitHub retorna a contagem de downloads de lançamentos de arquivos binários. Desenvolvi um pequeno script para obter facilmente a contagem de downloads por linha de comando.
fonte
Muito tarde, mas aqui está a resposta que você deseja:
Em seguida, localize o ID do projeto que você está procurando nos dados. Deve estar perto do topo, próximo aos URLs. Em seguida, navegue até
O campo chamado download_count é sua resposta.
EDIT: maiúsculas importam em seu nome de usuário e nome do projeto
fonte
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3" }
A API do Github não fornece mais as informações necessárias. Dê uma olhada na página de lançamentos , mencionada na resposta de Stan Towianski . Conforme discutimos nos comentários a essa resposta, a API do Github apenas relata os downloads de um dos três arquivos que ele oferece por release.
Eu verifiquei as soluções, fornecidas em outras respostas a estas perguntas. A resposta de Vonc apresenta a parte essencial da solução de Michele Milidoni . Eu instalei o script gdc com o seguinte resultado
Como você pode ver claramente, o gdc não informa a contagem de downloads dos arquivos tar.gz e zip.
Se você quiser verificar sem instalar nada, tente a página da Web em que Somsubhra instalou a solução, mencionada em sua resposta . Preencha 'stant' como nome de usuário do Github e 'mdcsvimporter2015' como nome do Repositório e você verá coisas como:
Infelizmente, mais uma vez, apenas um relatório sem os downloads dos arquivos tar.gz e zip. Examinei cuidadosamente as informações que a API do Github retorna, mas elas não são fornecidas em nenhum lugar. O download_count que a API retorna está longe de ser completo hoje em dia.
fonte
Para verificar o número de vezes que um arquivo / pacote de lançamento foi baixado, acesse https://githubstats0.firebaseapp.com
Ele fornece uma contagem total de downloads e uma divisão do total de downloads por tag de lançamento.
fonte
Acabei escrevendo um script de raspador para encontrar minha contagem de clones:
Isso irá capturar os dados do mesmo ponto final que o gráfico de clones do Github usa e cuspir os totais a partir dele. Os dados também incluem contagens por dia, substitua
.summary
por apenas.
para ver aquelas bem impressas.fonte
Com base nas respostas VonC e Michele Milidoni, criei este bookmarklet que exibe estatísticas de downloads de binários liberados hospedados no github.
Nota: Devido a problemas nos navegadores relacionados à implementação da Política de Segurança de Conteúdo, os bookmarklets podem violar temporariamente algumas diretivas do CSP e basicamente podem não funcionar corretamente quando executados no github enquanto o CSP está ativado.
fonte
Para tentar deixar isso mais claro:
para este projeto do github: stant / mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
com lançamentos em
https://github.com/stant/mdcsvimporter2015/releases
vá para http ou https: (observação adicionada "api." e "/ repos")
https://api.github.com/repos/stant/mdcsvimporter2015/releases
você obterá essa saída json e poderá procurar por "download_count":
ou na linha de comando do:
wget --no-check-certificate https://api.github.com/repos/stant/mdcsvimporter2015/releases
fonte
Como já foi dito, você pode obter informações sobre seus Releases por meio da API .
Para quem usa o WordPress, desenvolvi este plugin: Downloads de versão do GitHub . Ele permite que você obtenha a contagem de downloads, links e mais informações para lançamentos de repositórios do GitHub.
Para resolver a questão original, o código curto
[grd_count user="User" repo="MyRepo"]
retornará o número de downloads de um repositório. Esse número corresponde à soma de todos os valores da contagem de downloads de todas as versões de um repositório GitHub.Exemplo:
fonte
Resposta de 2019:
fonte
Eu criei um aplicativo Web que mostra as estatísticas de lançamento do GitHub em um formato limpo: https://hanadigital.github.io/grev/
fonte
Para quem precisa da solução em Python, escrevi um script simples.
Script Python:
Uso:
ghstats.py [user] [repo] [tag] [options]
Apoio, suporte:
fonte
Aqui está uma solução python usando o
pip install PyGithub
pacotefonte