git-trend 1.2.9 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- # rubocop:disable Style/TrailingWhitespace
2
- include GitTrend
3
1
  RSpec.describe GitTrend::CLI do
2
+ include GitTrend
3
+
4
4
  shared_examples "since daily ranking" do |since|
5
5
  it "display daily ranking" do
6
6
  expect { cli.invoke(:list, [], since: since, description: false) }.to output(dummy_result_without_description).to_stdout
@@ -25,23 +25,27 @@ RSpec.describe GitTrend::CLI do
25
25
  describe "with -n option" do
26
26
  context "with 3" do
27
27
  before { stub_request_get("trending") }
28
+
28
29
  let(:number) { 3 }
29
- it "display top 3 daily ranking" do
30
- res = <<-'EOS'.unindent
31
- |No. Name Lang Star
32
- |--- ---------------------------------------- ---------- ------
33
- | 1 AppFlowy-IO/appflowy Rust 238
34
- | 2 iptv-org/iptv JavaScript 107
35
- | 3 nodejs/node JavaScript 123
36
30
 
37
- EOS
31
+ it "display top 3 daily ranking" do
32
+ res = <<-OUTPUT.unindent
33
+ |No. Name Lang Star
34
+ |--- ---------------------------------------- ---------------- ------
35
+ | 1 linexjlin/GPTs 445
36
+ | 2 ml-explore/mlx-examples Python 161
37
+ | 3 PRIS-CV/DemoFusion Jupyter Notebook 169
38
+
39
+ OUTPUT
38
40
  expect { cli.invoke(:list, [], number: number, description: false) }.to output(res).to_stdout
39
41
  end
40
42
  end
41
43
 
42
44
  context "with over 25" do
43
45
  before { stub_request_get("trending") }
46
+
44
47
  let(:number) { 26 }
48
+
45
49
  it "display daily ranking" do
46
50
  expect { cli.invoke(:list, [], number: number, description: false) }.to output(dummy_result_without_description).to_stdout
47
51
  end
@@ -51,52 +55,54 @@ RSpec.describe GitTrend::CLI do
51
55
  describe "with -l option" do
52
56
  context "with ruby" do
53
57
  before { stub_request_get("trending/#{language}") }
58
+
54
59
  let(:language) { "ruby" }
55
60
 
56
61
  it "display daily ranking by language" do
57
- res = <<-'EOS'.unindent
58
- |No. Name Lang Star
59
- |--- --------------------------------------------- ---------- ------
60
- | 1 puppetlabs/puppet Ruby 6
61
- | 2 github/explore Ruby 5
62
- | 3 mastodon/mastodon Ruby 7
63
- | 4 forem/forem Ruby 3
64
- | 5 Shopify/shopify-cli Ruby 2
65
- | 6 github/choosealicense.com Ruby 7
66
- | 7 sinatra/sinatra Ruby 1
67
- | 8 postalserver/postal Ruby 4
68
- | 9 chef/chef Ruby 2
69
- | 10 mame/quine-relay Ruby 5
70
- | 11 rapid7/metasploit-framework Ruby 8
71
- | 12 freeCodeCamp/how-to-contribute-to-open-source Ruby 4
72
- | 13 freeCodeCamp/devdocs Ruby 8
73
- | 14 hashicorp/vagrant Ruby 6
74
- | 15 jekyll/jekyll Ruby 12
75
- | 16 umd-cmsc330/cmsc330spring22 Ruby 1
76
- | 17 gitlabhq/gitlabhq Ruby 1
77
- | 18 heartcombo/devise Ruby 2
78
- | 19 opf/openproject Ruby 4
79
- | 20 rails/rails Ruby 23
80
- | 21 railwaycat/homebrew-emacsmacport Ruby 1
81
- | 22 rubocop/rubocop Ruby 1
82
- | 23 thoughtbot/factory_bot Ruby 1
83
- | 24 fluent/fluentd Ruby 2
84
- | 25 spree/spree Ruby 5
85
-
86
- EOS
62
+ res = <<-OUTPUT.unindent
63
+ |No. Name Lang Star
64
+ |--- ---------------------------------------- ---------- ------
65
+ | 1 greatghoul/remote-working Ruby 34
66
+ | 2 huginn/huginn Ruby 13
67
+ | 3 jekyll/jekyll Ruby 11
68
+ | 4 fastlane/fastlane Ruby 6
69
+ | 5 rapid7/metasploit-framework Ruby 8
70
+ | 6 ankane/pghero Ruby 16
71
+ | 7 joemasilotti/daily-log Ruby 7
72
+ | 8 hashicorp/vagrant Ruby 5
73
+ | 9 fluent/fluentd Ruby 5
74
+ | 10 rubygems/rubygems Ruby 1
75
+ | 11 otwcode/otwarchive Ruby 2
76
+ | 12 freeCodeCamp/devdocs Ruby 5
77
+ | 13 gitlabhq/gitlabhq Ruby 1
78
+ | 14 gollum/gollum Ruby 2
79
+ | 15 ruby/ruby Ruby 2
80
+ | 16 TheOdinProject/theodinproject Ruby 6
81
+ | 17 wpscanteam/wpscan Ruby 0
82
+ | 18 mastodon/mastodon Ruby 12
83
+ | 19 github/explore Ruby 0
84
+ | 20 tradingview/charting-library-examples Ruby 0
85
+ | 21 jwt/ruby-jwt Ruby 0
86
+ | 22 forem/forem Ruby 4
87
+ | 23 urbanadventurer/WhatWeb Ruby 3
88
+ | 24 chef/chef Ruby 0
89
+ | 25 instructure/canvas-lms Ruby 0
90
+
91
+ OUTPUT
87
92
  expect { cli.invoke(:list, [], language: language, description: false) }.to output(res).to_stdout
