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/contributions/canonical_name.py

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
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
​ :)


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)