Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add github usernames to the experts index #507

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
aeros opened this issue Jul 12, 2019 · 9 comments · Fixed by #552
Closed

Add github usernames to the experts index #507

aeros opened this issue Jul 12, 2019 · 9 comments · Fixed by #552

Comments

@aeros
Copy link
Contributor

aeros commented Jul 12, 2019

On the experts index section of the devguide, it would be helpful to include the GitHub usernames of the experts in each category. This seems like it would be a necessary component of fully implementing PEP 581. Currently, the names on this list only correspond with the names on the roundup issue tracker.

This would be particularly helpful so that contributors and those in the proposed triager role can notify the correct the core developers for review of an issue. Sometimes the reviewers automatically added based on the code owners list is enough, but in many cases (particularly for documentation) it is not. For an example, see python/cpython#14492.

I would be glad to help with updating the experts list, but I'm undecided as far as formatting goes. At the moment, it looks something like this:

Interest Area | Maintainers

documentation | ezio.melotti, eric.araujo, mdk, willingc

Here's a few ideas:

  1. Add github username in parenthesis if it is not the same as the one listed:

Interest Area | Maintainers

documentation | ezio.melotti (ezio-melotti), eric.araujo (merwok), mdk (JulienPalard) , willingc

  1. Change the maintainers column to use their actual name, and have other section(s) for the usernames:

Interest Area | Maintainers | GitHub

documentation | Ezio Melotti, Eric Araujo, Julien Palard, Carol Willing | ezio-melotti, merwok JulienPalard, willingc

  1. Replace roundup usernames with GitHub usernames:

Interest Area | Maintainers

documentation | ezio-melotti, merwok, JulienPalard, willingc

Since the transition to GitHub issues is still in progress, I would suggest using the first option, as that would allow for the index to still be useful for issues which are on the roundup issue tracker. Once the transition is complete, the roundup usernames could be removed and replaced with just the github usernames (third option).

@aeros
Copy link
Contributor Author

aeros commented Jul 12, 2019

While working on this issue, it might also be appropriate to spend some time updating the list so that any currently inactive experts are removed and currently active experts are added. Any active core developer who has experience reviewing PRs in a given category and is interested could be added.

@Mariatta
Copy link
Member

I also prefer option 1.

I believe there is an existing mechanism to automatically +nosy people in experts list to issue in bpo. Not sure if changing the format will break anything. Perhaps someone more familiar with bpo can chime in.

@zware
Copy link
Member

zware commented Jul 15, 2019

The experts list is read to populate the nosy auto-complete options, see here for the code that reads it. Any change to the experts list should either be made to conform to the existing code, or come with a pull request to that code to parse the new format (if done before PEP 588 is implemented).

@aeros
Copy link
Contributor Author

aeros commented Jul 15, 2019

@zware

Any change to the experts list should either be made to conform to the existing code, or come with a pull request to that code to parse the new format (if done before PEP 588 is implemented).

Alright, I could start working on this and test it by locally hosting the raw experts page and attempting to extract data from it. I have some experience working with urllib and json parsing in general.

Alternatively, would it be practical for us to setup an API which contains just the expert data in json format? This would allow for separation between the webpage and data extraction. It would likely result in an increase in extraction performance and allow the webpage's UI to not be dependent on a specific format for data extraction. As an example of what I'm talking about:

webpage: https://www.reddit.com/r/Python
API: https://www.reddit.com/r/Python.json

I'm not sure as to how involved it would be to do something similar with the existing RST pages. It wouldn't have to be done for every page by any means, just the ones that we specifically we have a use for frequent data extraction, such as the experts index. For now though I'll just work on allowing for compatibility with the existing extraction.

It would be quite useful to have something similar for GitHub labels. Currently the type labels such as type-documentation don't actually have any functionality other than organization, but preferably they'd be able to extract the data from the experts list and add any of the experts in a given category to the PR reviewers. This would result in a significant workflow improvement, and increase the benefit that the new GitHub triager role could provide.

@zware
Copy link
Member

zware commented Jul 15, 2019

I don't know about setting up an API, but I think it would be reasonable to store the experts data in JSON format, and generate both the nosy auto-complete and the table in experts.rst from the JSON data.

@Mariatta
Copy link
Member

It can just be a .json file within this repo on GitHub. Bpo can then read from it. Automatically converting to .rst is great too.

@aeros
Copy link
Contributor Author

aeros commented Jul 15, 2019

I don't know about setting up an API, but I think it would be reasonable to store the experts data in JSON format, and generate both the nosy auto-complete and the table in experts.rst from the JSON data.

It can just be a .json file within this repo on GitHub. Bpo can then read from it. Automatically converting to .rst is great too.

Yeah I'm thinking this might be the best way to do it. An API probably wouldn't be necessary since we're really the only ones making use of the data. Would it be preferable for me to start working on that first or should I work on just making the current data extraction compatible with the GitHub usernames in parenthesis?

For the first option, I could start by figuring out a the best way to organize the JSON. I was thinking of having the top level be the expert categories, with the immediate children being the real name of the experts. Their real name would contain a property for each site's username. For example, to specifically get Carol Willing's GitHub username it would look something like this:

documentation.carolWilling.github -> willingc

When the type-documentation tag is added, a list would be constructed from the github properties of any immediate children of documentation.

Usually within Python the preference is to use underscores for spacing (also my personal preference), but JSON typically uses camelCase. I'm not certain if we have any examples of existing JSON files within the Python repos, I'll have to look around.

@aeros
Copy link
Contributor Author

aeros commented Jul 15, 2019

The main thing I'm unsure of is reading the JSON data into the table of experts.rst, just because I haven't done anything like that before with reST.

@aeros
Copy link
Contributor Author

aeros commented Aug 8, 2019

@zware Let me know if you have any feedback for the experts JSON: #517

There might be a few entries to be updated (if the experts weren't on the BPO committers list, I used that to create the JSON), but that can easily be adjusted. I'm primarily concerned about ensuring the formatting is correct before moving on any further with this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants