गितुब में, क्या कोई तरीका है जो मैं रेपो के लिए डाउनलोड की संख्या देख सकता हूं?
गितुब में, क्या कोई तरीका है जो मैं रेपो के लिए डाउनलोड की संख्या देख सकता हूं?
जवाबों:
अपडेट 2019:
/repos/:owner/:repo/traffic/clones
, प्रति दिन या सप्ताह में क्लोन और ब्रेकडाउन की कुल संख्या प्राप्त करने के लिए, लेकिन: केवल पिछले 14 दिनों के लिए।/repos/:owner/:repo/releases/:release_id
आपकी परिसंपत्तियों की डाउनलोड संख्या (रिलीज़ से जुड़ी फाइलें) प्राप्त करने के लिए एपीआई , download_count
नीचे उल्लिखित फ़ील्ड , लेकिन, जैसा कि टिप्पणी की गई है , केवल सबसे अधिक 30 रिलीज़ के लिए ..अपडेट 2017
आप अभी भी अपनी रिलीज़ के लिए डाउनलोड काउंट प्राप्त करने के लिए GitHub API का उपयोग कर सकते हैं (जो वास्तव में पूछा नहीं गया था)
" एक एकल रिलीज़ करें " देखें , फ़ील्ड।download_count
रेपो क्लोन की संख्या का उल्लेख करने वाली ट्रैफ़िक स्क्रीन नहीं है।
इसके बजाय, आपको तृतीय-पक्ष सेवाओं पर निर्भर रहना होगा जैसे:
www.netguru.co/gititback
), लेकिन यहां तक कि इसमें क्लोन की संख्या शामिल नहीं है।githubstats0
नीचे उल्लेख Aveek साहा द्वारा किया गया है ।
www.somsubhra.com/github-release-stats , नीचे उल्लेखित है ।
उदाहरण के लिए, यहां विंडोज रिलीज के लिए नवीनतम गिट के लिए नंबर है
अगस्त 2014 को अपडेट करें
GitHub ने अपने ट्रैफ़िक ग्राफ़ में रेपो के लिए क्लोनों की संख्या का भी प्रस्ताव रखा है:
" क्लोन ग्राफ़ " देखें
अद्यतन अक्टूबर 2013
जैसा कि andyberry88 द्वारा नीचे उल्लेख किया गया है , और जैसा कि मैंने पिछले जुलाई में विस्तृत किया था , GitHub ने अब रिलीज़ ( इसका एपीआई देखें ) प्रस्तावित किया है , जिसमें एक फ़ील्ड है ।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 Reposation 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
आप केवल यह देख सकते हैं कि इसमें डाउनलोड हैं या नहीं।
download_count
रिलीज़ एपीआई के क्षेत्र के बारे में बात कर रहे हैं , जिसमें रिलीज़ डाउनलोड की संख्या शामिल होनी चाहिए (जो हमेशा ज़िप नहीं हैं, और क्लोन नहीं हैं)
git clone
उदाहरण हैं। पुष्टि के लिए GitHub समर्थन के साथ जांचें।
मैंने गीथब पर किसी भी परियोजना के उपलब्ध रिलीज में सभी परिसंपत्तियों के डाउनलोड की संख्या दिखाने के लिए जावास्क्रिप्ट में एक छोटा सा वेब एप्लिकेशन लिखा है । आप यहाँ पर आवेदन की कोशिश कर सकते हैं: http://somsubhra.github.io/github-release-stats/
GitHub ने डाउनलोड समर्थन को हटा दिया है और अब 'Releases' का समर्थन करता है - https://github.com/blog/1547-release-your-software । एक रिलीज़ बनाने के लिए या तो GitHub UI का उपयोग करें या एक एनोटेट टैग (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' प्रविष्टि देखें। अधिक जानकारी http://developer.github.com/v3/repos/releases/ पर दी गई है । एपीआई का यह हिस्सा अभी भी पूर्वावलोकन अवधि एटीएम में है, इसलिए यह बदल सकता है।
GitHub की रिलीज़ API अब पूर्वावलोकन अवधि से बाहर है, इसलिए 'Accept' हेडर की अब आवश्यकता नहीं है - http://developer.github.com/changes/2013-11-04-releases-api-is-official/
यह हालांकि 'स्वीकार' हेडर को जोड़ना जारी रखने के लिए कोई नुकसान नहीं करेगा।
downloads
में परिसंपत्तियों में कोई क्षेत्र नहीं दिखाता है (कम से कम इस तकनीक का उपयोग करके)?
download_count
वह फ़ील्ड है जो डाउनलोड की संख्या को इंगित करता है - उदाहरण के लिए api.github.com/repos/twbs/bootstrap-releases में । यह ध्यान देने योग्य है कि इस सूची में केवल 'रिलीज़' दिखाई जाएगी, रेपो के रिलीज़ पृष्ठ में दिखाई देने वाले टैग API लिस्टिंग में दिखाई नहीं देते हैं, डेवलपर देखें । github.com/v3/repos/releases । उदाहरण के लिए github.com/jquery/jquery/releases रिलीज़ अनुभाग के तहत कई टैग सूचीबद्ध करता है, लेकिन एक खाली सूची api.github.com/repos/jquery/jquery/releases के लिए वापस कर दी जाती है ।
count=0
)? या केवल क्लोन अनुरोधों के लिए क्षेत्र दिखाता है? इसे देखें download_count
: no : api.github.com/repos/demisjohn/pytrimsetup/releases के साथ । इसके लिए github पृष्ठ यहाँ है: github.com/demisjohn/pyTRIMSetup/releases
bootstrap-XYZ-dist.zip
संपत्ति दी है, जो कि download_count
क्षेत्र से संबंधित है। यदि आप देखना चाहते हैं कि कितने लोग रिलीज़ को डाउनलोड कर रहे हैं तो आपको रिलीज़ ज़िप अपलोड करने की आवश्यकता है। जहां तक मैं जानता हूं कि यह देखने का कोई तरीका नहीं है कि कितने लोगों ने एपीआई के माध्यम से एक संग्रह को क्लोन / डाउनलोड किया है। ग्राफ दृश्य ( ऊपर stackoverflow.com/a/4339085/2634854 ऊपर) आपको दे सकता है कि आप हालांकि उसके बाद क्या कर रहे हैं।
पूर्व में, गिथब में डाउनलोड कोड की दो विधियाँ थीं: क्लोन या ज़िप के रूप में डाउनलोड करें .it रेपो, या बाद में डाउनलोड के लिए फ़ाइल (उदाहरण के लिए, एक बाइनरी) अपलोड करें।
जब एक रेपो (क्लोन या ज़िप के रूप में डाउनलोड) डाउनलोड किया जाता है, तो गिथब तकनीकी सीमाओं के लिए डाउनलोड की संख्या की गणना नहीं करता है। क्लोन एक रिपॉजिटरी केवल पढ़ने के लिए एक ऑपरेशन है। कोई प्रमाणीकरण आवश्यक नहीं है। यह ऑपरेशन HTTPS सहित कई प्रोटोकॉल के माध्यम से किया जा सकता है, वही प्रोटोकॉल जो वेब पेज ब्राउज़र में रेपो को दिखाने के लिए उपयोग करता है। इसे गिनना बहुत मुश्किल है।
देख: http://git-scm.com/book/en/Git-on-the-Server-The-Protocols
हाल ही में, Github डाउनलोड कार्यक्षमता को चित्रित करता है। ऐसा इसलिए था क्योंकि वे समझते थे कि गितुब सॉफ्टवेयर बनाने में केंद्रित है, और बायनेरिज़ वितरित करने में नहीं।
जैसा कि उल्लेख किया गया है, GitHub API ने बाइनरी फ़ाइल रिलीज़ की गिनती डाउनलोड की है। मैंने कमांड लाइन द्वारा आसानी से डाउनलोड गणना प्राप्त करने के लिए एक छोटी स्क्रिप्ट विकसित की है ।
बहुत देर से, लेकिन यहाँ जवाब आप चाहते हैं:
https://api.github.com/repos/ [git username] / [git project] /releases
इसके बाद, उस प्रोजेक्ट की आईडी ढूंढें, जिसे आप डेटा में ढूंढ रहे हैं। यह यूरल्स के बगल में, शीर्ष के पास होना चाहिए। फिर, नेविगेट करने के लिए
https://api.github.com/repos/ [git username] / [git project] /releases/ [id] / assets
Download_count नाम का फ़ील्ड आपका उत्तर है।
संपादित करें: आपके उपयोगकर्ता नाम और परियोजना के नाम में राजधानियाँ मायने रखती हैं
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3" }
Github API अब आवश्यक जानकारी प्रदान नहीं करता है। स्टान टुविन्स्की के जवाब में उल्लेखित रिलीज़ पृष्ठ पर एक नज़र डालें । जैसा कि हमने उस उत्तर की टिप्पणियों में चर्चा की थी, गिथब एपीआई केवल उन तीन फाइलों में से 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 फ़ाइलों की डाउनलोड गणना की रिपोर्ट नहीं करता है।
यदि आप कुछ भी स्थापित किए बिना जांचना चाहते हैं, तो उस वेब पेज को आज़माएं जहां सोमसुभरा ने समाधान स्थापित किया है, उसके उत्तर में उल्लेख किया गया है । Github यूज़रनेम और 'mdcsvimporter2015' के रूप में 'स्टेंट' को रिपॉजिटरी नाम के रूप में भरें और आपको निम्न चीजें दिखाई देंगी:
Download Info:
mdcsvimporter.mxt(0.20MB) - Downloaded 37 times.
Last updated on 2015-03-26
काश, एक बार फिर केवल tar.gz और ज़िप फ़ाइलों के डाउनलोड के बिना एक रिपोर्ट। मैंने उस जानकारी की सावधानीपूर्वक जांच की है कि जीथब का एपीआई वापस आता है, लेकिन यह कहीं भी प्रदान नहीं किया गया है। डाउनलोड_count जो API लौटाता है वह आजकल पूर्ण से बहुत दूर है।
किसी रिलीज़ फ़ाइल / पैकेज की संख्या की जाँच करने के लिए आप https://githubstats0.firebaseapp.com पर जा सकते हैं
यह आपको कुल डाउनलोड गणना देता है और रिलीज़ टैग के अनुसार कुल डाउनलोड का ब्रेक अप करता है।
मैंने अपना क्लोन गिनने के लिए स्क्रैपर स्क्रिप्ट लिखना समाप्त कर दिया:
#!/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'
यह उसी एंडपॉइंट से डेटा लेगा, जो गितुब का क्लोन ग्राफ उपयोग करता है और उसमें से योग निकालता है। डेटा में प्रति-दिन की गणना भी शामिल है, .summary
बस .
उन सुंदर-मुद्रित को देखने के लिए प्रतिस्थापित करें ।
VonC और मिशेल मिलिदोनी के उत्तरों के आधार पर मैंने यह बुकमार्कलेट बनाया है जो github द्वारा जारी किए गए बायनेरिज़ के डाउनलोड आंकड़े प्रदर्शित करता है।
नोट: सामग्री सुरक्षा नीति कार्यान्वयन से संबंधित ब्राउज़रों के मुद्दों के कारण , बुकमार्कलेट कुछ CSP निर्देशों का अस्थायी रूप से उल्लंघन कर सकते हैं और CSP सक्षम होने के दौरान जीथब पर चलने पर मूल रूप से ठीक से काम नहीं कर सकते हैं।
हालांकि इसके अत्यधिक हतोत्साहित, आप अस्थायी वर्कअराउंड के रूप में फ़ायरफ़ॉक्स में सीएसपी को अक्षम कर सकते हैं। इसके बारे में खोलें: config और सेट करें Security.csp.enable to false।
इस और अधिक स्पष्ट करने की कोशिश करने के लिए:
stant / mdcsvimporter2015: इस GitHub परियोजना के लिए
https://github.com/stant/mdcsvimporter2015
पर रिलीज के साथ
https://github.com/stant/mdcsvimporter2015/releases
http या https: (नोट जोड़ा गया "एपी" और "/ रिपॉज")
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
जैसा कि पहले ही कहा गया है, आप एपीआई के माध्यम से अपने रिलीफ के बारे में जानकारी प्राप्त कर सकते हैं ।
WordPress का उपयोग करने वालों के लिए, मैंने इस प्लगइन को विकसित किया: GitHub रिलीज़ डाउनलोड । यह आपको GitHub रिपॉजिटरी के रिलीज के लिए डाउनलोड काउंट, लिंक और अधिक जानकारी प्राप्त करने की अनुमति देता है।
मूल प्रश्न को संबोधित करने के लिए, शोर्ट [grd_count user="User" repo="MyRepo"]
एक रिपॉजिटरी के लिए डाउनलोड की संख्या वापस कर देगा। यह संख्या एक GitHub रिपॉजिटरी के लिए सभी रिलीज के सभी डाउनलोड गणना मूल्यों के योग से मेल खाती है।
उदाहरण:
2019 से उत्तर:
मैंने एक वेब ऐप बनाया था जो एक स्वच्छ प्रारूप में GitHub के रिलीज़ आंकड़े दिखाता है: https://hanadigital.github.io/grev/
उन लोगों के लिए जिन्हें पायथन में समाधान की आवश्यकता है, मैंने एक सरल स्क्रिप्ट लिखी थी।
ghstats.py [user] [repo] [tag] [options]
यहां 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