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

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

Ответ 1

Обновление 2019:

Устинответ указывает на:

  • API /repos/:owner/:repo/traffic/clones, чтобы получить общее количество клонов и разбивку за день или неделю, но: только за последние 14 дней.
  • API /repos/:owner/:repo/releases/:release_id для получения количества загрузок ваших ресурсов (файлов, прикрепленных к выпуску), поле download_count, упомянутое ниже, но, как отмечалось ,, только для последних 30 выпусков..

Обновление 2017 года

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

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

Git 2.14.2 release


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

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

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


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

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

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

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

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

Ответ 3

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

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

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 все еще находится в банкомате периода предварительного просмотра, поэтому может измениться.

Обновление Nov 2013:

GitHub выпускает API теперь вне периода предварительного просмотра, поэтому заголовок "Accept" больше не нужен - http://developer.github.com/changes/2013-11-04-releases-api-is-official/

Не помешает продолжать добавлять заголовок "Accept".

Ответ 4

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

enter image description here

Ответ 5

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

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

Смотрите: http://git-scm.com/book/en/Git-on-the-Server-The-Protocols

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

Смотрите: https://github.com/blog/1302-goodbye-uploads

Ответ 6

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

Ответ 7

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

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 является вашим ответом.

ОБНОВЛЕНИЕ: заглавные буквы имеют значение в вашем имени пользователя и имени проекта

Ответ 8

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

Я проверил решения, предоставленные в некоторых других ответах на эти вопросы. Vonc answer представляет важную часть решения Michele Milidoni. Я установил его gdc script со следующим результатом

# ./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. Я внимательно изучил информацию, возвращаемую Github API, но она не предоставляется нигде. Download_count, который API возвращает, в наши дни далек от завершения.

Ответ 9

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

#!/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 на просто ., чтобы увидеть их красиво напечатанные.

Ответ 10

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

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

Ответ 11

Основываясь на ответах VonC и Michele Milidoni, я создал этот букмарклет, который отображает статистику загрузок выпущенных двоичных файлов github.

Примечание. Из-за проблем с браузерами, связанных с реализацией политики безопасности контента, букмарклеты могут временно нарушать некоторые директивы CSP и в основном могут не работать должным образом, работающий на github, в то время как CSP включен.

Несмотря на то, что он очень обескуражен, вы можете отключить CSP в Firefox как временное обходное решение. Откройте о: config и установите security.csp.enable на false.

Ответ 12

Как уже говорилось, вы можете получить информацию о Релизы через API".

Для тех, кто использует WordPress, я разработал этот плагин: GitHub Release Downloads. Это позволяет вам получать количество загрузок, ссылки и дополнительную информацию для релизов репозиториев GitHub.

Чтобы решить исходный вопрос, короткий код [grd_count user="User" repo="MyRepo"] вернет количество загрузок для репозитория. Это число соответствует сумме всех значений количества загрузок всех выпусков для одного репозитория GitHub.

Пример: Example

Ответ 13

Ответ с 2019 года:

1) Для количества клонов вы можете использовать https://developer.github.com/v3/repos/traffic/#clones (но учтите, что он возвращает счет только за последние 14 дней) 2) Для получения количества загрузок ваших активов (файлов, прикрепленных к релизу), вы можете использовать https://developer.github.com/v3/repos/releases/#get-a-single-release (в точности свойство "download_count" элементов списка активов в ответе)

Ответ 14

Чтобы сделать это более ясным:
для этого проекта 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":

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

или в командной строке:
wget --no-check-certificate https://api.github.com/repos/stant/mdcsvimporter2015/releases

Ответ 15

Для тех, кто нуждается в решении в Python, я написал простой script.


Python Script:


Использование:

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


Поддержка:

  • Поддерживает как Python 2, так и Python 3 из коробки.
  • Может использоваться как автономный, так и Python-модуль.

Ответ 16

На этот вопрос уже ответили, но все равно поделились. Я нашел этот сайт, который перечисляет количество загрузок, которые я хотел, и было легко запомнить.

https://githubdownloads.com