|
6 | 6 | [#51417](https://github.com/pandas-dev/pandas/pull/51417)
|
7 | 7 | - Author: [Marc Garcia](https://github.com/datapythonista),
|
8 | 8 | [Noa Tamir](https://github.com/noatamir)
|
9 |
| -- Revision: 2 |
| 9 | +- Revision: 3 |
10 | 10 |
|
11 | 11 | ## PDEP definition, purpose and scope
|
12 | 12 |
|
@@ -71,17 +71,60 @@ Proposing a PDEP is done by creating a PR adding a new file to `web/pdeps/`.
|
71 | 71 | The file is a markdown file, you can use `web/pdeps/0001.md` as a reference
|
72 | 72 | for the expected format.
|
73 | 73 |
|
74 |
| -The initial status of a PDEP will be `Status: Under discussion`. This will be changed to |
75 |
| -`Status: Accepted` when the PDEP is ready and has the approval of the core team. |
| 74 | +The initial status of a PDEP will be `Status: Draft`. This will be changed to |
| 75 | +`Status: Under discussion` by the author(s), when they are ready to proceed with the descision |
| 76 | +making process. |
| 77 | + |
| 78 | +#### Schedule |
| 79 | +A PDEP discussion will remain open for up to 60 days. This period aims to enable participation |
| 80 | +from volunteers, who might not always be available to respond quickly, as well as provide ample |
| 81 | +time to make changes based on suggestions and considerations offered by the participants. |
| 82 | +Similarly, the following voting period will remain open for 15 days. |
| 83 | + |
| 84 | +To enable and encourage discussions on PDEPs, we follow a notification schedule. At each of the |
| 85 | +following steps, the pandas team, and the pandas dev mailing list are notified via GitHub and |
| 86 | +E-mail: |
| 87 | +- Once a PDEP is ready for discussion. |
| 88 | +- After 30 discussion days, with 30 days remaining for discussion. |
| 89 | +- After 45 discussion days, with 15 days remaining for discussion. |
| 90 | +- In case 15 days passed without any new comments, the authors may close the discussion period |
| 91 | + and open the voting period. |
| 92 | +- Once the voting period starts, after 60 days or in case of an earlier vote, with 15 days |
| 93 | + remaining for voting. |
| 94 | +- After 10 voting days, with 5 days remaining for voting. |
| 95 | + |
| 96 | +#### Casting Votes |
| 97 | +As the voting period starts, a VOTE issue is created which links to the PDEP discussion issue. |
| 98 | +Each voting member may cast a vote by adding one of the following comments: |
| 99 | + |
| 100 | +- +1: approve. |
| 101 | +- 0: abstain. |
| 102 | + - Reason: A one sentence reason is required. |
| 103 | +- -1: disapprove |
| 104 | + - Reason: A one sentence reason is required. |
| 105 | +A disapprove vote requires prior participation in the PDEP discussion issue. |
| 106 | + |
| 107 | +Once the voting period ends, any voter may tally the votes in a comment, using the format: x-y-z, |
| 108 | +where x stands for the total of approving, y of abstaining, and z of disapproving votes cast. |
| 109 | + |
| 110 | +#### Quorum and Majority |
| 111 | +For a PDEP vote to result in accepting the proposal, a quorum is required. All votes (including |
| 112 | +abstentions) are counted towards the quorum. The quorum is computed as the lower of these two |
| 113 | +values: |
| 114 | + |
| 115 | +- 11 voting members. |
| 116 | +- 50% of voting members. |
| 117 | + |
| 118 | +Given a quorum, a majority of 75% of the non-abstaining votes is required as well, i.e. 75% of |
| 119 | +the approving and disapproving votes must be in favor. |
| 120 | + |
| 121 | +Thus, abstaining votes count towards a quorum, but not towards a majority. A voting member might |
| 122 | +choose to abstain when they have participated in the discussion, have some objections to the |
| 123 | +proposal, but do not wish to stop the proposal from moving forward, nor indicate their full |
| 124 | +support. |
76 | 125 |
|
77 | 126 | #### Accepted PDEP
|
78 | 127 |
|
79 |
| -A PDEP can only be accepted by the core development team, if the proposal is considered |
80 |
| -worth implementing. Decisions will be made based on the process detailed in the |
81 |
| -[pandas governance document](https://github.com/pandas-dev/pandas-governance/blob/master/governance.md). |
82 |
| -In general, more than one approval will be needed before the PR is merged. And |
83 |
| -there should not be any `Request changes` review at the time of merging. |
84 |
| - |
85 | 128 | Once a PDEP is accepted, any contributions can be made toward the implementation of the PDEP,
|
86 | 129 | with an open-ended completion timeline. Development of pandas is difficult to understand and
|
87 | 130 | forecast, being that the contributors to pandas are a mix of volunteers and developers paid from different sources,
|
@@ -184,6 +227,7 @@ hope can help clarify our meaning here:
|
184 | 227 |
|
185 | 228 | - 3 August 2022: Initial version ([GH-47938][47938])
|
186 | 229 | - 15 February 2023: Version 2 ([GH-51417][51417]) clarifies the scope of PDEPs and adds examples
|
| 230 | +- DD MM YY: Version 3(link) defines a structured decision making process for PDEPs |
187 | 231 |
|
188 | 232 | [7217]: https://github.com/pandas-dev/pandas/pull/7217
|
189 | 233 | [8074]: https://github.com/pandas-dev/pandas/issues/8074
|
|
0 commit comments