88
93
  end
89
94
  end
90
95
 
91
96
  context "with alloy : when trending is nothing" do
92
97
  before { stub_request_get("trending/#{language}") }
98
+
93
99
  let(:language) { "alloy" }
94
100
 
95
101
  it "display the 0cases message" do
96
- res = <<-'EOS'.unindent
102
+ res = <<-OUTPUT.unindent
97
103
  |It looks like we don’t have any trending repositories.
98
104
 
99
- EOS
105
+ OUTPUT
100
106
  expect { cli.invoke(:list, [], language: language, description: false) }.to output(res).to_stdout
101
107
  end
102
108
  end
@@ -105,11 +111,13 @@ RSpec.describe GitTrend::CLI do
105
111
  describe "with -s option" do
106
112
  context "with no option" do
107
113
  before { stub_request_get("trending?since=") }
114
+
108
115
  include_examples "since daily ranking", ""
109
116
  end
110
117
 
111
118
  describe "since daily" do
112
119
  before { stub_request_get("trending?since=daily") }
120
+
113
121
  context "with d" do
114
122
  include_examples "since daily ranking", "d"
115
123
  end
@@ -125,6 +133,7 @@ RSpec.describe GitTrend::CLI do
125
133
 
126
134
  describe "since weekly" do
127
135
  before { stub_request_get("trending?since=weekly") }
136
+
128
137
  context "with w" do
129
138
  include_examples "since weekly ranking", "w"
130
139
  end
@@ -140,6 +149,7 @@ RSpec.describe GitTrend::CLI do
140
149
 
141
150
  describe "since monthly" do
142
151
  before { stub_request_get("trending?since=monthly") }
152
+
143
153
  context "with m" do
144
154
  include_examples "since monthly ranking", "m"
145
155
  end
@@ -193,40 +203,41 @@ RSpec.describe GitTrend::CLI do
193
203
  describe "with -l and -s option" do
194
204
  context "with ruby and weekly" do
195
205
  before { stub_request_get("trending/#{language}?since=#{since}") }
206
+
196
207
  let(:language) { "ruby" }
197
208
  let(:since) { "weekly" }
198
209
 
199
210
  it "display weekly ranking by language" do
200
- res = <<-'EOS'.unindent
201
- |No. Name Lang Star
202
- |--- --------------------------------------------- ---------- ------
203
- | 1 huginn/huginn Ruby 881
204
- | 2 faker-ruby/faker Ruby 193
205
- | 3 hashicorp/vagrant Ruby 46
206
- | 4 mperham/sidekiq Ruby 17
207
- | 5 freeCodeCamp/how-to-contribute-to-open-source Ruby 40
208
- | 6 rails/jsbundling-rails Ruby 20
209
- | 7 puma/puma Ruby 10
210
- | 8 jekyll/jekyll Ruby 72
211
- | 9 rails/rails Ruby 103
212
- | 10 sinatra/sinatra Ruby 11
213
- | 11 rapid7/metasploit-framework Ruby 77
214
- | 12 puppetlabs/puppet Ruby 23
215
- | 13 Shopify/liquid Ruby 21
216
- | 14 github/linguist Ruby 27
217
- | 15 rmosolgo/graphql-ruby Ruby 2
218
- | 16 github/choosealicense.com Ruby 24
219
- | 17 fastlane/fastlane Ruby 96
220
- | 18 Homebrew/homebrew-core Ruby 28
221
- | 19 github/view_component Ruby 11
222
- | 20 hrishikesh1990/resume-builder Ruby 6
223
- | 21 varvet/pundit Ruby 8
224
- | 22 github/explore Ruby 23
225
- | 23 heartcombo/devise Ruby 18
226
- | 24 activerecord-hackery/ransack Ruby 10
227
- | 25 Homebrew/homebrew-cask Ruby 32
228
-
229
- EOS
211
+ res = <<-OUTPUT.unindent
212
+ |No. Name Lang Star
213
+ |--- ---------------------------------------- ---------- ------
214
+ | 1 mastodon/mastodon Ruby 115
215
+ | 2 community/community Ruby 25
216
+ | 3 freeCodeCamp/devdocs Ruby 65
217
+ | 4 rapid7/metasploit-framework Ruby 84
218
+ | 5 github-linguist/linguist Ruby 14
219
+ | 6 ankane/pghero Ruby 32
220
+ | 7 chatwoot/chatwoot Ruby 59
221
+ | 8 department-of-veterans-affairs/vets-api Ruby 2
222
+ | 9 ekylibre/ekylibre Ruby 21
223
+ | 10 mileszs/wicked_pdf Ruby 5
224
+ | 11 elastic/elasticsearch-rails Ruby 2
225
+ | 12 heartcombo/devise Ruby 16
226
+ | 13 aws/aws-sdk-ruby Ruby 2
227
+ | 14 endoflife-date/endoflife.date Ruby 19
228
+ | 15 jekyll/jekyll Ruby 50
229
+ | 16 heartcombo/simple_form Ruby 6
230
+ | 17 thoughtbot/shoulda-matchers Ruby 5
231
+ | 18 spree/spree Ruby 13
232
+ | 19 solidusio/solidus Ruby 8
233
+ | 20 huginn/huginn Ruby 67
234
+ | 21 CanCanCommunity/cancancan Ruby 2
235
+ | 22 tradingview/charting-library-examples Ruby 3
236
+ | 23 kaminari/kaminari Ruby 5
237
+ | 24 rubocop/rubocop Ruby 10
238
+ | 25 paper-trail-gem/paper_trail Ruby 3
239
+
240
+ OUTPUT
230
241
  expect { cli.invoke(:list, [], language: language, since: since, description: false) }.to output(res).to_stdout
