গিথুব-এ কোনও রেপোর জন্য ডাউনলোডের সংখ্যা দেখতে পাবার উপায় আছে কি?
গিথুব-এ কোনও রেপোর জন্য ডাউনলোডের সংখ্যা দেখতে পাবার উপায় আছে কি?
উত্তর:
2019 আপডেট করুন:
/repos/:owner/:repo/traffic/clones
, প্রতিদিন বা সপ্তাহে মোট ক্লোনস এবং ব্রেকডাউন সংখ্যা পেতে, কিন্তু: কেবলমাত্র সর্বশেষ 14 দিনের জন্য।/repos/:owner/:repo/releases/:release_id
আপনার সম্পদের ডাউনলোড সংখ্যা (রিলিজের সাথে সংযুক্ত ফাইলগুলি), download_count
নীচে উল্লিখিত ক্ষেত্রটি পাওয়ার জন্য এপিআই , তবে মন্তব্য হিসাবে , কেবলমাত্র সাম্প্রতিক 30 টি রিলিজের জন্য ..আপডেট 2017
আপনি এখনও ব্যবহার করতে পারেন GitHub এপিআই থেকে আপনার ডাউনলোড গণনা পেতে রিলিজ (যা নয় ঠিক কি জিজ্ঞাসা করা হল)
দেখুন " একটি একক মুক্তি পান ," download_count
ক্ষেত্র।
রেপো ক্লোনগুলির সংখ্যা উল্লেখ করে আর ট্র্যাফিক স্ক্রিন নেই।
পরিবর্তে, আপনাকে তৃতীয় পক্ষের পরিষেবার উপর নির্ভর করতে হবে যেমন:
www.netguru.co/gititback
), তবে এটিতে ক্লোনগুলির সংখ্যা অন্তর্ভুক্ত নয়।githubstats0
উচ্চারিত হয়, নিচের দ্বারা অভীক সাহা ।
www.somsubhra.com/github-release-stats , নীচে উল্লিখিত।
উদাহরণস্বরূপ, উইন্ডোজ রিলিজের জন্য সর্বশেষ গিটের জন্য এখানে নম্বর
আগস্ট 2014 আপডেট করুন
গিটহাব তার ট্র্যাফিক গ্রাফে রেপোর জন্য ক্লোনগুলির সংখ্যা প্রস্তাব করেছে:
" ক্লোন গ্রাফ " দেখুন
অক্টোবর 2013 আপডেট
অ্যান্ডিবেরি ৮৮ দ্বারা নীচে উল্লিখিত হিসাবে , এবং আমি গত জুলাইয়ে বিশদ হিসাবে , গিটহাব এখন রিলিজের প্রস্তাব দেয় ( এর এপিআই দেখুন ), যার একটি ক্ষেত্র রয়েছে ।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")
আসল উত্তর (ডিসেম্বর ২০১০)
আমি নিশ্চিত নই যে আপনি সেই তথ্যটি দেখতে পাচ্ছেন (এটি যদি একেবারেই রেকর্ড করা থাকে), কারণ আমি এটি গিটহাব সংগ্রহস্থল এপিআইতে দেখছি না :
$ 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
উদাহরণস্বরূপ। নিশ্চিতকরণের জন্য গিটহাব সমর্থন সহ পরীক্ষা করুন।
গিথুবের যে কোনও প্রকল্পের উপলভ্য রিলিজে সমস্ত সম্পত্তির ডাউনলোডের সংখ্যা গণনা করার জন্য আমি জাভাস্ক্রিপ্টে একটি ছোট ওয়েব অ্যাপ্লিকেশন লিখেছি । আপনি এখানে আবেদনটি চেষ্টা করে দেখতে পারেন: http://somsubhra.github.io/github-release-stats/
গিটহাব ডাউনলোড সমর্থন অবমূল্যায়ন করেছে এবং এখন 'রিলিজ' সমর্থন করে - https://github.com/blog/1547-release-your-software । একটি রিলিজ তৈরি করতে হয় হয় গিটহাব ইউআই ব্যবহার করুন বা একটি টীকাযুক্ত ট্যাগ তৈরি করুন (http: // git-scm.com/book/ch2-6.html) এবং এটিতে গিটহাবের মধ্যে প্রকাশের নোটগুলি যুক্ত করুন। তারপরে আপনি প্রতিটি রিলিজে বাইনারি বা 'সম্পদ' আপলোড করতে পারেন।
আপনার কিছু রিলিজ হয়ে গেলে, গিটহাব এপিআই তাদের এবং তাদের সম্পদ সম্পর্কিত তথ্য পাওয়ার পক্ষে সমর্থন করে।
curl -i \
https://api.github.com/repos/:owner/:repo/releases \
-H "Accept: application/vnd.github.manifold-preview+json"
'ডাউনলোড_কাউন্ট' এন্ট্রি সন্ধান করুন। আরও তথ্য এখানেHttp://developer.github.com/v3/repos/releases/ থের করে । এপিআইর এই অংশটি এখনও পূর্বরূপের এটিএম-এ এটিএম এ রয়েছে যাতে এটি পরিবর্তন হতে পারে।
গিটহাবের প্রকাশের এপিআই এখন পূর্বরূপ সময়ের বাইরে চলে গেছে তাই 'স্বীকার করুন' শিরোনামের আর দরকার নেই - http://developer.github.com/changes/2013-11-04-relayss-api-is-official/
যদিও এটি 'স্বীকার করুন' শিরোনাম যুক্ত করে চালিয়ে যাওয়ার কোনও ক্ষতি করবে না।
downloads
সম্পদের কোনও ক্ষেত্র দেখায় না (অন্তত এই কৌশলটি ব্যবহার করে)?
download_count
ডাউনলোডের সংখ্যা নির্দেশ করে এমন ক্ষেত্র - উদাহরণস্বরূপ api.github.com/repos/twbs/bootstrap/reLives এ । এটি লক্ষণীয় যে কেবলমাত্র 'রিলিজ' এই তালিকায় প্রদর্শিত হবে, কোনও রেপোর রিলিজ পৃষ্ঠায় প্রদর্শিত ট্যাগগুলি এপিআই তালিকাতে প্রদর্শিত হবে না, বিকাশকারী . github.com/v3/repos/reLives দেখুন । উদাহরণস্বরূপ github.com/jquery/jquery/reLives রিলিজ বিভাগের অধীনে বেশ কয়েকটি ট্যাগের তালিকা তৈরি করে তবে api.github.com/repos/jquery/jquery/relayss এর জন্য একটি খালি তালিকা ফিরে আসে ।
count=0
)? অথবা শুধুমাত্র ক্লোন অনুরোধের জন্য ক্ষেত্রটি দেখায়? এটিকে কোনও নম্বরে দেখুন download_count
: api.github.com/repos/demisjohn/pytrimsetup/releases । এর জন্য গিথুব পৃষ্ঠাটি
bootstrap-XYZ-dist.zip
সম্পদ রয়েছে যা download_count
ক্ষেত্রটি সম্পর্কিত। আপনি যদি দেখতে চান যে কতজন লোক একটি ডাউনলোড ডাউনলোড করছে আপনার একটি রিলিজ জিপ আপলোড করতে হবে। আমি যতদূর জানি যে এপিআই এর মাধ্যমে কত লোক ক্লোন / আর্কাইভ ডাউনলোড করেছে তা দেখার কোনও উপায় নেই। গ্রাফগুলি দেখুন ( উপরের স্ট্যাকওভারফ্লো.com/a/4339085/2634854 থেকে ) আপনাকে পরে যা দেবে তা দিতে পারে।
পূর্বে, গিথুবে ডাউনলোড কোডের দুটি পদ্ধতি ছিল: ক্লোন বা জিপ একটি .git রেপো হিসাবে ডাউনলোড করুন, বা পরে ডাউনলোডের জন্য একটি ফাইল আপলোড করুন (উদাহরণস্বরূপ, বাইনারি)।
কোনও রেপো ডাউনলোড করার সময় (ক্লোন বা জিপ হিসাবে ডাউনলোড করুন), গিথুব প্রযুক্তিগত সীমাবদ্ধতার জন্য ডাউনলোডের সংখ্যা গণনা করে না। একটি সংগ্রহস্থল ক্লোন করুন কেবল পঠনযোগ্য অপারেশন। কোনও প্রমাণীকরণের প্রয়োজন নেই। এই অপারেশনটি এইচটিটিপিএস সহ অনেকগুলি প্রোটোকলের মাধ্যমে করা যেতে পারে, একই প্রোটোকল যা ওয়েব পৃষ্ঠা ব্রাউজারে রেপো দেখানোর জন্য ব্যবহার করে। এটি গণনা করা খুব কঠিন।
দেখা: http://git-scm.com/book/en/Git-on-the-Server-The-Potocols
সম্প্রতি, গিথুব ডাউনলোড কার্যকারিতা হ্রাস করে। এর কারণ তারা বুঝতে পেরেছিল যে গিথুব সফ্টওয়্যার তৈরিতে মনোনিবেশ করেছে, বাইনারি বিতরণে নয়।
উল্লিখিত হিসাবে, গিটহাব এপিআই ডাউনলোডগুলি বাইনারি ফাইল রিলিজের গণনা ফিরিয়ে দেয়। কমান্ড লাইনের দ্বারা সহজেই ডাউনলোডগুলি গণনা করতে আমি একটি ছোট স্ক্রিপ্ট তৈরি করেছি ।
খুব দেরীতে, তবে আপনি যে উত্তরটি চান তা এখানে:
https://api.github.com/repos/ [git username] / [git project] /releases
এরপরে, আপনি ডেটাটিতে যে প্রকল্পটির সন্ধান করছেন তা আইডি সন্ধান করুন। এটি url এর পাশের শীর্ষে থাকা উচিত near তারপরে, নেভিগেট করুন
https://api.github.com/repos/ [git username] / [git project] /releases/ [id] / assets
ডাউনলোড_কাউন্ট নামের ক্ষেত্রটি আপনার উত্তর।
সম্পাদনা: আপনার ব্যবহারকারী নাম এবং প্রকল্পের নামের ক্ষেত্রে মূলধনগুলি গুরুত্বপূর্ণ
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3" }
গিথুব এপিআই আর প্রয়োজনীয় তথ্য সরবরাহ করে না। স্ট্যান তোভিয়ানস্কির উত্তরে উল্লিখিত প্রকাশের পৃষ্ঠাটি একবার দেখুন । আমরা এই উত্তরের মন্তব্যে যেমন আলোচনা করেছি, গিথুব এপিআই কেবল প্রকাশিত তার দেওয়া তিনটি ফাইলের মধ্যে 1 টির ডাউনলোডের প্রতিবেদন করে।
আমি এই প্রশ্নের অন্যান্য কয়েকটি উত্তরে প্রদত্ত সমাধানগুলি পরীক্ষা করেছি। ভঙ্কের উত্তরটি মিশেল মিলিডোনির সমাধানের প্রয়োজনীয় অংশটি উপস্থাপন করে । আমি তার জিডিসি স্ক্রিপ্টটি নিম্নলিখিত ফলাফলের সাথে ইনস্টল করেছি
# ./gdc stant
mdcsvimporter.mxt: 37 downloads
mdcsvimporter.mxt: 80 downloads
How-to-use-mdcsvimporter-beta-16.zip: 12 downloads
আপনি স্পষ্ট দেখতে পাচ্ছেন, জিডিসি তারের.gz এবং জিপ ফাইলগুলির ডাউনলোড গণনা রিপোর্ট করে না।
আপনি যদি কিছু না ইনস্টল করেই পরীক্ষা করতে চান তবে ওয়েবপৃষ্ঠায় চেষ্টা করুন যেখানে স্যামসুভ্রার সমাধানটি ইনস্টল করেছেন, তার উত্তরে উল্লিখিত । গিথুব ব্যবহারকারীর নাম হিসাবে 'স্ট্যান্ট' এবং 'mdcsvimporter2015' ভান্ডার নাম হিসাবে পূরণ করুন এবং আপনি এই জাতীয় জিনিস দেখতে পাবেন:
Download Info:
mdcsvimporter.mxt(0.20MB) - Downloaded 37 times.
Last updated on 2015-03-26
হায়রে, আবার একবার কেবলমাত্র তার.gz এবং জিপ ফাইল ডাউনলোড ছাড়াই একটি প্রতিবেদন। গিথুবের এপিআই যে তথ্য ফিরে আসে সেগুলি আমি সাবধানতার সাথে পরীক্ষা করে দেখেছি, তবে এটি কোথাও সরবরাহ করা হয়নি। এপিআই যে ডাউনলোড_কাউন্টটি ফেরত দেয় তা আজকাল সম্পূর্ণ থেকে দূরে।
রিলিজ ফাইল / প্যাকেজ কতবার ডাউনলোড হয়েছিল তা পরীক্ষা করতে আপনি 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
কেবল .
সুন্দর-প্রিন্ট করা দেখতে এটি প্রতিস্থাপন করুন ।
ভনসি এবং মিশেল মিলিডোনি উত্তরগুলির ভিত্তিতে আমি এই বুকমার্কলেটটি তৈরি করেছি যা মুক্তিপ্রাপ্ত বাইনারিগুলির ডাউনলোডের পরিসংখ্যান প্রদর্শন করে।
দ্রষ্টব্য: সামগ্রী সুরক্ষা নীতি বাস্তবায়নের সাথে সম্পর্কিত ব্রাউজারগুলির সাথে সম্পর্কিত সমস্যার কারণে , বুকমার্কসলেটগুলি অস্থায়ীভাবে কিছু সিএসপি নির্দেশনা লঙ্ঘন করতে পারে এবং সিএসপি সক্ষম থাকা অবস্থায় গিথুবটিতে চলাকালীন মূলত সঠিকভাবে কাজ করতে পারে না।
এটি অত্যন্ত নিরুৎসাহিত হওয়া সত্ত্বেও, আপনি অস্থায়ী কর্মক্ষেত্র হিসাবে ফায়ারফক্সে সিএসপি অক্ষম করতে পারেন। সম্পর্কে খুলুন: কনফিগার করুন এবং সিকিউরিটি।
এই আরো স্পষ্ট করার চেষ্টা করতে:
stant / mdcsvimporter2015: এই GitHub প্রকল্পের জন্য
https://github.com/stant/mdcsvimporter2015
এ রিলিজ সঙ্গে
https://github.com/stant/mdcsvimporter2015/releases
http অথবা https এখানে যান: (নোট "API।" জুড়েছে এবং "/ Repos")
https://api.github.com/repos/stant/mdcsvimporter2015/releases
আপনি এই জসন আউটপুট পাবেন এবং আপনি "ডাউনলোড_কাউন্ট" অনুসন্ধান করতে পারেন:
"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"
অথবা কমান্ড লাইনে করুন:
উইজেট - না -চেক-শংসাপত্র https://api.github.com/repos/stant/mdcsvimporter2015/releases
ইতিমধ্যে উল্লিখিত হিসাবে, আপনি API এর মাধ্যমে আপনার রিলিজ সম্পর্কে তথ্য পেতে পারেন ।
যারা ওয়ার্ডপ্রেস ব্যবহার করছেন তাদের জন্য, আমি এই প্লাগইনটি তৈরি করেছি: গিটহাব রিলিজ ডাউনলোডগুলি । এটি আপনাকে গিটহাব সংগ্রহস্থলের প্রকাশের জন্য ডাউনলোডের গণনা, লিঙ্ক এবং আরও তথ্য পেতে সহায়তা করে।
মূল প্রশ্নটি সম্বোধন করতে, শর্টকোড [grd_count user="User" repo="MyRepo"]
একটি সংগ্রহস্থলের জন্য ডাউনলোডের সংখ্যা ফিরিয়ে দেবে। এই সংখ্যাটি একটি গিটহাব সংগ্রহস্থলের জন্য সমস্ত প্রকাশের সমস্ত ডাউনলোড গণনা মানগুলির সমষ্টি to
উদাহরণ:
2019 থেকে উত্তর:
আমি একটি ওয়েব অ্যাপ তৈরি করেছি যা গিটহাবের প্রকাশিত পরিসংখ্যানগুলিকে একটি পরিষ্কার ফর্ম্যাটে দেখায়: 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