triagers might not know to add new json issues to the project
Adding the label is probably the easiest solution[2], unless the other solutions are enough to solve your problem. Let me know if you want me to add it.
stdlib, docs, tests, interpreter-core, extension-modules are in a group on their own. ↩︎
we recently added expert-sqlite to solve the same problem ↩︎
Some modules get more bug reports than others, we don’t have to add 305 labels When I added the C API and Subinterpreters category for bugs, I also added [C API] and [Subinterpreters] to the issue title, because categories (now labels) were not disabled by default on bugs.python.org. IMO it helps to very quickly sort issues when browsing the whole list of issues, without having to read the whole issue title or even have to read its description.
In short, I’m in favor of adding a stdlib-json label and add [json] in the issue title.
I think the expert-* labels may be good candidates for replacing by projects.
The reason is that these labels represent a category that the issue belongs to, which isn’t expected to change throughout its lifetime. On the other hand, labels seem better for things that are more transient or process-related like status/stage/needs-something.
And not every module in the stdlib has someone who cares about its status, so the label may not be useful overall.
What’s probably best is to have a label for anything that has a maintainer, and then provide either guidance or a GHA workflow that picks up on /stdlib json or something that will add the appropriate [json] to the title as well as any appropriate label (if there is one). And anything lacking a maintainer we can add some other label to make them easy to find.
I have created projects for a number of topics: Projects · python · GitHub .
For now, they look less convenient than labels, but they are potentially more powerful. I think we will use labels for larger and general categories, and projects for smaller and more short living (or at least with a determined plan) groups of issues. But projects need to be more mature for this.
Using built-in GitHub features would be preferable to custom solutions whenever possible. Labels, projects, milestones, and teams can all be set easily from the sidebar without having to edit the title and to post new messages to trigger GitHub actions (that also need to be written/configured/maintained).
I agree with Irit and Serhiy – once projects get more mature we could use them to replace the expert-* labels, making the label list more manageable. For now we can keep using labels and experimenting with projects.
My concern is scale here. Will we end up with e.g. 200 project boards, one for each module in the stdlib? Can that be navigated easily? Same goes for the labels (and having worked on projects with hundreds of labels, I think it gets a bit unwieldy). At that point it becomes a maintainability challenge even if the feature is built into GitHub.
One key difference is that projects are usually assigned once, whereas labels are added/removed more often, so I’d rather have a short list of labels and a long list of projects than the other way around.
Since the beta projects are created at the org-level, there is the risk of ending up with a lot of projects if they start getting a wider adoption, but so far other other python repos didn’t really use beta projects. In addition, beta projects can be added to the repo and filtered more easily there, and I don’t think we need a project for each module anyway – just for the ones that have enough issues and/or where someone bothered creating a project.
As a triager, how am I expected to (how should I) work with projects? Currently I can assign expert-* labels from the issue page, but it seems that doesn’t automatically add it to the relevant project. Equally, there doesn’t seem to be a way to add an issue to a project from the issue page, which is a major usability point. Thoughts welcome (including what people have been doing currently!).
When you select one, the issue will be added to that project, and the project will be visible in the sidebar:
You can also add issues in bulk from the issue list page, by selecting them with the checkbox on the left and then selecting a project they should be added to.
Triagers don’t have that drop-down (I assume the same with editing issue/PR titles). Is there a way we can ask GitHub to vary/customise the permissions for triagers?
Ahh, sorry, I was under the impression we had some sort of direct relationship with GitHub / their product team. If seems custom roles are supported, but only for “Enterprise Cloud” – I assume Python is not using this, so we’d either need an exception from GitHub or some change to the public product, on my reading.
Our relationship as a project extended to them having some folks help us with the issue migration for CPython. Otherwise any other relationship stems from personal relationships any of may have with GitHub employees.
It might be useful if we grant Triagers permissions to manage projects on issues and edit titles, if possible – should I open an issue in core-workflow?