231
242
  end
232
243
  end
@@ -235,16 +246,18 @@ RSpec.describe GitTrend::CLI do
235
246
 
236
247
  describe "#languages" do
237
248
  before { stub_request_get("trending") }
249
+
238
250
  let(:cli) { CLI.new }
239
251
 
240
252
  context "with no option" do
241
253
  it "display languages" do
242
- expect { cli.languages }.to output(dummy_languages).to_stdout
254
+ expect { cli.languages }.to output(include("C++", "HTML", "Ruby")).to_stdout
243
255
  end
244
256
  end
245
257
  end
246
258
 
247
259
  private
260
+
248
261
  def stub_request_get(stub_url_path, stub_file_name = nil)
249
262
  url = Scraper::BASE_HOST.dup
250
263
  url << "/#{stub_url_path}" if stub_url_path
@@ -254,759 +267,139 @@ RSpec.describe GitTrend::CLI do
254
267
  .to_return(
255
268
  status: 200,
256
269
  headers: { content_type: "text/html" },
257
- body: load_http_stub(stub_file))
270
+ body: load_http_stub(stub_file)
271
+ )
258
272
  end
259
273
 
260
274
  def dummy_result_without_description
261
- <<-'EOS'.unindent
262
- |No. Name Lang Star
263
- |--- -------------------------------------------- ---------- ------
264
- | 1 AppFlowy-IO/appflowy Rust 238
265
- | 2 iptv-org/iptv JavaScript 107
266
- | 3 nodejs/node JavaScript 123
267
- | 4 yt-dlp/yt-dlp Python 139
268
- | 5 nextui-org/nextui TypeScript 515
269
- | 6 ciderapp/Cider JavaScript 58
270
- | 7 Ebazhanov/linkedin-skill-assessments-quizzes 266
271
- | 8 Jxck-S/plane-notify Python 39
272
- | 9 Koenkk/zigbee2mqtt JavaScript 77
273
- | 10 Developer-Y/cs-video-courses 710
274
- | 11 HashLips/hashlips_art_engine JavaScript 93
275
- | 12 IBAX-io/go-ibax Go 775
276
- | 13 emilk/egui Rust 34
277
- | 14 PathOfBuildingCommunity/PathOfBuilding Lua 38
278
- | 15 uutils/coreutils Rust 269
279
- | 16 ryanoasis/nerd-fonts CSS 25
280
- | 17 KaLendsi/CVE-2022-21882 C++ 51
281
- | 18 kdrag0n/safetynet-fix C++ 34
282
- | 19 Chia-Network/chia-blockchain Python 13
283
- | 20 github/docs JavaScript 26
284
- | 21 RunaCapital/awesome-oss-alternatives Python 415
285
- | 22 TheAlgorithms/Go Go 123
286
- | 23 pi-hole/docker-pi-hole Shell 5
287
- | 24 zhiwehu/Python-programming-exercises 50
288
- | 25 LawnchairLauncher/lawnicons Kotlin 6
289
-
290
- EOS
275
+ <<-OUTPUT.unindent
276
+ |No. Name Lang Star
277
+ |--- ------------------------------------------ ---------------- ------
278
+ | 1 linexjlin/GPTs 445
279
+ | 2 ml-explore/mlx-examples Python 161
280
+ | 3 PRIS-CV/DemoFusion Jupyter Notebook 169
281
+ | 4 jmpoep/vmprotect-3.5.1 C++ 489
282
+ | 5 prasanthrangan/hyprdots Shell 21
283
+ | 6 MichaelYuhe/ai-group-tabs TypeScript 230
284
+ | 7 mli/paper-reading 129
285
+ | 8 SuperDuperDB/superduperdb Python 497
286
+ | 9 ByteByteGoHq/system-design-101 268
287
+ | 10 yformer/EfficientSAM Jupyter Notebook 117
288
+ | 11 xuchengsheng/spring-reading Java 413
289
+ | 12 Flode-Labs/vid2densepose Python 164
290
+ | 13 huggingface/optimum-nvidia Python 133
291
+ | 14 sweepai/sweep Python 55
292
+ | 15 practical-tutorials/project-based-learning 2058
293
+ | 16 home-assistant/core Python 33
294
+ | 17 100xdevs-cohort-2/assignments JavaScript 117
295
+ | 18 kgrzybek/modular-monolith-with-ddd C# 21
296
+ | 19 rmcelreath/stat_rethinking_2024 R 41
297
+ | 20 jackfrued/Python-100-Days Python 192
298
+ | 21 01-ai/Yi Python 18
299
+ | 22 facebookresearch/Pearl Python 95
300
+ | 23 zzzgydi/clash-verge TypeScript 31
301
+ | 24 ytdl-org/youtube-dl Python 24
302
+ | 25 dunglas/frankenphp Go 53
303
+
304
+ OUTPUT
291
305
  end
292
306
 
293
307
  def dummy_result_no_options
