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 "g...@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 <gu...@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 <pablog...@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-le...@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)
>
_______________________________________________
core-workflow mailing list -- core-workflow@python.org
To unsubscribe send an email to core-workflow-le...@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

Reply via email to