Github: Могу ли я увидеть количество загрузок для репо? - PullRequest
120 голосов
/ 02 декабря 2010

В Github есть ли способ узнать количество загрузок для репо?

Ответы [ 14 ]

96 голосов
/ 02 декабря 2010

Обновление 2017

Вы по-прежнему можете использовать GitHub API до , чтобы получить количество загрузок для своих выпусков (что не точно , что было задано )
См. « Get single release », поле download_count.

Больше не отображается экран трафика с указанием количества клонов репо.
Вместо этого вы должны полагаться на сторонние сервисы, такие как:

Git 2.14.2 release


Обновление: август 2014

GitHub также предлагает количество клонов для репо в своем графике трафика:
Смотрите " Графики клонов "

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


Обновление за октябрь 2013

Как уже упоминалось ниже от andyberry88 , и, как I подробно в прошлом июле , GitHub теперь предлагает релизы (см. его API ), который имеет поле download_count .

Мишель Милидони , в его (голосом) ответ , использует это поле в своем скрипте на питоне .
( очень маленький экстракт )

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 г.)

Я не уверен, что вы можете видеть эту информацию (если она вообще записана), потому что я не вижу ее в API репозитория 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

Вы можете только видеть, есть ли у него загрузки или нет.

74 голосов
/ 23 июня 2014

Я написал небольшое веб-приложение в javascript для отображения количества загрузок всех ресурсов в доступных выпусках любого проекта на Github.Вы можете попробовать приложение здесь: http://somsubhra.github.io/github-release-stats/

12 голосов
/ 31 октября 2013

GitHub отказался от поддержки загрузки и теперь поддерживает «Релизы» - https://github.com/blog/1547-release-your-software.. Чтобы создать релиз, используйте пользовательский интерфейс GitHub или создайте аннотированный тег (http: // git-scm.com/book/ch2-6.html) и добавьте примечания к выпуску в GitHub.Затем вы можете загружать двоичные файлы или «активы» в каждый выпуск.

После того, как у вас появятся некоторые выпуски, GitHub API поддерживает получение информации о них и их активах.

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

Посмотритедля записи «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/

Хотя добавление заголовка «Принять» не повредит.

9 голосов
/ 10 октября 2014

Количество ПОСЕТИТЕЛЕЙ должно быть доступно под вашей информационной панелью> Трафик (или статистика или аналитика):

enter image description here

7 голосов
/ 16 января 2014

Как уже упоминалось, GitHub API возвращает количество загрузок выпусков двоичных файлов. Я разработал маленький скрипт , чтобы легко получать количество загрузок по командной строке.

7 голосов
/ 28 июня 2013

Раньше в Github существовало два способа загрузки кода: клонирование или загрузка в виде ZIP-репозитория .git или загрузка файла (например, двоичного файла) для последующей загрузки.

При загрузке репозитория(клонировать или скачать в формате zip), Github не считает количество загрузок из-за технических ограничений.Клонирование репозитория является операцией только для чтения.Там нет аутентификации требуется.Эта операция может быть выполнена с помощью многих протоколов, включая HTTPS, того же протокола, который веб-страница использует для отображения репо в браузере.Это очень трудно сосчитать.

См .: http://git -scm.com / book / ru / Git-on-the-Pro-Protocol

В последнее время Github устарела функциональность загрузки.Это потому, что они понимают, что Github сосредоточен на создании программного обеспечения, а не на распространении двоичных файлов.

См .: https://github.com/blog/1302-goodbye-uploads

6 голосов
/ 10 июля 2016

Очень поздно, но вот ответ, который вы хотите:

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

Затем найдите в данных идентификатор проекта, который вы ищете.Это должно быть около вершины, рядом с URL.Затем перейдите к

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

Поле с именем download_count - ваш ответ.

EDIT: прописные буквы имеют значение в вашем имени пользователя и имени проекта

5 голосов
/ 14 мая 2015

Github API больше не предоставляет необходимую информацию.Взгляните на страницу релизов , упомянутую в ответ Стэна Тоуянски .Как мы уже обсуждали в комментариях к этому ответу, API Github сообщает только о загрузках 1 из трех файлов, которые он предлагает в каждой версии.

Я проверил решения, предоставленные в некоторых других ответах на эти вопросы. Ответ Вонка представляет основную часть решения Микеле Милидони .Я установил его скрипт gdc со следующим результатом

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

Как вы можете ясно видеть, 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, в настоящее время далеко не завершено.

3 голосов
/ 11 ноября 2018

Чтобы узнать, сколько раз был загружен файл / пакет релиза, вы можете перейти по адресу https://githubstats0.firebaseapp.com

. Он дает вам общее количество загрузок и разбивку общих загрузок на тег выпуска.

3 голосов
/ 14 марта 2016

В итоге я написал скрипт-скребок, чтобы найти количество клонов:

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

Это позволит получить данные из той же конечной точки, которую использует граф клонов Github, и выплеснуть итоговые данные из нее. Данные также включают подсчеты за день, замените .summary на ., чтобы увидеть те, которые были напечатаны.

...