Github: могу ли я увидеть количество загрузок для РЕПО?



в Github, есть ли способ, которым я могу увидеть количество загрузок для РЕПО?

837   13  

13 ответов:

обновление 2017

больше нет экрана трафика с указанием количества клонов РЕПО.
Вместо этого вы должны полагаться на сторонние услуги как GitItBack (at www.netguru.co/gititback) но даже это не включает количество клонов.

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

Смотрите также www.somsubhra.com/github-release-stats, упомянуто ниже.
Например, вот число для последний выпуск git для Windows

Git 2.14.2 release


Обновление Август

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

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


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

как уже упоминалось ниже by andyberry88, а я подробно в июле прошлого года, теперь в 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 года)

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

вы можете только увидеть, если она имеет популярность или нет.

Я написал a небольшое веб-приложение в 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. Затем вы можете загрузить двоичные файлы или "активы" в каждый выпуск.

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

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

посмотреть на download_count входа. Там больше информации на http://developer.github.com/v3/repos/releases/. Эта часть API все еще находится в периоде предварительного просмотра ATM, поэтому он может измениться.

Обновление Ноябрь 2013:

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

Он не будет сделайте любой вред, чтобы продолжать добавлять заголовок "Accept".

ранее в 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

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

по состоянию на 2014 год, октябрь, есть количество посетителей доступны:

enter image description here

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

Я проверил решения, представленные в некоторых других ответах на эти вопросы. Vonc это!--4-- > представляет существенную часть Michele Решение милидони. Я установил его 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 установил решение, упомянутое в ответ. Заполнить 'стант' как на GitHub имя пользователя и mdcsvimporter2015 в качестве имени хранилища и вы увидите вещи например:

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

увы, еще раз только отчет без загрузки тар.gz и zip файлы. Я тщательно изучил информацию, которую возвращает API Github, но она нигде не предоставляется. Download_count, который возвращает API, в настоящее время далек от завершения.

очень поздно, но вот ответ вы хотите:

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 - это ваш ответ.

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

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

хотя это очень обескураживает, вы можно отключить ЦСП в Firefox как временное решение проблемы. Откройте about: config и установите безопасность.СПС.включить к ложному.

Я закончил писать сценарий скребка, чтобы найти мой счетчик клонов:

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

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

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

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

пример: Example

чтобы попытаться сделать это более ясным:
для этого проекта github: stant/mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
с релизами по адресу
https://github.com/stant/mdcsvimporter2015/releases

перейти к http или https: (Примечание добавлено " api."and" / 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"

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

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


Python Скрипт:


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

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


поддержка:

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

Comments

    Ничего не найдено.