Skip to content

Machine-parsable developers list #848

Description

@ezio-melotti

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

Activity

  1. changed the title [-]Machine-parsable developer list[/-] [+]Machine-parsable developers list[/+] on Apr 30, 2022
  2. ezio-melotti commented on May 3, 2022

    @ezio-melotti
    MemberAuthor

    It would also be useful to have a list/table of triagers. On bpo we had a flag, and we have a team on GitHub now, but as far as I know we don't have any such list/table in the Devguide. This could still be generated automatically alongside with the GitHub team.

  3. ezio-melotti commented on May 16, 2022

    @ezio-melotti
    MemberAuthor

    It might be useful to expand the expert list to the whole org.
    In the past few weeks I saw people trying to figure out who was responsible:

    We currently have three additional lists that list some more maintainers:

    Centralizing everything in the same place (the machine-parsable file and the expert list) will make things easier to discover. If we want to keep specific lists/tables of users in other pages there are two options:

    • the pages can link to specific tables in the expert page
    • additional csv files can be created from the file and used to populate additional tables in other pages
  4. CAM-Gerlach commented on Jul 30, 2022

    @CAM-Gerlach
    Member

    Another related item is that of the Platform experts list, which is rather out of date, and partially duplicated by the more current information in PEP 11. Much of the list is obsolete platforms CPython has officially unsupported (per ) for a long time (e.g. HP-UX, OS2/EMX) or never officially supported (JVM/Java, Cygwin), all of which have no active experts listed at all, whereas others are missing the maintainers they have listed in PEP 11 and still others are missing entirely.

    We want to be DRY here and avoid having to maintain two places at once, with them inevitably getting out of sync. Therefore, at the very least we should clean out the cruft, just list the Tier 1 or sub-Tier 3 platforms that have active experts (since they aren't listed on PEP 11), and single sourcing the rest with a link to PEP 11.

    However, an equally simple but perhaps much better solution is to just make the tables currently in PEP 11 into a machine-parsable CSV on the devguide repo, and then use the csv-table directive both here and (via the :url: option) on the PEPs repo to display them here.

    Since this can be done as one atomic component of this migration, I could open a separate issue to cover it if desired, assuming people (e.g. @brettcannon ) agree.

  5. encukou commented on Aug 1, 2022

    @encukou
    Member

    (For clarity: support for platforms CPython core devs can't handle can still be maintained externally. The current out-of-date table is probably not useful at all, but as long as non-core devs are listed in these tables, a sub-tier-3 platforms is a valid interest area.
    It could probably be merged into the general “miscellaneous” instead of getting special treatment, though.)

    For Tier-1 platforms, IMO it would be useful to add Contacts column in PEP-11, possibly listing a team (@python/windows-team) rather than people.

  6. CAM-Gerlach commented on Aug 2, 2022

    @CAM-Gerlach
    Member

    That should be fairly straightforward, but the disadvantage is that its not machine-parsable. However, we could always still move the table sources to CSVs in the PEPs repo at any point, with no further changes needed over here.

  7. brettcannon commented on Aug 5, 2022

    @brettcannon
    Member

    Since this can be done as one atomic component of this migration, I could open a separate issue to cover it if desired, assuming people (e.g. @brettcannon ) agree.

    I don't have an opinion (sorry, been sick, so still recovering).

  8. CAM-Gerlach commented on Aug 5, 2022

    @CAM-Gerlach
    Member

    Hope you feel better soon @brettcannon ! Best wishes for a speedy recovery.

  9. added
    infraAutomation and tooling for devguide
    type-featureAdditions; New content or section needed
    and removed
    type-featureAdditions; New content or section needed
    on Oct 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedinfraAutomation and tooling for devguidetype-featureAdditions; New content or section needed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions