Hi everyone, After talking with Victor Stinner on some ideas on how to encourage contributions to CPython and how to give more visibility to contributors (see Victor notes: http://pythondev.readthedocs.io/community.html), based on the https://thanks.rust-lang.org/ project (than in turn was based on http://contributors.rubyonrails.org/) I have created the following prototype in my daily commute time: https://thanks-python.herokuapp.com/ The project runs on Heroku at this moment, it fetches the latest changes from the git repository and updates every 30 minutes to get the latest information. You can click on any release to get the contributor names: Example: https://thanks-python.herokuapp.com/tag/v3.6.5 (the names are obtained from the commit messages) and you can in turn click any contributor name to get the list of commits: https://thanks-python.herokuapp.com/contributor/Mariatta You can also obtain a list of all contributors (all time contributors): https://thanks-python.herokuapp.com/all_time I want also to emphasize that this is just a very basic prototype made for evaluating the idea and the possible benefit that it has, but is functional :) The repo is located here: https://github.com/pablogsal/thanks-python At this point is a very simple flask app with a celery worker running in the background and a redis interface for celery and for storing the git data (so is very easy to bootstrap as the first thing it does when started is to clone the repo and fetch the data again). What are your opinions on the matter? P.S. Don't be to critic on my horrible html and web design skills ;) Regards from sunny London Pablo Galindo Salgado
Hello Pablo, On Mon, Jun 25, 2018 at 5:02 AM, Pablo Galindo Salgado <pablogsal@gmail.com> wrote:
What are your opinions on the matter?
This is a great addition. Thanks for doing this. I didn't know that rust, rubyonrails had something like this too.
P.S. Don't be to critic on my horrible html and web design skills ;)
It very well done. :-) -- Senthil
Thanks! I really like that you can drill down on various things until you reach GitHub. With a few iterations we should be able to launch this. - Show dates (and perhaps filter on "last week/month/etc."?) - A few people appear under two names (at least Eric [V.] Smith) - Contrast on the boxes here makes them hard to read for my old eyes: https://thanks-python.herokuapp.com/tag/v3.6.5 - For really old commits the "author" is often really just the person who reviewed and "merged" the patch - Ms Islington is credited for a number of commits -- shouldn't those be attributed to the original author somehow? On Mon, Jun 25, 2018 at 5:03 AM Pablo Galindo Salgado <pablogsal@gmail.com> wrote:
Hi everyone,
After talking with Victor Stinner on some ideas on how to encourage contributions to CPython and how to give more visibility to contributors (see Victor notes: http://pythondev.readthedocs.io/community.html), based on the https://thanks.rust-lang.org/ project (than in turn was based on http://contributors.rubyonrails.org/) I have created the following prototype in my daily commute time:
https://thanks-python.herokuapp.com/
The project runs on Heroku at this moment, it fetches the latest changes from the git repository and updates every 30 minutes to get the latest information. You can click on any release to get the contributor names:
Example: https://thanks-python.herokuapp.com/tag/v3.6.5
(the names are obtained from the commit messages) and you can in turn click any contributor name to get the list of commits:
https://thanks-python.herokuapp.com/contributor/Mariatta
You can also obtain a list of all contributors (all time contributors):
https://thanks-python.herokuapp.com/all_time
I want also to emphasize that this is just a very basic prototype made for evaluating the idea and the possible benefit that it has, but is functional :)
The repo is located here:
https://github.com/pablogsal/thanks-python
At this point is a very simple flask app with a celery worker running in the background and a redis interface for celery and for storing the git data (so is very easy to bootstrap as the first thing it does when started is to clone the repo and fetch the data again).
What are your opinions on the matter?
P.S. Don't be to critic on my horrible html and web design skills ;)
Regards from sunny London Pablo Galindo Salgado _______________________________________________ core-workflow mailing list -- core-workflow@python.org To unsubscribe send an email to core-workflow-leave@python.org https://mail.python.org/mm3/mailman3/lists/core-workflow.python.org/ This list is governed by the PSF Code of Conduct: https://www.python.org/psf/codeofconduct
-- --Guido van Rossum (python.org/~guido)
Hi everyone, I have found some time these two weeks to dedicate to the project and a lot of new improvements have been done: - I have ported the whole project from the hacky implementation using flask and redis to a more serious implementation using Django and postgres as the database backend. Regarding Guido's feedback:
- Show dates (and perhaps filter on "last week/month/etc."?)
You can now see dates and filter on them in several pages. Example: https://thanks-python.herokuapp.com/contributor/629 You can select a range of dates (under "Creation date") and click filter. Also, you can now see easily today/ this week/ this month contribution: https://thanks-python.herokuapp.com/
A few people appear under two names (at least Eric [V.] Smith)
This is a hard problem as multiple contributors have committed with different sets of emails and names. To avoid this problem I am aggregating all under the same name. As this does not resolve all ambiguity, a function (that contributors would be able to edit with Pull Requests) disambiguates the names: https://github.com/pablogsal/thanks-python/blob/master/thanks_python/contrib... In that example, I am mapping all commits from "greg@krypto.org" to the name "Gregory P. Smith".
- Contrast on the boxes here makes them hard to read for my old eyes: https://thanks-python.herokuapp.com/tag/v3.6.5
The text in the boxes is now white. I am very colourblind and this is probably not the best solution but now it should be easier to read :)
Ms Islington is credited for a number of commits -- shouldn't those be attributed to the original author somehow?
Now, when a commit is made by Ms Islington, the real cherry-picked commit is searched and used to identify the original author. ----- Rebuilding the database is baked in the application, as it keeps an updated copy of the CPython repo that is used to update the database. The first time you set this up (in a local environment or in the server or for a contributor...etc) it will download a fresh copy and will populate the missing data in the database. This makes deployment and contributing very easy. To help with future contributors I have provided several docker-compose files that makes setting everything up super easy: docker-compose -f local.yml up --build And you will have everything running after a few minutes. As a reminder the webpage is now running as Heroku app here: https://thanks-python.herokuapp.com/ and the repository lives here for now: https://github.com/pablogsal/thanks-python We could use GitHub issues for the next iterations if you prefer :) Regards from rainy London On Mon, 25 Jun 2018 at 18:05, Guido van Rossum <guido@python.org> wrote:
Thanks! I really like that you can drill down on various things until you reach GitHub.
With a few iterations we should be able to launch this.
- Show dates (and perhaps filter on "last week/month/etc."?) - A few people appear under two names (at least Eric [V.] Smith) - Contrast on the boxes here makes them hard to read for my old eyes: https://thanks-python.herokuapp.com/tag/v3.6.5 - For really old commits the "author" is often really just the person who reviewed and "merged" the patch - Ms Islington is credited for a number of commits -- shouldn't those be attributed to the original author somehow?
On Mon, Jun 25, 2018 at 5:03 AM Pablo Galindo Salgado <pablogsal@gmail.com> wrote:
Hi everyone,
After talking with Victor Stinner on some ideas on how to encourage contributions to CPython and how to give more visibility to contributors (see Victor notes: http://pythondev.readthedocs.io/community.html), based on the https://thanks.rust-lang.org/ project (than in turn was based on http://contributors.rubyonrails.org/) I have created the following prototype in my daily commute time:
https://thanks-python.herokuapp.com/
The project runs on Heroku at this moment, it fetches the latest changes from the git repository and updates every 30 minutes to get the latest information. You can click on any release to get the contributor names:
Example: https://thanks-python.herokuapp.com/tag/v3.6.5
(the names are obtained from the commit messages) and you can in turn click any contributor name to get the list of commits:
https://thanks-python.herokuapp.com/contributor/Mariatta
You can also obtain a list of all contributors (all time contributors):
https://thanks-python.herokuapp.com/all_time
I want also to emphasize that this is just a very basic prototype made for evaluating the idea and the possible benefit that it has, but is functional :)
The repo is located here:
https://github.com/pablogsal/thanks-python
At this point is a very simple flask app with a celery worker running in the background and a redis interface for celery and for storing the git data (so is very easy to bootstrap as the first thing it does when started is to clone the repo and fetch the data again).
What are your opinions on the matter?
P.S. Don't be to critic on my horrible html and web design skills ;)
Regards from sunny London Pablo Galindo Salgado _______________________________________________ core-workflow mailing list -- core-workflow@python.org To unsubscribe send an email to core-workflow-leave@python.org https://mail.python.org/mm3/mailman3/lists/core-workflow.python.org/ This list is governed by the PSF Code of Conduct: https://www.python.org/psf/codeofconduct
-- --Guido van Rossum (python.org/~guido)
participants (3)
-
Guido van Rossum
-
Pablo Galindo Salgado
-
Senthil Kumaran