Code Monkey home page Code Monkey logo

committers.top's Introduction

Most Active GitHub Users Counter

This CLI tool queries the GitHub GraphQL API for users and ranks them according to number of contributions. Several preset locations are provided.

GitHub Token

In order to make requests against the GitHub API one needs an access token, which can be created here. The token needs read:org and read:user permissions.

Example usage (dev environment):

go run *.go \
   --token paste-your-token-here \
   --preset worldwide \
   --amount 500 \
   --consider 1000 \
   --output csv \
   --file ./output.csv

Contribution

Contributions are accepted. Please report issues or make pull requests against either master or branch for the website as appropriate.

Please use the provided precommit hooks and run go fmt, go vet and go lint liberally.

FAQ

Why is this running on a different domain?

The original project by @lauripiispanen seems to have been archived. I also thought that committers.top was a more appropriate domain name and quickly grabbed it ๐Ÿ˜€

Why am I not on this list?

This could be due to a number of things.

  1. Firstly, GitHub API doesn't allow sorting by contributions, so instead it is first sorted by number of followers to get a larger list, which is then sorted by contributions. This means you need a minimum number of followers to be on this list. Each page shows the minimum number of followers needed.

  2. You live in a city which is not included in the query. Unfortunately the query is free-text and not strictly geographical. Rural areas may be excluded from the list, but you can often remedy this by adding the country name to your location in GitHub.

  3. You have mostly private commits. These are included too, but they are not listed on the main country page anymore. Instead you will find a subpage with a list that also has private contributions included. This arrangement is done to favor open source contributions over private contributions.

Why is my contribution count not the same as on my GitHub profile?

Depending on your settings, your GitHub profile displays either only your public contributions or both your public and private ones. commits.top by default shows only public contributions, but public+private count is accessible on a subpage on each region page. You can use the GitHub API GraphQL Explorer and run the following query to see what the API returns for your user:

query { 
  viewer { 
    login
    contributionsCollection {
      restrictedContributionsCount
      contributionCalendar {
        totalContributions
      }
    }
  }
}

committers.top's People

Contributors

ahmadragheb avatar aragas avatar arrahhal avatar ashkulz avatar bernard-ng avatar davidbanu avatar descholar-ceo avatar endormi avatar fnrdev avatar gayanw avatar isyuricunha avatar kassane avatar lauripiispanen avatar marienmupenda avatar masoudrawahi avatar matissjanis avatar mytja avatar ngangavic avatar oesukam avatar olivierjm avatar rohaizadmaznan avatar romaletodiani avatar samerzmd avatar saravieira avatar slavce14 avatar stevewdamesjr avatar thiere18 avatar weilbyte avatar wmramadan avatar zayidmohamedy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

committers.top's Issues

Badge says unranked

I am top 13 in commiters and and 18 in contributions, however when I include the badge on my profile, it says I am unranked.

Help needed

Hi,

Thanks so much for taking up this project ! Very nice :)

Is there anything you'd need help with? I would be happy to support this where I can.

Cheers Fabian

Add the city to the report

It would be great for developers in the same city to meet IRL. Adding the city name would help here.

Also, it would help discover missing cities in a country's report.

Thanks!

[Feature] Add country to badge

Badge

  • The badge currently looks like this, is there a way to add the country next to it?
    image

For Example

  • commiters.top rank Egypt

Users with the same number of followers as another user sometimes disappear from the ranking

I have observed multiple times that users temporarily disappear from the site, when they should be meeting the cutoffs for followers and contributions. For example this recently affected my account in a23a538. Right now, I appear on https://committers.top/united_states_public, but incorrectly do not appear on https://committers.top/worldwide_public. Other users who have fewer followers and fewer contributions than me appear on that page, which should not be possible.

From examining the code, I have found one bug that could cause this behavior.

In this function:

func (client HTTPGithubClient) SearchUsers(query UserSearchQuery) (GithubSearchResults, error) {

we perform queries for followers:<N where N is the minimum follower count observed so far. After getting back each page of results, the minFollowerCount is appropriately updated. However if an error occurs during any request and continue Pages is executed, there may still be users with follower count equal to minFollowerCount who have not yet been returned.

For example if the first query returns users with follower count 900, 890, 889, 889, 887 then minFollowerCount is set to 887. Ordinarily the next request would visit the second page of the same query, using GitHub's after: pagination, and may include additional users with an 887 follower count. However if an error occurs during the second request, after a retry the next query will execute with followers:<887 and any other users with follower count equal to 887 will have been lost.

New Badge

Is it possible to integrate this badge from commits-top-badge to this project?

![commits.top ranking](https://iot.fbiego.com/api/v1/commits?user=fbiego&country=kenya&bg_color=333333&text_color=77fe89&border_color=89452e)

committers.top ranking

Add Commit Stats

Hello ๐Ÿ‘‹

After our discussion here: lauripiispanen/most-active-github-users-counter#148 (comment)

I wanted to ask if it is possible to add the Commit Badges also in this repository, I think it is really cool feature.

There is already 1 repo for that, but It stops working for me even though I am a listed user in Germany in committers.top.

Here is the repo: https://github.com/fbiego/commits-top-badge.

The author seems not caring the repo anymore, since my last created issue didn't get any feedback.

Germany ranking is broken

Currently, my badge doesn't work, it sometimes happens if I do not have enough follower to be in the list.

But this time when I wanted to check if it is the case at https://committers.top/germany

I realized that something is wrong in the webpage too. I took a screenshot for clarification. It says

This list contains all public commits for each user. There are 0 total users in the region and you need at least -1 followers to be on this list.
Screenshot 2024-06-29 at 12 50 23

Issue with My Profile on committers.top/Brazil

Hey there,

I hope all is well on your end. I would like to bring to your attention an issue I have encountered with the recent update of committers.top, specifically related to the Brazil section.

Firstly, I found a user on GitHub Brazil who has my profile listed in second position, despite the recent update that caused my name to disappear from the committers.top/Brazil website. You can verify this by visiting the following link:

https://github.com/isyuricunha/top-github-users/blob/main/markdown/public_contributions/brazil.md

Secondly, I discovered another repository on GitHub through the aforementioned user's repository, and once again, my profile is listed in the second position. You can confirm this by visiting the following link:

top-github-users/markdown/public_contributions/brazil.md at main ยท gayanvoice/top-github-users

I believe it is important to inform you about this issue, as my profile is not being displayed even though I should still be in the list and in second position This is the first time this has happened and the latest update seems to made my profile disappear from the website."
Please, let me know if there's any other way I can help out.

Keep up the good work !

Best
Fabiana ๐Ÿš€ Campanari

Remove peple that uses bots.

Hello, thanks a lot for this project. It can be used as a negotiation tools!

I noticed however that the first places are ofter trusted by pepole obviously using bots like:
https://github.com/philou or https://github.com/pocky

Not to dunk on them on any way, I'm sure it wasn't their intent to highjack the system but automatic commit shouldn't count.

To easily mitigate this there could be a threshold, pepole that have an average commit per day over 30 could resonably be filtered out.

Verbose mode

Hi, I have played around with your tool, and it seems to take a really long time despite my good connection.
I suspect that it does a lot of queries behind the scene, and maybe it gets rate-limited?

I used the command from the README, and increased slightly the amount, in hope to see my profile appear on the list:

go run *.go          \
    --token [TOKEN]  \
    --preset france  \
    --amount 5000    \
    --consider 10000 \
    --output csv     \
    --file ./output.csv

Could you add something like a verbose mode to see what is happening, and possibly track progression?
It would be really nice! Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.