294
- <<-'EOS'.unindent
295
- |No. Name Lang Star Description
296
- |--- -------------------------------------------- ---------- ------ -------------------------------------------------------------------------
297
- | 1 AppFlowy-IO/appflowy Rust 238 AppFlowy is an open-source alternative to Notion. You are in charge of...
298
- | 2 iptv-org/iptv JavaScript 107 Collection of publicly available IPTV channels from all over the world
299
- | 3 nodejs/node JavaScript 123 Node.js JavaScript runtime ✨🐢🚀✨
300
- | 4 yt-dlp/yt-dlp Python 139 A youtube-dl fork with additional features and fixes
301
- | 5 nextui-org/nextui TypeScript 515 🚀 Beautiful, fast and modern React UI library.
302
- | 6 ciderapp/Cider JavaScript 58 Project Cider. A new look into listening and enjoying Apple Music in s...
303
- | 7 Ebazhanov/linkedin-skill-assessments-quizzes 266 Full reference of LinkedIn answers 2022 for skill assessments, LinkedI...
304
- | 8 Jxck-S/plane-notify Python 39 Notify If a selected plane has taken off or landed using OpenSky or AD...
305
- | 9 Koenkk/zigbee2mqtt JavaScript 77 Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridge...
306
- | 10 Developer-Y/cs-video-courses 710 List of Computer Science courses with video lectures.
307
- | 11 HashLips/hashlips_art_engine JavaScript 93 HashLips Art Engine is a tool used to create multiple different instan...
308
- | 12 IBAX-io/go-ibax Go 775 An innovative Blockchain Protocol Platform, which everyone can deploy ...
309
- | 13 emilk/egui Rust 34 egui: an easy-to-use immediate mode GUI in Rust that runs on both web ...
310
- | 14 PathOfBuildingCommunity/PathOfBuilding Lua 38 Offline build planner for Path of Exile.
311
- | 15 uutils/coreutils Rust 269 Cross-platform Rust rewrite of the GNU coreutils
312
- | 16 ryanoasis/nerd-fonts CSS 25 Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patch...
313
- | 17 KaLendsi/CVE-2022-21882 C++ 51 win32k LPE
314
- | 18 kdrag0n/safetynet-fix C++ 34 Google SafetyNet attestation workarounds for Magisk
315
- | 19 Chia-Network/chia-blockchain Python 13 Chia blockchain python implementation (full node, farmer, harvester, t...
316
- | 20 github/docs JavaScript 26 The open-source repo for docs.github.com
317
- | 21 RunaCapital/awesome-oss-alternatives Python 415 Awesome list of open-source startup alternatives to well-known SaaS pr...
318
- | 22 TheAlgorithms/Go Go 123 Algorithms implemented in Go for beginners, following best practices.
319
- | 23 pi-hole/docker-pi-hole Shell 5 Pi-hole in a docker container
320
- | 24 zhiwehu/Python-programming-exercises 50 100+ Python challenging programming exercises
321
- | 25 LawnchairLauncher/lawnicons Kotlin 6
322
-
323
- EOS
308
+ <<-OUTPUT.unindent
309
+ |No. Name Lang Star Description
310
+ |--- ------------------------------------------ ---------------- ------ ---------------------------------------------------------------------
311
+ | 1 linexjlin/GPTs 445 leaked prompts of GPTs
312
+ | 2 ml-explore/mlx-examples Python 161 Examples in the MLX framework
313
+ | 3 PRIS-CV/DemoFusion Jupyter Notebook 169 Let us democratise high-resolution generation! (arXiv 2023)
314
+ | 4 jmpoep/vmprotect-3.5.1 C++ 489
315
+ | 5 prasanthrangan/hyprdots Shell 21 // Aesthetic, dynamic and minimal dots for Arch hyprland
316
+ | 6 MichaelYuhe/ai-group-tabs TypeScript 230 A Chrome extension helps you group your tabs with AI.
317
+ | 7 mli/paper-reading 129 深度学习经典、新论文逐段精读
318
+ | 8 SuperDuperDB/superduperdb Python 497 🔮 SuperDuperDB: Bring AI to your database: Integrate, train and m...
319
+ | 9 ByteByteGoHq/system-design-101 268 Explain complex systems using visuals and simple terms. Help you p...
320
+ | 10 yformer/EfficientSAM Jupyter Notebook 117 EfficientSAM: Leveraged Masked Image Pretraining for Efficient Seg...
321
+ | 11 xuchengsheng/spring-reading Java 413 涵盖了 Spring 框架的核心概念和关键功能,包括控制反转(IOC)容器的...
322
+ | 12 Flode-Labs/vid2densepose Python 164 Convert your videos to densepose and use it on MagicAnimate
323
+ | 13 huggingface/optimum-nvidia Python 133
324
+ | 14 sweepai/sweep Python 55 Sweep: AI-powered Junior Developer for small features and bug fixes.
325
+ | 15 practical-tutorials/project-based-learning 2058 Curated list of project-based tutorials
326
+ | 16 home-assistant/core Python 33 🏡 Open source home automation that puts local control and privacy...
327
+ | 17 100xdevs-cohort-2/assignments JavaScript 117
328
+ | 18 kgrzybek/modular-monolith-with-ddd C# 21 Full Modular Monolith application with Domain-Driven Design approach.
329
+ | 19 rmcelreath/stat_rethinking_2024 R 41
330
+ | 20 jackfrued/Python-100-Days Python 192 Python - 100天从新手到大师
331
+ | 21 01-ai/Yi Python 18 A series of large language models trained from scratch by develope...
332
+ | 22 facebookresearch/Pearl Python 95 A Production-ready Reinforcement Learning AI Agent Library brought...
333
+ | 23 zzzgydi/clash-verge TypeScript 31 A Clash GUI based on tauri. Supports Windows, macOS and Linux.
334
+ | 24 ytdl-org/youtube-dl Python 24 Command-line program to download videos from YouTube.com and other...
335
+ | 25 dunglas/frankenphp Go 53 The modern PHP app server
336
+
337
+ OUTPUT
324
338
  end
325
339
 
326
340
  def dummy_weekly_result
327
- <<-'EOS'.unindent
328
- |No. Name Lang Star
329
- |--- -------------------------------------------- ---------- ------
330
- | 1 doocs/leetcode Java 1754
331
- | 2 veler/DevToys C# 2953
332
- | 3 Ebazhanov/linkedin-skill-assessments-quizzes 854
333
- | 4 papers-we-love/papers-we-love Shell 825
334
- | 5 TheAlgorithms/Javascript JavaScript 425
335
- | 6 ciderapp/Cider JavaScript 247
336
- | 7 huginn/huginn Ruby 881
337
- | 8 public-apis/public-apis Python 1482
338
- | 9 akutz/go-generics-the-hard-way Go 489
339
- | 10 pytorch/fairseq Python 292
340
- | 11 rancher-sandbox/rancher-desktop TypeScript 478
341
- | 12 microsoft/playwright TypeScript 1085
342
- | 13 scikit-learn/scikit-learn Python 245
343
- | 14 DustinBrett/daedalOS JavaScript 991
344
- | 15 chiru-labs/ERC721A Solidity 226
345
- | 16 pedroslopez/whatsapp-web.js JavaScript 424
346
- | 17 abiosoft/colima Go 537
347
- | 18 jackfrued/Python-100-Days Python 503
348
- | 19 kedro-org/kedro Python 785
349
- | 20 khuedoan/homelab Python 1416
350
- | 21 imcuttle/mometa TypeScript 553
351
- | 22 nektos/act Go 394
352
- | 23 spring-projects/spring-authorization-server Java 165
353
- | 24 flameshot-org/flameshot C++ 311
354
- | 25 yuzu-emu/yuzu C++ 449
355
-
356
- EOS
341
+ <<-OUTPUT.unindent
342
+ |No. Name Lang Star
343
+ |--- ------------------------------------------ ---------------- ------
344
+ | 1 LC044/WeChatMsg Python 10719
345
+ | 2 microsoft/TaskWeaver Python 1957
346
+ | 3 facebookresearch/seamless_communication C 1568
347
+ | 4 lllyasviel/Fooocus Python 3406
348
+ | 5 sherlock-project/sherlock Python 996
349
+ | 6 pytorch-labs/gpt-fast Python 2147
350
+ | 7 comfyanonymous/ComfyUI Python 1518
351
+ | 8 VikParuchuri/marker Python 1497
352
+ | 9 xuchengsheng/spring-reading Java 637
353
+ | 10 Mozilla-Ocho/llamafile C++ 1833
354
+ | 11 go-gost/gost Go 487
355
+ | 12 microsoft/PowerToys C# 905
356
+ | 13 songquanpeng/one-api Go 323
357
+ | 14 nocodb/nocodb TypeScript 392
358
+ | 15 AleoHQ/leo Rust 744
359
+ | 16 modularml/mojo Jupyter Notebook 386
360
+ | 17 gkd-kit/gkd Kotlin 1272
361
+ | 18 danny-avila/LibreChat TypeScript 647
362
+ | 19 practical-tutorials/project-based-learning 1670
363
+ | 20 pocketbase/pocketbase Go 457
364
+ | 21 symfony/symfony PHP 35
365
+ | 22 awesome-selfhosted/awesome-selfhosted 2239
366
+ | 23 upscayl/upscayl TypeScript 266
367
+ | 24 coolsnowwolf/lede C 132
368
+ | 25 QwenLM/Qwen Python 377
369
+
370
+ OUTPUT
357
371
  end
358
372
 
359
373
  def dummy_monthly_result
360
- <<-'EOS'.unindent
361
- |No. Name Lang Star
362
- |--- -------------------------------------------- ---------- ------
363
- | 1 Asabeneh/30-Days-Of-JavaScript JavaScript 3736
364
- | 2 files-community/Files C# 3999
365
- | 3 adrianhajdin/project_web3.0 JavaScript 994
366
- | 4 doocs/leetcode Java 2516
367
- | 5 tauri-apps/tauri Rust 4367
368
- | 6 HashLips/hashlips_art_engine JavaScript 1156
369
- | 7 bevyengine/bevy Rust 1389
370
- | 8 coqui-ai/TTS Python 803
371
- | 9 apache/incubator-seatunnel Java 1136
372
- | 10 sunym1993/flash-linux0.11-talk C 3237
373
- | 11 Textualize/rich Python 2676
374
- | 12 withastro/astro TypeScript 1467
375
- | 13 dgtlmoon/changedetection.io Python 1496
376
- | 14 safak/youtube CSS 377
377
- | 15 mattermost/focalboard TypeScript 2313
378
- | 16 Ebazhanov/linkedin-skill-assessments-quizzes 1458
379
- | 17 containers/podman Go 658
380
- | 18 TandoorRecipes/recipes HTML 601
381
- | 19 emilk/egui Rust 967
382
- | 20 dataease/dataease Java 651
383
- | 21 danielyxie/bitburner JavaScript 776
384
- | 22 dwyl/english-words Python 422
385
- | 23 TheAlgorithms/Javascript JavaScript 839
386
- | 24 baidu/amis TypeScript 765
387
- | 25 rancher-sandbox/rancher-desktop TypeScript 746
388
-
389
- EOS
390
- end
391
-
392
- def dummy_languages
393
- <<-'EOS'.unindent
394
- |C++
395
- |HTML
396
- |Java
397
- |JavaScript
398
- |PHP
399
- |Python
400
- |Ruby
401
- |Unknown languages
402
- |1C Enterprise
403
- |4D
404
- |ABAP
405
- |ABAP CDS
406
- |ABNF
407
- |ActionScript
408
- |Ada
409
- |Adobe Font Metrics
410
- |Agda
411
- |AGS Script
412
- |AIDL
413
- |AL
414
- |AL
415
- |Alloy
416
- |Alpine Abuild
417
- |Altium Designer
418
- |AMPL
419
- |AngelScript
420
- |Ant Build System
421
- |ANTLR
422
- |ApacheConf
423
- |Apex
424
- |API Blueprint
425
- |APL
426
- |Apollo Guidance Computer
427
- |AppleScript
428
- |Arc
429
- |AsciiDoc
430
- |ASL
431
- |ASN.1
432
- |Classic ASP
433
- |ASP.NET
434
- |AspectJ
435
- |Assembly
436
- |Astro
437
- |Asymptote
438
- |ATS
439
- |Augeas
440
- |AutoHotkey
441
- |AutoIt
442
- |Avro IDL
443
- |Awk
444
- |Ballerina
445
- |BASIC
446
- |Batchfile
447
- |Beef
448
- |Befunge
449
- |BibTeX
450
- |Bicep
451
- |Bison
452
- |BitBake
453
- |Blade
454
- |BlitzBasic
455
- |BlitzMax
456
- |Bluespec
457
- |Boo
458
- |Boogie
459
- |Brainfuck
460
- |Brightscript
461
- |Zeek
462
- |Browserslist
463
- |C
464
- |C#
465
- |C-ObjDump
466
- |C2hs Haskell
467
- |Cabal Config
468
- |Cap'n Proto
469
- |CartoCSS
470
- |Ceylon
471
- |Chapel
472
- |Charity
473
- |ChucK
474
- |CIL
475
- |Cirru
476
- |Clarion
477
- |Classic ASP
478
- |Clean
479
- |Click
480
- |CLIPS
481
- |Clojure
482
- |Closure Templates
483
- |Cloud Firestore Security Rules
484
- |CMake
485
- |COBOL
486
- |CODEOWNERS
487
- |CodeQL
488
- |CoffeeScript
489
- |ColdFusion
490
- |ColdFusion CFC
491
- |COLLADA
492
- |Common Lisp
493
- |Common Workflow Language
494
- |Component Pascal
495
- |CoNLL-U
496
- |Cool
497
- |Coq
498
- |Cpp-ObjDump
499
- |Creole
500
- |Crystal
501
- |CSON
502
- |Csound
503
- |Csound Document
504
- |Csound Score
505
- |CSS
506
- |CSV
507
- |Cuda
508
- |CUE
509
- |cURL Config
510
- |CWeb
511
- |Cycript
512
- |Cython
513
- |D
514
- |D-ObjDump
515
- |Dafny
516
- |Darcs Patch
517
- |Dart
518
- |DataWeave
519
- |desktop
520
- |Dhall
521
- |Diff
522
- |DIGITAL Command Language
523
- |dircolors
524
- |DirectX 3D File
525
- |DM
526
- |DNS Zone
527
- |Dockerfile
528
- |Dogescript
529
- |DTrace
530
- |Dylan
531
- |E
532
- |E-mail
533
- |Eagle
534
- |Earthly
535
- |Easybuild
536
- |EBNF
537
- |eC
538
- |Ecere Projects
539
- |ECL
540
- |ECLiPSe
541
- |EditorConfig
542
- |Edje Data Collection
543
- |edn
544
- |Eiffel
545
- |EJS
546
- |Elixir
547
- |Elm
548
- |Emacs Lisp
549
- |EmberScript
550
- |E-mail
551
- |EQ
552
- |Erlang
553
- |F#
554
- |F*
555
- |Factor
556
- |Fancy
557
- |Fantom
558
- |Faust
559
- |Fennel
560
- |FIGlet Font
561
- |Filebench WML
562
- |Filterscript
563
- |fish
564
- |Fluent
565
- |FLUX
566
- |Formatted
567
- |Forth
568
- |Fortran
569
- |Fortran Free Form
570
- |FreeBasic
571
- |FreeMarker
572
- |Frege
573
- |Futhark
574
- |G-code
575
- |Game Maker Language
576
- |GAML
577
- |GAMS
578
- |GAP
579
- |GCC Machine Description
580
- |GDB
581
- |GDScript
582
- |GEDCOM
583
- |Gemfile.lock
584
- |Genie
585
- |Genshi
586
- |Gentoo Ebuild
587
- |Gentoo Eclass
588
- |Gerber Image
589
- |Gettext Catalog
590
- |Gherkin
591
- |Git Attributes
592
- |Git Config
593
- |GLSL
594
- |Glyph
595
- |Glyph Bitmap Distribution Format
596
- |GN
597
- |Gnuplot
598
- |Go
599
- |Go Checksums
600
- |Go Module
601
- |Golo
602
- |Gosu
603
- |Grace
604
- |Gradle
605
- |Grammatical Framework
606
- |Graph Modeling Language
607
- |GraphQL
608
- |Graphviz (DOT)
609
- |Groovy
610
- |Groovy Server Pages
611
- |Hack
612
- |Haml
613
- |Handlebars
614
- |HAProxy
615
- |Harbour
616
- |Haskell
617
- |Haxe
618
- |HCL
619
- |HiveQL
620
- |HLSL
621
- |HolyC
622
- |Jinja
623
- |HTML+ECR
624
- |HTML+EEX
625
- |HTML+ERB
626
- |HTML+PHP
627
- |HTML+Razor
628
- |HTTP
629
- |HXML
630
- |Hy
631
- |HyPhy
632
- |IDL
633
- |Idris
634
- |Ignore List
635
- |IGOR Pro
636
- |ImageJ Macro
637
- |Inform 7
638
- |INI
639
- |Inno Setup
640
- |Io
641
- |Ioke
642
- |IRC log
643
- |Isabelle
644
- |Isabelle ROOT
645
- |J
646
- |Jasmin
647
- |Java Properties
648
- |Java Server Pages
649
- |JavaScript+ERB
650
- |JFlex
651
- |Jinja
652
- |Jison
653
- |Jison Lex
654
- |Jolie
655
- |jq
656
- |JSON
657
- |JSON with Comments
658
- |JSON5
659
- |JSONiq
660
- |JSONLD
661
- |Jsonnet
662
- |Julia
663
- |Jupyter Notebook
664
- |Kaitai Struct
665
- |KakouneScript
666
- |KiCad Layout
667
- |KiCad Legacy Layout
668
- |KiCad Schematic
669
- |Kit
670
- |Kotlin
671
- |KRL
672
- |Kusto
673
- |LabVIEW
674
- |Lark
675
- |Lasso
676
- |Latte
677
- |Lean
678
- |Less
679
- |Lex
680
- |LFE
681
- |LilyPond
682
- |Limbo
683
- |Linker Script
684
- |Linux Kernel Module
685
- |Liquid
686
- |Literate Agda
687
- |Literate CoffeeScript
688
- |Literate Haskell
689
- |LiveScript
690
- |LLVM
691
- |Logos
692
- |Logtalk
693
- |LOLCODE
694
- |LookML
695
- |LoomScript
696
- |LSL
697
- |LTspice Symbol
698
- |Lua
699
- |M
700
- |M4
701
- |M4Sugar
702
- |Macaulay2
703
- |Makefile
704
- |Mako
705
- |Markdown
706
- |Marko
707
- |Mask
708
- |Mathematica
709
- |MATLAB
710
- |Maven POM
711
- |Max
712
- |MAXScript
713
- |mcfunction
714
- |Wikitext
715
- |Mercury
716
- |Meson
717
- |Metal
718
- |Microsoft Developer Studio Project
719
- |Microsoft Visual Studio Solution
720
- |MiniD
721
- |Mirah
722
- |mIRC Script
723
- |MLIR
724
- |Modelica
725
- |Modula-2
726
- |Modula-3
727
- |Module Management System
728
- |Monkey
729
- |Moocode
730
- |MoonScript
731
- |Motoko
732
- |Motorola 68K Assembly
733
- |MQL4
734
- |MQL5
735
- |MTML
736
- |MUF
737
- |mupad
738
- |Muse
739
- |Mustache
740
- |Myghty
741
- |nanorc
742
- |NASL
743
- |NCL
744
- |Nearley
745
- |Nemerle
746
- |NEON
747
- |nesC
748
- |NetLinx
749
- |NetLinx+ERB
750
- |NetLogo
751
- |NewLisp
752
- |Nextflow
753
- |Nginx
754
- |Nim
755
- |Ninja
756
- |Nit
757
- |Nix
758
- |NL
759
- |NPM Config
760
- |NSIS
761
- |Nu
762
- |NumPy
763
- |Nunjucks
764
- |NWScript
765
- |ObjDump
766
- |Object Data Instance Notation
767
- |Objective-C
768
- |Objective-C++
769
- |Objective-J
770
- |ObjectScript
771
- |OCaml
772
- |Odin
773
- |Omgrofl
774
- |ooc
775
- |Opa
776
- |Opal
777
- |Open Policy Agent
778
- |OpenCL
779
- |OpenEdge ABL
780
- |OpenQASM
781
- |OpenRC runscript
782
- |OpenSCAD
783
- |OpenStep Property List
784
- |OpenType Feature File
785
- |Org
786
- |Ox
787
- |Oxygene
788
- |Oz
789
- |P4
790
- |Pan
791
- |Papyrus
792
- |Parrot
793
- |Parrot Assembly
794
- |Parrot Internal Representation
795
- |Pascal
796
- |Pawn
797
- |PEG.js
798
- |Pep8
799
- |Perl
800
- |Pic
801
- |Pickle
802
- |PicoLisp
803
- |PigLatin
804
- |Pike
805
- |PlantUML
806
- |PLpgSQL
807
- |PLSQL
808
- |Pod
809
- |Pod 6
810
- |PogoScript
811
- |Pony
812
- |PostCSS
813
- |PostScript
814
- |POV-Ray SDL
815
- |PowerBuilder
816
- |PowerShell
817
- |Prisma
818
- |Processing
819
- |Proguard
820
- |Prolog
821
- |Promela
822
- |Propeller Spin
823
- |Protocol Buffer
824
- |Public Key
825
- |Pug
826
- |Puppet
827
- |Pure Data
828
- |PureBasic
829
- |PureScript
830
- |Python console
831
- |Python traceback
832
- |q
833
- |Q#
834
- |QMake
835
- |QML
836
- |Qt Script
837
- |Quake
838
- |R
839
- |Racket
840
- |Ragel
841
- |Raku
842
- |RAML
843
- |Rascal
844
- |Raw token data
845
- |RDoc
846
- |Readline Config
847
- |REALbasic
848
- |Reason
849
- |Rebol
850
- |Red
851
- |Redcode
852
- |Regular Expression
853
- |Ren'Py
854
- |RenderScript
855
- |ReScript
856
- |reStructuredText
857
- |REXX
858
- |Rich Text Format
859
- |Ring
860
- |Riot
861
- |RMarkdown
862
- |RobotFramework
863
- |robots.txt
864
- |Roff
865
- |Roff Manpage
866
- |Rouge
867
- |RPC
868
- |RPM Spec
869
- |RUNOFF
870
- |Rust
871
- |Sage
872
- |SaltStack
873
- |SAS
874
- |Sass
875
- |Scala
876
- |Scaml
877
- |Scheme
878
- |Scilab
879
- |SCSS
880
- |sed
881
- |Self
882
- |ShaderLab
883
- |Shell
884
- |ShellSession
885
- |Shen
886
- |Sieve
887
- |Singularity
888
- |Slash
889
- |Slice
890
- |Slim
891
- |Smali
892
- |Smalltalk
893
- |Smarty
894
- |SmPL
895
- |SMT
896
- |Solidity
897
- |SourcePawn
898
- |SPARQL
899
- |Spline Font Database
900
- |SQF
901
- |SQL
902
- |SQLPL
903
- |Squirrel
904
- |SRecode Template
905
- |SSH Config
906
- |Stan
907
- |Standard ML
908
- |Starlark
909
- |Stata
910
- |STON
911
- |StringTemplate
912
- |Stylus
913
- |SubRip Text
914
- |SugarSS
915
- |SuperCollider
916
- |Svelte
917
- |SVG
918
- |Swift
919
- |SWIG
920
- |SystemVerilog
921
- |Tcl
922
- |Tcsh
923
- |Tea
924
- |Terra
925
- |TeX
926
- |Texinfo
927
- |Text
928
- |Textile
929
- |Thrift
930
- |TI Program
931
- |TLA
932
- |TOML
933
- |TSQL
934
- |TSV
935
- |TSX
936
- |Turing
937
- |Turtle
938
- |Twig
939
- |TXL
940
- |Type Language
941
- |TypeScript
942
- |Unified Parallel C
943
- |Unity3D Asset
944
- |Unix Assembly
945
- |Uno
946
- |UnrealScript
947
- |UrWeb
948
- |V
949
- |Vala
950
- |Valve Data Format
951
- |VBA
952
- |VBScript
953
- |VCL
954
- |Verilog
955
- |VHDL
956
- |Vim Help File
957
- |Vim Script
958
- |Vim Snippet
959
- |Visual Basic .NET
960
- |Visual Basic .NET
961
- |Volt
962
- |Vue
963
- |Wavefront Material
964
- |Wavefront Object
965
- |wdl
966
- |Web Ontology Language
967
- |WebAssembly
968
- |WebIDL
969
- |WebVTT
970
- |Wget Config
971
- |Wikitext
972
- |Windows Registry Entries
973
- |wisp
974
- |Wollok
975
- |World of Warcraft Addon Data
976
- |X BitMap
977
- |X Font Directory Index
978
- |X PixMap
979
- |X10
980
- |xBase
981
- |XC
982
- |XCompose
983
- |XML
984
- |XML Property List
985
- |Xojo
986
- |Xonsh
987
- |XPages
988
- |XProc
989
- |XQuery
990
- |XS
991
- |XSLT
992
- |Xtend
993
- |Yacc
994
- |YAML
995
- |YANG
996
- |YARA
997
- |YASnippet
998
- |ZAP
999
- |Zeek
1000
- |ZenScript
1001
- |Zephir
1002
- |Zig
1003
- |ZIL
1004
- |Zimpl
1005
- |
1006
- |611 languages
1007
- |you can get only selected language list with '-l' option.
1008
- |if languages is unknown, you can specify 'unkown'.
1009
- |
1010
- EOS
374
+ <<-OUTPUT.unindent
375
+ |No. Name Lang Star
376
+ |--- ---------------------------------------- ---------------- ------
377
+ | 1 SawyerHood/draw-a-ui TypeScript 11761
378
+ | 2 Stability-AI/generative-models Python 7286
379
+ | 3 microsoft/ML-For-Beginners HTML 9252
380
+ | 4 microsoft/generative-ai-for-beginners Jupyter Notebook 15174
381
+ | 5 lllyasviel/Fooocus Python 10023
382
+ | 6 langchain-ai/opengpts Rich Text Format 3978
383
+ | 7 facebookresearch/seamless_communication C 2607
384
+ | 8 microsoft/AI-For-Beginners Jupyter Notebook 5708
385
+ | 9 tldraw/tldraw TypeScript 6750
386
+ | 10 atomicals/atomicals-js TypeScript 627
387
+ | 11 githubnext/monaspace TypeScript 9912
388
+ | 12 udlbook/udlbook Jupyter Notebook 1551
389
+ | 13 comfyanonymous/ComfyUI Python 4197
390
+ | 14 langgenius/dify TypeScript 2906
391
+ | 15 lobehub/lobe-chat TypeScript 2622
392
+ | 16 luosiallen/latent-consistency-model Python 2706
393
+ | 17 daveshap/OpenAI_Agent_Swarm Python 2310
394
+ | 18 chenzomi12/DeepLearningSystem Jupyter Notebook 1760
395
+ | 19 biomejs/biome Rust 2372
396
+ | 20 openai/openai-python Python 2811
397
+ | 21 AppFlowy-IO/AppFlowy Dart 3071
398
+ | 22 saadeghi/daisyui Svelte 1773
399
+ | 23 nlohmann/json C++ 1080
400
+ | 24 SillyTavern/SillyTavern JavaScript 1566
401
+ | 25 1Panel-dev/1Panel Go 1950
402
+
403
+ OUTPUT
1011
404
  end
1012
405
  end