Add JSON for storing expert data #517
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Component of issue #507
@zware and @Mariatta suggested that an effective method of storing the data from the experts index would be to add a new JSON file to the devguide repository. This would allow for an efficient way to store the expert data and to easily be able to find their respective GitHub names (or any other platform). Currently,
experts.rst
only lists the names on bpo, and the formatting can't be changed due to the nosy list scripts using data from the tables. As a beneficial side effect, this would also likely improve the performance of any expert data extraction scripts.The formatting of the JSON file is using two primary sections:
categories
andmaintainers
. Initially, I was going to leave the exact formatting from theexperts.rst
tables, but I realized that doing so would result in quite a lot of redundant data. To address that issue, I used the following format:Having a separate section for the specific information on each of the maintainers provides normalization, so that the information for any maintainers that are experts for multiple modules aren't repeatedly stored.
I think that providing their actual name instead of their bpo username makes a bit more sense, since that allows
experts.rst
to be far less platform specific. It also makes more sense for the platform specific usernames to be a property of their actual name, rather than using the bpo username as the key. Additionally, since we're moving away from bpo in the near future, that adds further reason to not use it as the identifying key for the experts.An alternative would be to instead use the GitHub usernames as the key, but as I mentioned earlier, I find it preferable that this JSON doesn't favor any particular platform. Leaving it platform-independent makes it far more scalable in the long term. Let me know if anyone has any suggestions for alternative formats.
Note: The JSON file is currently missing a few experts (that aren't core devs), since I extracted data from the bpo committers list to convert from their bpo usernames to their actual names. Feel free to add or mention any active experts that are missing. The current experts list has an (inactive) after the names of some of the inactive people, but I'm not sure as to whether or not it's fully up to date.