Количество клонов доступно для авторизованных пользователей путем сбора имени пользователя и пароля Github, а также количества загрузок файлов ресурсов в выпусках . Кажется невозможным получить количество клонов из общедоступных репозиториев или загрузить статистику по файлам, не относящимся к активам (т. Е. Репо tar.gzи zipфайлы).
Аллен Люс
1
Для всех, кто читает ответы, все приведенные ниже сценарии, предоставляющие выпуск release_count, неверны, так как они не учитывают систему разбивки на страницы GitHub и дают только общее количество за последние 30 выпусков,
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")
Оригинальный ответ (декабрь 2010 г.)
Я не уверен, что вы можете видеть эту информацию (если она вообще записана), потому что я не вижу ее в 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
Вы можете только видеть, есть ли у него загрузки или нет.
Это включает в себя загрузку ZIP или только клоны?
MarzSocks
1
@MarzSocks, если вы говорите о download_countполе API релиза, которое должно включать количество загрузок релиза (которые не всегда являются zip-файлами и не являются клонами)
VonC
@MarzSocks, если вы говорите о «количестве клонов», это не должно включать в себя загрузки zip. Только git cloneэкземпляры. Проверьте с поддержкой GitHub для подтверждения.
Я продолжаю получать сообщения «Для этого проекта нет релизов» или «Проект не существует». Что я не прав?
Алекс
Я получаю то же сообщение. Это не может быть правдой.
cryptic0
3
Ага. Я тоже. Кажется, это приложение перестало работать давным-давно.
Даан ван ден Берг
1
Это приложение неверно, поскольку оно включает только 30 последних выпусков, предоставленных GitHub в ответе API, как подробно описано здесь: developer.github.com/v3/guides/traversing-with-pagination Необходимо перебирать страницы из ссылка «Следующая», указанная в заголовке, чтобы рассчитать правильную сумму. Примером репо является slamdata / quasar, где этот метод дает чрезвычайно неверный итог.
Цири
Приложение считает только репо с выпусками
SM Pat
12
GitHub отказался от поддержки загрузки и теперь поддерживает «Релизы» - https://github.com/blog/1547-release-your-software . Чтобы создать выпуск, используйте пользовательский интерфейс GitHub или создайте аннотированный тег (http: // git-scm.com/book/ch2-6.html) и добавьте примечания к выпуску в GitHub. Затем вы можете загружать двоичные файлы или «активы» в каждую версию.
Когда у вас есть несколько выпусков, GitHub API поддерживает получение информации о них и их активах.
Ищите запись «download_count». Theres больше информации в http://developer.github.com/v3/repos/releases/ . Эта часть API все еще находится в периоде предварительного просмотра ATM, поэтому она может измениться.
Спасибо! В моих репо, похоже, нет такого поля, даже если некоторые теги установлены как «релизы» - это не учитывает загрузку сжатых / tarballed выпусков (или поле опускается, если count=0)? Или показывает только поле для запросов клонов? Смотрите это без download_count: api.github.com/repos/demisjohn/pytrimsetup/releases . Страница github для этого находится здесь: github.com/demisjohn/pyTRIMSetup/releases
Демис
Количество загрузок доступно только для ресурсов выпуска, но не для архивов исходного кода для тега. Если вы посмотрите на приведенные выше URL-адреса начальной загрузки, у них есть bootstrap-XYZ-dist.zipактив, к которому относится download_countполе. Если вы хотите узнать, сколько людей скачивают релиз, вам нужно загрузить ZIP-релиз релиза. Насколько я знаю, нет способа узнать, сколько людей клонировали / загрузили архив через API. Представление графиков (из stackoverflow.com/a/4339085/2634854 выше) может дать вам то, что вы ищете, хотя.
andyberry88
Спасибо за разъяснение. Графики действительно полезны.
Демис
12
Счет ПОСЕТИТЕЛЯ должен быть доступен под вашей информационной панелью> Трафик (или статистика или аналитика):
Раньше в Github было два способа загрузки кода: клонирование или загрузка в виде zip-репозитория .git или загрузка файла (например, двоичного файла) для последующей загрузки.
При загрузке репозитория (клонирование или загрузка в формате zip) Github не считает количество загрузок из-за технических ограничений. Клонирование репозитория является операцией только для чтения. Там нет аутентификации требуется. Эта операция может быть выполнена с помощью многих протоколов, включая HTTPS, того же протокола, который веб-страница использует для отображения репо в браузере. Это очень сложно сосчитать.
В последнее время Github отказался от функциональности загрузки. Это потому, что они понимают, что Github сосредоточен на создании программного обеспечения, а не на распространении двоичных файлов.
Как уже упоминалось, GitHub API возвращает количество загрузок выпусков двоичных файлов. Я разработал небольшой скрипт для простого подсчета загрузок в командной строке.
Где-нибудь я могу увидеть пример этого в использовании? Можно ли добавить его к значку Github? Если нет, то можно ли было бы использовать Google Analytics для подсчета количества загрузок на значок Github?
почему мои активы не имеют контента, только показывают "[]"
Griffan
Вы все правильно напечатали? Убедитесь, что у вас есть выпуски и вы проверяете правильный проект.
LeChosenOne
Я обнаружил, что они следят только за бинарными файлами в выпуске, а не за исходным кодом tarball или zip, что отстой
Griffan
Ага. Релиз - это бинарный файл, который раздается другим, а не исходный код для разработчиков.
LeChosenOne
5
Это все еще работает? Я получаю:{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3" }
eonist
5
Github API больше не предоставляет необходимую информацию. Взгляните на страницу релизов , упомянутую в ответе Стэна Тоуянски . Как мы уже обсуждали в комментариях к этому ответу, API Github сообщает только о загрузках 1 из трех файлов, которые он предлагает в каждой версии.
Я проверил решения, предоставленные в некоторых других ответах на эти вопросы. Ответ Вонка представляет существенную часть решения Микеле Милидони . Я установил его скрипт gdc со следующим результатом
Как вы можете ясно видеть, gdc не сообщает количество загрузок файлов tar.gz и zip.
Если вы хотите проверить, не устанавливая что-либо, попробуйте веб-страницу, где Somsubhra установила решение, упомянутое в его ответе . Заполните 'stant' в качестве имени пользователя Github и mdcsvimporter2015 в качестве имени репозитория, и вы увидите такие вещи, как:
Download Info:
mdcsvimporter.mxt(0.20MB) - Downloaded 37 times.
Last updated on 2015-03-26
Увы, еще раз только отчет без скачивания tar.gz и zip файлов. Я тщательно изучил информацию, которую возвращает API Github, но она нигде не предоставляется. Количество загрузок, которое API возвращает, далеко не завершено в настоящее время.
Обратите внимание, что это работает только для двоичных файлов в выпуске, но не для самого исходного кода, что означает, что если вы не загрузите другие файлы для загрузки, это не будет учитываться. Вероятно, он использует Github API из ответа LeChosenOne.
JoniVR
3
В итоге я написал скрипт-скребок, чтобы узнать количество клонов:
Это позволит получить данные из той же конечной точки, которую использует граф клонов Github, и выплеснуть итоговые данные из нее. Данные также включают ежедневные подсчеты, замените их .summaryпросто на то, .чтобы увидеть те, которые были напечатаны.
На основе ответов VonC и Michele Milidoni я создал этот букмарклет, который отображает статистику загрузок выпущенных двоичных файлов, размещенных на github.
Примечание. Из-за проблем с браузерами, связанных с реализацией политики безопасности контента, букмарклеты могут временно нарушать некоторые директивы CSP и в основном могут работать неправильно при работе на github, когда CSP включен.
Хотя это крайне нежелательно, вы можете отключить CSP в Firefox как временное решение. Откройте about: config и установите для security.csp.enable значение false.
Насколько я вижу, github считает только первый из трех файлов, которые вы предлагаете для скачивания, например, mdcsvimporter-beta-18.zip. Вы когда-нибудь находили способ получить количество скачиваний вроде v19.zip?
Ян Эрхардт
У меня только 3 релиза для md2015, и v19 - первый, который показывает. v19 вышла после этого поста, поэтому здесь не показывается. Вы пошли на URL :-)? «download_count»: 31, «create_at»: «2015-03-26T04: 22: 13Z», «updated_at»: «2015-03-26T04: 22: 13Z», «browser_download_url»:
Здравствуй. Я даже не уверен, откуда вы взяли эти URL-адреса для загрузки, но это вопрос к github. Похоже, он считает только файлы, которые я выпускаю (3), и даже не исходные файлы zip, которые он создает (еще 2 на мою версию). Я написал для себя java-приложение, которое я запускаю, чтобы сделать этот вызов, вернуть json, разобрать и показать только количество загрузок.
Стэн Тоуянски
Жаль. Очевидно, Github не предоставляет необходимую нам информацию (больше?). Из 3 * 3 файлов, имеющихся у вас на github.com/stant/mdcsvimporter2015/releases, он сообщает только doenload_count самого файла релиза, а не файлов * .tar.gz и * .zip. Я сделаю отдельный ответ, так как он влияет на все остальные решения.
Ян Эрхардт
1
Как уже говорилось, вы можете получить информацию о своих релизах через API .
Для тех, кто использует WordPress, я разработал этот плагин: GitHub Release Downloads . Это позволяет вам получить количество загрузок, ссылки и дополнительную информацию для выпусков репозиториев GitHub.
Чтобы ответить на исходный вопрос, шорткод [grd_count user="User" repo="MyRepo"]вернет количество загрузок для хранилища. Это число соответствует сумме всех значений количества загрузок всех выпусков для одного репозитория GitHub.
Вот решение Python с использованием pip install PyGithubпакета
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
иzip
файлы).Ответы:
Обновление 2019:
Устин «S ответ указывает на:
/repos/:owner/:repo/traffic/clones
, чтобы получить общее количество клонов и разбивки за день или неделю, но: только за последние 14 дней./repos/:owner/:repo/releases/:release_id
для получения количества загрузок ваших ресурсов (файлов, прикрепленных к релизу), полеdownload_count
указано ниже, но, как прокомментировано , только для последних 30 выпусков.Обновление 2017
Вы по-прежнему можете использовать API GitHub для получения количества загрузок для ваших выпусков (что не совсем то , что было запрошено).
См. « Получить один выпуск »,
download_count
поле.Больше нет экрана трафика с указанием количества клонов репо.
Вместо этого вы должны полагаться на сторонние сервисы, такие как:
www.netguru.co/gititback
), но даже это не включает в себя количество клонов.githubstats0
, Упомянутый ниже по Aveek Saha .www.somsubhra.com/github-release-stats , упомянутый ниже .
Например, вот номер последней версии git для Windows
Обновление август 2014
GitHub также предлагает количество клонов для репо в своем Графике трафика:
см. « Графики клонов »
Обновление октябрь 2013
Как упомянуто ниже по andyberry88 , и как я подробно в июле прошлого года , GitHub в настоящее время предлагает релизы (см его API ), который имеет
download_count
поле .Мишель Милидони , в своем ответе (с голосованием) , использует это поле в своем скрипте на python .
( очень маленький экстракт )
Оригинальный ответ (декабрь 2010 г.)
Я не уверен, что вы можете видеть эту информацию (если она вообще записана), потому что я не вижу ее в GitHub Repository API :
Вы можете только видеть, есть ли у него загрузки или нет.
источник
download_count
поле API релиза, которое должно включать количество загрузок релиза (которые не всегда являются zip-файлами и не являются клонами)git clone
экземпляры. Проверьте с поддержкой GitHub для подтверждения.Я написал небольшое веб-приложение на javascript для отображения количества загрузок всех ресурсов в доступных выпусках любого проекта на Github. Вы можете попробовать приложение здесь: http://somsubhra.github.io/github-release-stats/
источник
GitHub отказался от поддержки загрузки и теперь поддерживает «Релизы» - https://github.com/blog/1547-release-your-software . Чтобы создать выпуск, используйте пользовательский интерфейс GitHub или создайте аннотированный тег (http: // git-scm.com/book/ch2-6.html) и добавьте примечания к выпуску в GitHub. Затем вы можете загружать двоичные файлы или «активы» в каждую версию.
Когда у вас есть несколько выпусков, GitHub API поддерживает получение информации о них и их активах.
Ищите запись «download_count». Theres больше информации в http://developer.github.com/v3/repos/releases/ . Эта часть API все еще находится в периоде предварительного просмотра ATM, поэтому она может измениться.
Обновление ноябрь 2013:
API релизов GitHub теперь вышел из периода предварительного просмотра, поэтому заголовок «Принять» больше не нужен - http://developer.github.com/changes/2013-11-04-releases-api-is-official/
Впрочем, продолжать добавлять заголовок «Принять» не повредит.
источник
downloads
поле в активах (по крайней мере, с использованием этой техники)?download_count
это поле, которое указывает количество загрузок - например, в api.github.com/repos/twbs/bootstrap/releases . Стоит отметить, что в этом списке будут отображаться только «релизы», тэги, которые отображаются на странице релизов репо, не отображаются в списке API, см. Developer.github.com/v3/repos/releases . Например, github.com/jquery/jquery/releases перечисляет несколько тегов в разделе выпусков, но для api.github.com/repos/jquery/jquery/releases возвращается пустой список .count=0
)? Или показывает только поле для запросов клонов? Смотрите это безdownload_count
: api.github.com/repos/demisjohn/pytrimsetup/releases . Страница github для этого находится здесь: github.com/demisjohn/pyTRIMSetup/releasesbootstrap-XYZ-dist.zip
актив, к которому относитсяdownload_count
поле. Если вы хотите узнать, сколько людей скачивают релиз, вам нужно загрузить ZIP-релиз релиза. Насколько я знаю, нет способа узнать, сколько людей клонировали / загрузили архив через API. Представление графиков (из stackoverflow.com/a/4339085/2634854 выше) может дать вам то, что вы ищете, хотя.Счет ПОСЕТИТЕЛЯ должен быть доступен под вашей информационной панелью> Трафик (или статистика или аналитика):
источник
Раньше в Github было два способа загрузки кода: клонирование или загрузка в виде zip-репозитория .git или загрузка файла (например, двоичного файла) для последующей загрузки.
При загрузке репозитория (клонирование или загрузка в формате zip) Github не считает количество загрузок из-за технических ограничений. Клонирование репозитория является операцией только для чтения. Там нет аутентификации требуется. Эта операция может быть выполнена с помощью многих протоколов, включая HTTPS, того же протокола, который веб-страница использует для отображения репо в браузере. Это очень сложно сосчитать.
Смотрите: http://git-scm.com/book/en/Git-on-the-Server-The-Protocols
В последнее время Github отказался от функциональности загрузки. Это потому, что они понимают, что Github сосредоточен на создании программного обеспечения, а не на распространении двоичных файлов.
Смотрите: https://github.com/blog/1302-goodbye-uploads
источник
Как уже упоминалось, GitHub API возвращает количество загрузок выпусков двоичных файлов. Я разработал небольшой скрипт для простого подсчета загрузок в командной строке.
источник
Очень поздно, но вот ответ, который вы хотите:
Затем найдите в данных идентификатор проекта, который вы ищете. Это должно быть около вершины, рядом с URL. Затем перейдите к
Поле с именем download_count является вашим ответом.
РЕДАКТИРОВАТЬ: заглавные буквы имеют значение в вашем имени пользователя и имени проекта
источник
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3" }
Github API больше не предоставляет необходимую информацию. Взгляните на страницу релизов , упомянутую в ответе Стэна Тоуянски . Как мы уже обсуждали в комментариях к этому ответу, API Github сообщает только о загрузках 1 из трех файлов, которые он предлагает в каждой версии.
Я проверил решения, предоставленные в некоторых других ответах на эти вопросы. Ответ Вонка представляет существенную часть решения Микеле Милидони . Я установил его скрипт gdc со следующим результатом
Как вы можете ясно видеть, gdc не сообщает количество загрузок файлов tar.gz и zip.
Если вы хотите проверить, не устанавливая что-либо, попробуйте веб-страницу, где Somsubhra установила решение, упомянутое в его ответе . Заполните 'stant' в качестве имени пользователя Github и mdcsvimporter2015 в качестве имени репозитория, и вы увидите такие вещи, как:
Увы, еще раз только отчет без скачивания tar.gz и zip файлов. Я тщательно изучил информацию, которую возвращает API Github, но она нигде не предоставляется. Количество загрузок, которое API возвращает, далеко не завершено в настоящее время.
источник
Чтобы проверить, сколько раз был загружен файл / пакет релиза, вы можете перейти на https://githubstats0.firebaseapp.com
Это дает вам общее количество загрузок и разбивку общих загрузок на тег выпуска.
источник
В итоге я написал скрипт-скребок, чтобы узнать количество клонов:
Это позволит получить данные из той же конечной точки, которую использует граф клонов Github, и выплеснуть итоговые данные из нее. Данные также включают ежедневные подсчеты, замените их
.summary
просто на то,.
чтобы увидеть те, которые были напечатаны.источник
На основе ответов VonC и Michele Milidoni я создал этот букмарклет, который отображает статистику загрузок выпущенных двоичных файлов, размещенных на github.
Примечание. Из-за проблем с браузерами, связанных с реализацией политики безопасности контента, букмарклеты могут временно нарушать некоторые директивы CSP и в основном могут работать неправильно при работе на github, когда CSP включен.
источник
Чтобы попытаться прояснить это:
для этого проекта github: stant / mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
с выпусками на
https://github.com/stant/mdcsvimporter2015/releases.
перейдите на http или https: (обратите внимание, добавлены "api." и "/ repos")
https://api.github.com/repos/stant/mdcsvimporter2015/releases
вы получите этот вывод json и сможете выполнить поиск по запросу «download_count»:
или в командной строке выполните:
wget --no-check-certificate https://api.github.com/repos/stant/mdcsvimporter2015/releases
источник
Как уже говорилось, вы можете получить информацию о своих релизах через API .
Для тех, кто использует WordPress, я разработал этот плагин: GitHub Release Downloads . Это позволяет вам получить количество загрузок, ссылки и дополнительную информацию для выпусков репозиториев GitHub.
Чтобы ответить на исходный вопрос, шорткод
[grd_count user="User" repo="MyRepo"]
вернет количество загрузок для хранилища. Это число соответствует сумме всех значений количества загрузок всех выпусков для одного репозитория GitHub.Пример:
источник
Ответ с 2019 года:
источник
Я сделал веб-приложение, которое показывает статистику выпуска GitHub в чистом формате: https://hanadigital.github.io/grev/
источник
Для тех, кому нужно решение на Python, я написал простой скрипт.
Python Script:
Использование:
ghstats.py [user] [repo] [tag] [options]
Служба поддержки:
источник
Вот решение Python с использованием
pip install PyGithub
пакетаисточник