# Searching issues with module name

**URL:** <https://discuss.python.org/t/searching-issues-with-module-name/15846>\
**Category:** Core Development\
**Created:** [May 19, 2022, 5:54am UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846 "2022-05-19T05:54:00Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![methane](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/methane/32/43_2.png) [@methane](https://discuss.python.org/u/methane)\
**Post date:** [May 19, 2022, 5:54am UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/1 "2022-05-19T05:54:00Z")

</div>

It is difficult to search issues about the json module. I expect some other libraries have same difficulties.

> **[Issues · python/cpython](https://github.com/python/cpython/issues?q=is:issue%2Bis:open%2Bjson)**
>
> The Python programming language. Contribute to python/cpython development by creating an account on GitHub.

Can we add label like “json” or “stdlib-json” every time when we find modules difficult to search?

Or can we have some convention like “[json]” in PR title? This convention can be used without adding many lables.

---

<div class="post-metadata">

**Author:** ![ezio-melotti](https://avatars.discourse-cdn.com/v4/letter/e/f17d59/32.png) [@ezio-melotti](https://discuss.python.org/u/ezio-melotti)\
**Post date:** [May 19, 2022, 6:17am UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/2 "2022-05-19T06:17:52Z")

</div>

There are a few options, depending on the goals:

- You can already use [`in:title json`](https://github.com/python/cpython/issues?q=is%3Aopen+in%3Atitle+json) to narrow down the search:
  - it doesn’t find all the issues and include false positives

- You can add “[json]” in the title and use the search query above:
  - triages might not know to add `[json]` in the title
  - GitHub search seems to ignore the `[]`

- We can add a label:
  - it’s easier for filtering and for triagers to add
  - it’s useful to notify people subscribed to the label
  - if we do it should be called `expert-json`\[1\]

- You can [create a project](https://discuss.python.org/t/using-github-beta-projects-in-our-workflow/15090) to track issues:
  - you will have to add existing issues manually
  - you have more freedom in organizing them
  - 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.

* * *

1. `stdlib`, `docs`, `tests`, `interpreter-core`, `extension-modules` are in a group on their own. 

2. we recently added `expert-sqlite` to solve the same problem

---

<div class="post-metadata">

**Author:** ![vstinner](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/vstinner/32/15130_2.png) [@vstinner](https://discuss.python.org/u/vstinner)\
**Post date:** [May 19, 2022, 7:34am UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/3 "2022-05-19T07:34:45Z")

</div>

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](http://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.

---

<div class="post-metadata">

**Author:** ![iritkatriel](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/iritkatriel/32/2615_2.png) [@iritkatriel](https://discuss.python.org/u/iritkatriel)\
**Post date:** [May 19, 2022, 7:45am UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/4 "2022-05-19T07:45:41Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![storchaka](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/storchaka/32/217_2.png) [@storchaka](https://discuss.python.org/u/storchaka)\
**Post date:** [May 19, 2022, 10:01am UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/5 "2022-05-19T10:01:55Z")

</div>

I have collected them in a project: [@serhiy-storchaka's project python-json · GitHub](https://github.com/users/serhiy-storchaka/projects/1) .

I am currently working on a large project which will solve many of these issues. Will finish it in few weeks.

---

<div class="post-metadata">

**Author:** ![storchaka](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/storchaka/32/217_2.png) [@storchaka](https://discuss.python.org/u/storchaka)\
**Post date:** [May 19, 2022, 10:12am UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/6 "2022-05-19T10:12:16Z")

</div>

There sre 38 json-related issues and 76 zipfile-related issues ([@serhiy-storchaka's project python-zipfile · GitHub](https://github.com/users/serhiy-storchaka/projects/2/views/1)).

---

<div class="post-metadata">

**Author:** ![brettcannon](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/brettcannon/32/34895_2.png) [@brettcannon](https://discuss.python.org/u/brettcannon)\
**Post date:** [May 20, 2022, 7:38pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/7 "2022-05-20T19:38:49Z")

</div>

> [@vstinner](#):
>
> Some modules get more bug reports than others, we don’t have to add 305 labels 🙂

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.

---

<div class="post-metadata">

**Author:** ![storchaka](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/storchaka/32/217_2.png) [@storchaka](https://discuss.python.org/u/storchaka)\
**Post date:** [May 21, 2022, 4:48am UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/8 "2022-05-21T04:48:21Z")

</div>

I have created projects for a number of topics: [Projects · python · GitHub](https://github.com/orgs/python/projects?type=beta) .  
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.

---

<div class="post-metadata">

**Author:** ![methane](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/methane/32/43_2.png) [@methane](https://discuss.python.org/u/methane)\
**Post date:** [May 21, 2022, 5:03am UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/9 "2022-05-21T05:03:55Z")

</div>

Thank you!

---

<div class="post-metadata">

**Author:** ![ezio-melotti](https://avatars.discourse-cdn.com/v4/letter/e/f17d59/32.png) [@ezio-melotti](https://discuss.python.org/u/ezio-melotti)\
**Post date:** [May 21, 2022, 5:16am UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/10 "2022-05-21T05:16:09Z")

</div>

> [@brettcannon](#):
>
> a GHA workflow that picks up on `/stdlib json` or something that will add the appropriate `[json]`

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.

---

<div class="post-metadata">

**Author:** ![brettcannon](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/brettcannon/32/34895_2.png) [@brettcannon](https://discuss.python.org/u/brettcannon)\
**Post date:** [May 31, 2022, 7:37pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/11 "2022-05-31T19:37:36Z")

</div>

> [@ezio-melotti](#):
>
> Using built-in GitHub features would be preferable to custom solutions whenever possible.

Yep, always.

> [@ezio-melotti](#):
>
> 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.

---

<div class="post-metadata">

**Author:** ![ezio-melotti](https://avatars.discourse-cdn.com/v4/letter/e/f17d59/32.png) [@ezio-melotti](https://discuss.python.org/u/ezio-melotti)\
**Post date:** [May 31, 2022, 7:52pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/12 "2022-05-31T19:52:40Z")

</div>

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.

Currently there are about 20, and some of them encompass multiple modules: [Projects · cpython · GitHub](https://github.com/python/cpython/projects?type=beta)

---

<div class="post-metadata">

**Author:** ![AA-Turner](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/aa-turner/32/4979_2.png) [@AA-Turner](https://discuss.python.org/u/AA-Turner)\
**Post date:** [May 31, 2022, 9:16pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/13 "2022-05-31T21:16:57Z")

</div>

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!).

A

---

<div class="post-metadata">

**Author:** ![ezio-melotti](https://avatars.discourse-cdn.com/v4/letter/e/f17d59/32.png) [@ezio-melotti](https://discuss.python.org/u/ezio-melotti)\
**Post date:** [May 31, 2022, 9:26pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/14 "2022-05-31T21:26:05Z")

</div>

> [@AA-Turner](#):
>
> As a triager, how am I expected to (how should I) work with projects?

We are still experimenting and figuring out what workflows work best.

> [@AA-Turner](#):
>
> Currently I can assign `expert-*` labels from the issue page, but it seems that doesn’t automatically add it to the relevant project.

This could be automated, but it won’t be necessary if we get rid of the `expert-*` labels.

> [@AA-Turner](#):
>
> 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.

In the issue sidebar there is a field just under “Labels” where you can search/filter projects:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/2X/d/d5a19c10f16ed90a7cd1997bffcbefa48ec49e35.png)

When you select one, the issue will be added to that project, and the project will be visible in the sidebar:  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/2X/f/f48a0bbe0a4140987c37ac8edfef6c67739523e5.png)

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.

---

<div class="post-metadata">

**Author:** ![AA-Turner](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/aa-turner/32/4979_2.png) [@AA-Turner](https://discuss.python.org/u/AA-Turner)\
**Post date:** [May 31, 2022, 9:27pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/15 "2022-05-31T21:27:30Z")

</div>

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?

![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/2X/0/0bfb879c398f687264f5115dd53c375ee9eff4e3.png)

A

---

<div class="post-metadata">

**Author:** ![brettcannon](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/brettcannon/32/34895_2.png) [@brettcannon](https://discuss.python.org/u/brettcannon)\
**Post date:** [June 1, 2022, 10:08pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/16 "2022-06-01T22:08:03Z")

</div>

> [@AA-Turner](#):
>
> Is there a way we can ask GitHub to vary/customise the permissions for triagers?

That would need to be a feature request to GitHub as repo permissions are hard-coded to role types.

---

<div class="post-metadata">

**Author:** ![AA-Turner](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/aa-turner/32/4979_2.png) [@AA-Turner](https://discuss.python.org/u/AA-Turner)\
**Post date:** [June 2, 2022, 11:34pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/17 "2022-06-02T23:34:25Z")

</div>

> [@brettcannon](#):
>
> That would need to be a feature request to GitHub as repo permissions are hard-coded to role types.

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](https://docs.github.com/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization), 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.

A

---

<div class="post-metadata">

**Author:** ![brettcannon](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/brettcannon/32/34895_2.png) [@brettcannon](https://discuss.python.org/u/brettcannon)\
**Post date:** [June 3, 2022, 9:18pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/18 "2022-06-03T21:18:30Z")

</div>

> [@AA-Turner](#):
>
> Ahh, sorry, I was under the impression we had some sort of direct relationship with GitHub / their product team.

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.

> [@AA-Turner](#):
>
> If seems [custom roles are supported](https://docs.github.com/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization), but only for “Enterprise Cloud” – I assume Python is not using this

Nope, we are just plain-old, public GitHub. 🙂

---

<div class="post-metadata">

**Author:** ![AA-Turner](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/aa-turner/32/4979_2.png) [@AA-Turner](https://discuss.python.org/u/AA-Turner)\
**Post date:** [June 7, 2022, 8:24pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/19 "2022-06-07T20:24:36Z")

</div>

Per @ezio-melotti, GitHub has now released fine-grained roles! Link: [Custom repository roles are now GA | GitHub Changelog](https://github.blog/changelog/2022-06-06-custom-repository-roles-are-now-ga/)

[https://docs.github.com/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization](https://docs.github.com/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)

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`?

A

---

<div class="post-metadata">

**Author:** ![brettcannon](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/brettcannon/32/34895_2.png) [@brettcannon](https://discuss.python.org/u/brettcannon)\
**Post date:** [June 7, 2022, 8:59pm UTC](https://discuss.python.org/t/searching-issues-with-module-name/15846/20 "2022-06-07T20:59:43Z")

</div>

So this is where I was asked about this! I couldn’t remember earlier today. 😅

> [@AA-Turner](#):
>
> 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`?

Doesn’t hurt. I’ve also posted about this to the core dev Discord server as well.

[Next page](https://discuss.python.org/t/searching-issues-with-module-name/15846.md?page=2)
