python / python/devguide

Machine-parsable developers list

Open
#848 7 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted infra type-feature
Dominant language
Python
Stars
2.1k
Forks
1k
Avg merge
2d 12h
Merged PRs (30d)
12

Description

We currently have several lists of developers, some manually maintained, some machine-generated, including:

  • a machine-parsable list in the voters repo (private)
  • a machine-generated (from the list above) developers.csv (in the devguide repo)
  • a machine-generated (from the csv above) developer log (in the devguide)
  • a separately-maintained list of experts (in the devguide repo)
  • a machine-generated (from the list of experts above) nosy-list autocomplete on bpo (no longer used)
  • a separately-maintained translators list (in the devguide)
  • a separately-maintained CODEOWNERS file (in the cpython repo)
  • possibly others (e.g. release managers), more or less related to list of core devs

I suggest to consolidate this into two lists:

  • the one in the voters repo (private) can remain mostly unchanged
  • a new list in this repo can be created to list experts

The new list could use a similar format: listing users and fields about:

  • their GitHub username
    • and possibly the GitHub teams they belong to (to generate teams)
    • see python/core-workflow#350
  • the modules they maintain (to generate the CODEOWNERS file)
  • the modules, interest areas, platforms, translation languages they are interested in (to generate the expert index)
    • the translator table could be moved back into the expert list
      • see also #842
    • the release manager table in the main page could be generated from this too
  • possibly flags like is_triager, is_core_dev, release_manager=<versions>, translator=<language>
    • these could be used to mark names in the expert index and to create RM and translator tables
    • we could also have an is_bot for bots

We should also move some info from the voters file to here, in particular the joined, left, notes info. This information is already public and by moving it here we will remove duplication and simplify the generation of developers.csv in this repo. The only remaining duplicated info between the two lists will be the GitHub username.

Some relevant links:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing developers.csv, experts.rst, translating documentation, CODEOWNERS, and the generation flow in this repository. Review the related issues and PRs #517, #507, #842, and python/core-workflow#350 before defining the list format. Done means the scope is agreed and the consolidated list can generate the documented developer and ownership outputs without duplicated maintenance.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, python
Domain
documentation, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.