All Projects → kiok46 → Track-Stargazers

kiok46 / Track-Stargazers

Licence: MIT License
Have fun tracking your project's stargazers

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to Track-Stargazers

React Native Multithreading
🧵 Fast and easy multithreading for React Native using JSI
Stars: ✭ 164 (+331.58%)
Mutual labels:  multithreading, threading
Github-Stars-Predictor
It's a github repo star predictor that tries to predict the stars of any github repository having greater than 100 stars.
Stars: ✭ 34 (-10.53%)
Mutual labels:  github-api, github-stars
Awesome Github
A curated list of awesome GitHub guides, articles, sites, tools, projects and resources. 收集这个列表,只是为了更好地使用GitHub,欢迎提交pr和issue。
Stars: ✭ 1,962 (+5063.16%)
Mutual labels:  github-api, github-stars
Microjob
A tiny wrapper for turning Node.js worker threads into easy-to-use routines for heavy CPU loads.
Stars: ✭ 1,985 (+5123.68%)
Mutual labels:  multithreading, threading
dannyAVgleDownloader
知名網站avgle下載器
Stars: ✭ 27 (-28.95%)
Mutual labels:  multithreading, threading
meet-the-fans
Query and Visualize the network graph of your GitHub repositories, followers, stargazers, and forks.
Stars: ✭ 22 (-42.11%)
Mutual labels:  github-api, d3js
thread-pool
BS::thread_pool: a fast, lightweight, and easy-to-use C++17 thread pool library
Stars: ✭ 1,043 (+2644.74%)
Mutual labels:  multithreading, threading
Pht
A new threading extension for PHP
Stars: ✭ 175 (+360.53%)
Mutual labels:  multithreading, threading
stellar
Search your github stars in R
Stars: ✭ 24 (-36.84%)
Mutual labels:  github-api, github-stars
react-native-bg-thread
react-native-bg-thread
Stars: ✭ 45 (+18.42%)
Mutual labels:  multithreading, threading
Concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
Stars: ✭ 340 (+794.74%)
Mutual labels:  multithreading, threading
ObviousAwait
🧵 Expressive aliases to ConfigureAwait(true) and ConfigureAwait(false)
Stars: ✭ 55 (+44.74%)
Mutual labels:  multithreading, threading
Thread
type safe multi-threading made easier
Stars: ✭ 34 (-10.53%)
Mutual labels:  multithreading, threading
Tieba-Birthday-Spider
百度贴吧生日爬虫,可抓取贴吧内吧友生日,并且在对应日期自动发送祝福
Stars: ✭ 28 (-26.32%)
Mutual labels:  threading, beautifulsoup
github-interact-cli
🎩 Interact with GItHub right inside your terminal
Stars: ✭ 43 (+13.16%)
Mutual labels:  github-api, github-stars
github-admin
vue和element-ui搭建一個後台管理系統,使用github提供的api搞事情。輸入您的github賬號名自動幫你生成基本的github信息哦😯
Stars: ✭ 15 (-60.53%)
Mutual labels:  github-api, d3js
d3.geometer
[NOT MAINTAINED] A D3js library for drawing polytopes, angles, coordinates, geometries and more.
Stars: ✭ 18 (-52.63%)
Mutual labels:  d3js
commit-comment
A GitHub action to create a comment for a commit on GitHub
Stars: ✭ 62 (+63.16%)
Mutual labels:  github-api
MediumScraper
Scraping articles of medium and providing audio versions 📑 to 🔊 using django
Stars: ✭ 12 (-68.42%)
Mutual labels:  beautifulsoup
DataStructures Algorithms Java
Collection of data structures and algorithms challenges that I've solved. 💤
Stars: ✭ 12 (-68.42%)
Mutual labels:  threading

Track-Your-Stargazers

Have fun tracking your project's stargazers.

Inspiration

I saw this post at Codementor by Ionică Bizău which lead me to his project, so I decided to create something cool of my own.

What have I used?

Python

Javascript

See the World Map showing your project's stargazers in just 2 Steps.

  • Step 1

    Run the following command replacing the url with your own.

    python3 main.py https://github.com/kivy/plyer 3 0 1
    

    Arguments:

    • url: URL of the project/ Repo who's stargazers you want to track. e.g: http://github.com/kivy/plyer

    • number_of_threads (+ve integer): Number of python threads you want to run. It will divide the entire users list into smaller lists equal to number_of_threads and create a new thread for each.

      python3 main.py http://github.com/kivy/plyer 3
      

      example:

      l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
      print (chunk_stargazers(l, 3))
      print (chunk_stargazers(l, 2))
      

      output

      [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]
      [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
      

    While parallel CPU computation is not possible, parallel IO operations are possible using threads in Python. This is because performing IO operations releases the GIL. In network IO, most of the time is spent waiting for the response from the URL, so this is a use case where using threads improves performance, so why not use them? :D

    • use_api (Binary): Choose whether you want to use the GitHub's user API to get the user data or use the scraper. To use the api enter 1 else 0
    python3 main.py http://github.com/kivy/plyer 3 0
    
    • read_from_stargazers_json (Binary): If there is a stargazers.json file aleady present with list of users you want to plot then you can skip scraping of users from the project's stargazer's page e.g http://github.com/kivy/plyer/stargazers?page=2 by setting the value of this argument to 1.
    python3 main.py http://github.com/kivy/plyer 3 0 1
    
  • Step 2

    python3 merge_data.py 2

    Arguments:

    • number_of_files: Let this number be equal to number_of_threads since each thread create a new json file.
    jsons/
        data_0.json
        data_1.json
    

    so the command should be

    python3 merge_data.py 2

    This command will merge all the json files and generate a new stargazers.js in the data/ directory. stargazers.js file will later be used as data source when plotting the map.

Open the Browser with index.html and get surprised.

Want to contribute or need to see some improvements?

I would love that, please create an issue or send a PR.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].