|
| 1 | +.. _triage-team: |
| 2 | +.. _triagers: |
| 3 | + |
| 4 | +=========== |
| 5 | +Triage Team |
| 6 | +=========== |
| 7 | + |
| 8 | +The Python triage team is a group dedicated towards improving workflow |
| 9 | +efficiency through thoughtful review and triage of open issues and pull |
| 10 | +requests. This helps contributors receive timely feedback and enables core |
| 11 | +developers to focus on reviewed items which reduces their workload. The |
| 12 | +expectations of this role expand upon the "Triager" role on the |
| 13 | +:ref:`issue tracker <tracker>`. The responsibilities listed below are primarily centered |
| 14 | +around the Python GitHub repositories. This extends beyond CPython, and, as |
| 15 | +needed, to other repos such as devguide and core-workflow. |
| 16 | + |
| 17 | +Responsibilities include: |
| 18 | + |
| 19 | +* PR/issue management |
| 20 | + - Reviewing PRs |
| 21 | + - Assisting contributors |
| 22 | + - Notifying appropriate core developers |
| 23 | +* Applying appropriate labels to PRs/Issues |
| 24 | + - Skip news |
| 25 | + - Skip issue |
| 26 | + - Good first issue |
| 27 | + - Other categorizations |
| 28 | + |
| 29 | +Although triagers have the power to close PRs, they should generally not do so |
| 30 | +without first consulting a core developer. By having triagers and core developers work together, |
| 31 | +the author receives a careful consideration of their PR. This encourages future |
| 32 | +contributions, regardless of whether their PR is accepted or closed. |
| 33 | + |
| 34 | +Nonetheless, triagers should feel free to close a PR if they judge that the |
| 35 | +chance of the PR being merged would be exceedingly low, even if substantial |
| 36 | +revisions were made to the PR. This includes (but is not limited to) the |
| 37 | +following: |
| 38 | + |
| 39 | +* PRs proposing solely cosmetic changes |
| 40 | +* PRs proposing changes to deprecated modules |
| 41 | +* PRs that are no longer relevant. This includes: |
| 42 | + - PRs proposing fixes for bugs that can no longer be reproduced |
| 43 | + - PRs proposing changes that have been rejected by Python core developers |
| 44 | + elsewhere (e.g. in an issue or a PEP rejection notice) |
| 45 | + |
| 46 | +If a triager has any doubt about whether to close a PR, they should consult a core |
| 47 | +developer before taking any action. |
| 48 | + |
| 49 | +Triagers can also make use of the ``invalid`` and ``stale`` labels to suggest that a |
| 50 | +PR may be suitable for closure. For more information, see the |
| 51 | +:ref:`GitHub PR labels <github-pr-labels>` section. |
| 52 | + |
| 53 | +Note that it is of paramount importance to treat every contributor to the Python |
| 54 | +project kindly and with respect. Regardless of whether they're entirely new |
| 55 | +or a veteran core developer, they're actively choosing to voluntarily donate their |
| 56 | +time towards the improvement of Python. As is the case with any member of |
| 57 | +the Python Software Foundation, always follow the `PSF Code of Conduct`_. |
| 58 | + |
| 59 | +.. _PSF Code of Conduct: https://www.python.org/psf/conduct/ |
| 60 | + |
| 61 | + |
| 62 | +Becoming a member of the Python triage team |
| 63 | +=========================================== |
| 64 | + |
| 65 | +Any Python core developers are welcome to invite a Python contributor to the |
| 66 | +Python triage team. Triagers will be responsible to handle not just issues, but |
| 67 | +also pull requests, and even managing backports. A Python triager has access to |
| 68 | +more repositories than just CPython. |
| 69 | + |
| 70 | +Any existing active contributor to the Python repository on GitHub can |
| 71 | +transition into becoming a Python triager. They can request this to any core |
| 72 | +developer, and the core developer can pass the request to the `Python |
| 73 | +organization admin |
| 74 | +<https://devguide.python.org/devcycle/?highlight=organization%20admin#current-owners>`_ |
| 75 | +on GitHub. The request can be made confidentially via a DM in Discourse, or |
| 76 | +publicly by opening an `issue in the core-workflow repository |
| 77 | +<https://github.com/python/core-workflow/issues/new?template=triage_membership.md>`_. |
| 78 | + |
| 79 | +For every new triager, it would be great to announce them in the python-committers |
| 80 | +mailing list and core-workflow category in Discourse. `Example announcement |
| 81 | +<https://discuss.python.org/t/abhilash-raj-has-been-granted-triage-role-on-github/2089>`_. |
| 82 | + |
| 83 | + |
| 84 | +Gaining the "Triager" Role on the Issue Tracker |
| 85 | +=============================================== |
| 86 | + |
| 87 | +When you have consistently shown the ability to properly |
| 88 | +help triage issues without guidance, you may request that you |
| 89 | +be given the "Triager" role on the `issue tracker`_. You can make the request |
| 90 | +to any person who already has the Triager role. If they decide you are ready |
| 91 | +to gain the extra privileges on the tracker they will then act as a mentor to |
| 92 | +you until you are ready to do things entirely on your own. There is no set rule |
| 93 | +as to how many issues you need to have helped with before or how long you have |
| 94 | +been participating. The key requirements are that you show the desire to |
| 95 | +help, you are able to work well with others (especially those already with the |
| 96 | +Triager role), and that have a firm grasp of how to do things on the issue |
| 97 | +tracker properly on your own. |
| 98 | + |
| 99 | +Gaining the Triager role will allow you to set any value on any issue in the |
| 100 | +tracker, releasing you from the burden of having to ask others to set values on |
| 101 | +an issue for you in order to properly triage something. This will not only help |
| 102 | +speed up and simplify your work in helping out, but also help lessen the |
| 103 | +workload for everyone by gaining your help. |
| 104 | + |
| 105 | +.. _issue tracker: https://devguide.python.org/tracker/ |
0 commit comments