From ad102327bc414c6cebc4a9107791aed73d02d8eb Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 09:01:41 -0400 Subject: [PATCH 01/14] Add more to Changing Python --- developer-workflow/index.rst | 2 +- developer-workflow/lang-changes.rst | 154 +++++++++++++++++++++------- 2 files changed, 117 insertions(+), 39 deletions(-) diff --git a/developer-workflow/index.rst b/developer-workflow/index.rst index e73927f1d..9919398e6 100644 --- a/developer-workflow/index.rst +++ b/developer-workflow/index.rst @@ -8,11 +8,11 @@ Development workflow :maxdepth: 5 communication-channels + lang-changes development-cycle stdlib extension-modules c-api - lang-changes grammar porting sbom diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 52aabb15d..266734f38 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -1,36 +1,43 @@ .. _lang-changes: .. _langchanges: -Changing the Python language -============================ -On occasion people come up with an idea on how to change or improve Python as a -programming language. This document is meant to explain exactly what changes -have a reasonable chance of being considered and what the process is to propose -changes to the language. +Changing Python +=============== +On occasion people come up with an idea for changing or improving Python. +This page explains how to explore change proposals and what changes +have a reasonable chance of being considered. -What qualifies + +Considerations -------------- -First and foremost, it must be understood that changes to the Python -programming language are difficult to make. When the language changes, -**every** Python programmer already in existence and all Python programmers to + +First, understand that changes to Python +are difficult to make. When the language changes, +**every** Python programmer and all Python programmers to come will end up eventually learning about the change you want to propose. Books will need updating, code will be changed, and a new way to do things will -need to be learned. Changes to the Python programming language are never taken +need to be learned. Changes to Python are never taken lightly. -Because of the seriousness that language changes carry, any change must be -beneficial to a large proportion of Python users. If the change only benefits a +Backward compatibility is a significant concern. Existing Python code has to +continue to work. There are exceptions to this rule, but they are very rare +and are only allowed when the benefits of the change greatly outweigh the costs +of breaking existing code. + +Because of the seriousness of changing the language, any change must be +beneficial to a many Python users. If the change only helps a small percentage of Python developers then the change will not be made. A good way to see if your idea would work for a large portion of the Python community -is to ask in the `Ideas Discourse category`_. You can also -go through Python's stdlib and find examples of code which would benefit from -your proposed change (which helps communicate the usefulness of your change to -others). For further guidance, see :ref:`suggesting-changes`. +is to ask in the `Ideas Discourse category `_. You can also +look in Python's standard library to find examples of code which would benefit from +your proposed change. This can also help communicate the usefulness of your change to +others. -Your proposed change also needs to be *Pythonic*. While only the Steering -Council can truly classify something as Pythonic, you can read the -:pep:`Zen of Python <20>` for guidance. +For all of these reasons, most proposed changes to Python are rejected. This +doesn't mean you shouldn't suggest them. It can be useful to explore +alternatives and to get feedback from the community. Just be aware that +getting a change accepted is difficult. Don't take it personally. .. index:: @@ -41,25 +48,97 @@ Council can truly classify something as Pythonic, you can read the Suggesting new features and language changes -------------------------------------------- -The `Ideas Discourse category`_ -is specifically intended for discussion of new features and language changes. -Please don't be disappointed if your idea isn't met with universal approval: -as the :pep:`long list of Withdrawn and Rejected PEPs -<0#rejected-superseded-and-withdrawn-peps>` -in the :pep:`PEP Index <0>` attests, -and as befits a reasonably mature programming language, -getting significant changes into Python isn't a simple task. +Proposing a change involves the following steps: + +- Describe your idea. + +- Engage in discussion about the idea. + +- Rarely, the idea will advance to a formal proposal stage. + + +Describe your idea +^^^^^^^^^^^^^^^^^^ + +The `Ideas Discourse category `_ is specifically intended for discussion +of new features and language changes. Make your proposal as a `new topic +`_ there. + +Your proposal needs to be **detailed**. Describe the change you want to make, +why you want to make it, and what benefits it will bring to Python users. Be +specific. Show that you have considered the effect of the change on existing +code. + +Some things you should **not** do: + +- **Don't** format your idea as a PEP. It's good to use the PEP template as a + guide for what information to include, but don't try to write a full PEP + until the idea has been accepted for further consideration. + +- **Don't** create a list of proposed changes. Each idea needs its own + discussion. Proposing a change is significant work. You will need to spend + time on each proposal. + +When justifying your idea, these are not good reasons to make a change: + +- "Other languages work this way." Languages are different. What works well + in one language may not work well in Python, or Python may already have a + way to do a similar thing. + +- "It would be nice." This is too vague. Be specific about the benefits + your change will bring, and consider the costs as well. + +Some things you **should** do: + +- Research whether your idea has been proposed before. There are many + suggestions that have been made and rejected in the past. If your idea has a + history, read the discussion to see why it was rejected. Previously rejected + ideas are especially unlikely to get accepted. If you can address the + concerns raised in the previous discussion, mention that in your proposal. + +- Read other ideas to see how they are presented. This will help you flesh out + your proposal. + +- Read other ideas to understand the kinds of concerns that are raised and + objections that must be answered. Your proposal will be stronger if you can + address these concerns up front. + + +Engage in Discussion +^^^^^^^^^^^^^^^^^^^^ + +Once you post your proposal, people will respond. You need to continue +the discussion, answer questions, and address objections. This is an important +part of the process. Other people's perspectives will help explore the full +impact of the idea and find strengths or weaknesses you may not have +considered. + +You will get push-back. Don't be disappointed, and don't take it personally. +As the long list of :pep:`Withdrawn and Rejected PEPs +<0#rejected-superseded-and-withdrawn-peps>` in the :pep:`PEP Index <0>` +attests, and as befits a mature programming language, getting significant +changes into Python isn't a simple task. + +Engage in good faith. The goal of the discussion is to find the best balance +between competing concerns. If your idea has merit, the discussion will help +refine it and make it stronger. If your idea has flaws, the discussion will +help identify them so you can address them or move on. Keep the discussion +productive and focused on the issues, not on personalities. + +It's especially useful to get core team members involved in the discussion. +Sometimes they will differ in opinion, or merely be unconvinced. When there +isn't a clear positive sentiment, the `Status Quo Wins a Stalemate`_. + +Even if your idea is not accepted, the discussion can help you and others +understand the design of Python better, and help inform future propoosals. -If the idea is reasonable, someone will suggest posting it as a feature -request on the `issue tracker`_, or, for larger changes, -writing it up as PEP following the :ref:`lang-changes-pep-process`. -Sometimes core developers will differ in opinion, -or merely be collectively unconvinced. -When there isn't an obvious victor, then the `Status Quo Wins a Stalemate`_. +Formal proposal +^^^^^^^^^^^^^^^ -For some examples on language changes that were accepted, -see `Justifying Python Language Changes`_. +If the idea gets positive discussion, someone will suggest posting it as a +feature request on the `issue tracker`_, or, for larger changes, writing it up +as PEP following the :ref:`lang-changes-pep-process`. Congratulations! .. index:: PEP process @@ -83,6 +162,5 @@ to inform others who may propose a similar language change in the future. .. _issue tracker: https://github.com/python/cpython/issues -.. _Ideas Discourse category: https://discuss.python.org/c/ideas/6 +.. _ideas: https://discuss.python.org/c/ideas/6 .. _Status Quo Wins a Stalemate: https://www.curiousefficiency.org/posts/2011/02/status-quo-wins-stalemate.html -.. _Justifying Python Language Changes: https://www.curiousefficiency.org/posts/2011/02/justifying-python-language-changes.html From 9cf6bb0236f9a3a57671f70676d60386054d1caa Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 09:55:05 -0400 Subject: [PATCH 02/14] simple tweaks from review --- developer-workflow/lang-changes.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 266734f38..4bf2dccb2 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -26,7 +26,7 @@ and are only allowed when the benefits of the change greatly outweigh the costs of breaking existing code. Because of the seriousness of changing the language, any change must be -beneficial to a many Python users. If the change only helps a +beneficial to many Python users. If the change only helps a small percentage of Python developers then the change will not be made. A good way to see if your idea would work for a large portion of the Python community is to ask in the `Ideas Discourse category `_. You can also @@ -104,7 +104,7 @@ Some things you **should** do: address these concerns up front. -Engage in Discussion +Engage in discussion ^^^^^^^^^^^^^^^^^^^^ Once you post your proposal, people will respond. You need to continue @@ -163,4 +163,4 @@ to inform others who may propose a similar language change in the future. .. _issue tracker: https://github.com/python/cpython/issues .. _ideas: https://discuss.python.org/c/ideas/6 -.. _Status Quo Wins a Stalemate: https://www.curiousefficiency.org/posts/2011/02/status-quo-wins-stalemate.html +.. _Status Quo Wins a Stalemate: https://www.curiousefficiency.org/posts/2011/02/status-quo-wins-stalemate/ From a6aab7a939548040ac681de9094b498257392858 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 10:00:39 -0400 Subject: [PATCH 03/14] typo --- developer-workflow/lang-changes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 4bf2dccb2..840027a63 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -130,7 +130,7 @@ Sometimes they will differ in opinion, or merely be unconvinced. When there isn't a clear positive sentiment, the `Status Quo Wins a Stalemate`_. Even if your idea is not accepted, the discussion can help you and others -understand the design of Python better, and help inform future propoosals. +understand the design of Python better, and help inform future proposals. Formal proposal From 9fa0112f708db128a47993e6b9b79430aaa7b0fd Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 10:11:11 -0400 Subject: [PATCH 04/14] more changes from review --- developer-workflow/lang-changes.rst | 47 ++++++++++++++--------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 840027a63..9c3855810 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -26,19 +26,17 @@ and are only allowed when the benefits of the change greatly outweigh the costs of breaking existing code. Because of the seriousness of changing the language, any change must be -beneficial to many Python users. If the change only helps a -small percentage of Python developers then the change will not be made. A good -way to see if your idea would work for a large portion of the Python community -is to ask in the `Ideas Discourse category `_. You can also -look in Python's standard library to find examples of code which would benefit from -your proposed change. This can also help communicate the usefulness of your change to -others. - -For all of these reasons, most proposed changes to Python are rejected. This -doesn't mean you shouldn't suggest them. It can be useful to explore -alternatives and to get feedback from the community. Just be aware that -getting a change accepted is difficult. Don't take it personally. - +beneficial to many Python users. If the change only helps a small percentage of +Python developers then the change will not be made. A good way to see if your +idea would work for a large portion of the Python community is to discuss it in +the `Ideas Discourse category `_. You can also look in Python's standard +library to find examples of code which would benefit from your proposed change. + +.. important:: + For all of these reasons, most proposed changes to Python are rejected. This + doesn't mean you shouldn't suggest them. It can be useful to explore + alternatives and to get feedback from the community. Just be aware that + getting a change accepted is difficult. Don't take it personally. .. index:: single: PEP process @@ -50,7 +48,7 @@ Suggesting new features and language changes Proposing a change involves the following steps: -- Describe your idea. +- Describe your idea in detail. - Engage in discussion about the idea. @@ -148,17 +146,16 @@ as PEP following the :ref:`lang-changes-pep-process`. Congratulations! PEP process ----------- -Once you are certain you have a language change proposal -which will appeal to the general Python community, -you can begin the :abbr:`PEP (Python enhancement proposal)` process -to officially propose the change. -See :pep:`1` for information on PEPs and the PEP process, -and the :pep:`PEP Index <0>` for examples. - -If the PEP is accepted, then your proposed language change will be introduced -in the next release of Python. -Otherwise, your PEP will be recorded as rejected along with an explanation, -to inform others who may propose a similar language change in the future. +Once you are certain you have a language change proposal which will appeal to +the general Python community, you can begin the :abbr:`PEP (Python enhancement +proposal)` process to officially propose the change. See :pep:`1` for +information on PEPs and the PEP process, and the :pep:`PEP Index <0>` for +examples. + +If the PEP is accepted, then your language change will be introduced in a +future release of Python. Otherwise, your PEP will be recorded as rejected +along with an explanation, to inform others who may propose a similar language +change in the future. .. _issue tracker: https://github.com/python/cpython/issues From 657615e3f6785252a4d167c0de742f1498f0e948 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 10:13:34 -0400 Subject: [PATCH 05/14] review tweaks --- developer-workflow/lang-changes.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 9c3855810..30cd0304c 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -69,13 +69,14 @@ code. Some things you should **not** do: -- **Don't** format your idea as a PEP. It's good to use the PEP template as a +- **Don't** format your idea as a Python Enhancement Proposal (*PEP*). + It's good to use the PEP template as a guide for what information to include, but don't try to write a full PEP until the idea has been accepted for further consideration. - **Don't** create a list of proposed changes. Each idea needs its own discussion. Proposing a change is significant work. You will need to spend - time on each proposal. + time on each proposal. A tossed-off list will not be taken seriously. When justifying your idea, these are not good reasons to make a change: From a090d97286865ecf18bcbe372de0482e770cc0ff Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 10:16:55 -0400 Subject: [PATCH 06/14] almost always get at least some push-back --- developer-workflow/lang-changes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 30cd0304c..0cc9076a0 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -112,7 +112,7 @@ part of the process. Other people's perspectives will help explore the full impact of the idea and find strengths or weaknesses you may not have considered. -You will get push-back. Don't be disappointed, and don't take it personally. +You will almost always get at least some push-back. Don't be disappointed, and don't take it personally. As the long list of :pep:`Withdrawn and Rejected PEPs <0#rejected-superseded-and-withdrawn-peps>` in the :pep:`PEP Index <0>` attests, and as befits a mature programming language, getting significant From a899db5e3b2da00a6123374576aa3fd42cdf80f2 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 14:44:11 -0400 Subject: [PATCH 07/14] a few tweaks --- developer-workflow/lang-changes.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 0cc9076a0..540eff22a 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -29,7 +29,7 @@ Because of the seriousness of changing the language, any change must be beneficial to many Python users. If the change only helps a small percentage of Python developers then the change will not be made. A good way to see if your idea would work for a large portion of the Python community is to discuss it in -the `Ideas Discourse category `_. You can also look in Python's standard +the `Ideas category in Discourse `_. You can also look in Python's standard library to find examples of code which would benefit from your proposed change. .. important:: @@ -58,7 +58,7 @@ Proposing a change involves the following steps: Describe your idea ^^^^^^^^^^^^^^^^^^ -The `Ideas Discourse category `_ is specifically intended for discussion +The `Ideas category in Discourse `_ is specifically intended for discussion of new features and language changes. Make your proposal as a `new topic `_ there. @@ -148,8 +148,8 @@ PEP process ----------- Once you are certain you have a language change proposal which will appeal to -the general Python community, you can begin the :abbr:`PEP (Python enhancement -proposal)` process to officially propose the change. See :pep:`1` for +the general Python community, you can begin the PEP +process to officially propose the change. See :pep:`1` for information on PEPs and the PEP process, and the :pep:`PEP Index <0>` for examples. From eae920a4b7f052c909c0aa616764d9c6928bc4f9 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 14:50:51 -0400 Subject: [PATCH 08/14] clearer opening paragraph --- developer-workflow/lang-changes.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 540eff22a..d99528eab 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -5,8 +5,8 @@ Changing Python =============== On occasion people come up with an idea for changing or improving Python. -This page explains how to explore change proposals and what changes -have a reasonable chance of being considered. +This page explains how to propose changes and what to expect during the +process. Considerations From 013d35529e55511566761a78cfa4c6933dbe8b8e Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 15:22:26 -0400 Subject: [PATCH 09/14] don't re-wrap, and avoid two-space --- developer-workflow/lang-changes.rst | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index d99528eab..714c1f01c 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -20,8 +20,8 @@ Books will need updating, code will be changed, and a new way to do things will need to be learned. Changes to Python are never taken lightly. -Backward compatibility is a significant concern. Existing Python code has to -continue to work. There are exceptions to this rule, but they are very rare +Backward compatibility is a significant concern. Existing Python code has to +continue to work. There are exceptions to this rule, but they are very rare and are only allowed when the benefits of the change greatly outweigh the costs of breaking existing code. @@ -29,14 +29,14 @@ Because of the seriousness of changing the language, any change must be beneficial to many Python users. If the change only helps a small percentage of Python developers then the change will not be made. A good way to see if your idea would work for a large portion of the Python community is to discuss it in -the `Ideas category in Discourse `_. You can also look in Python's standard +the `Ideas category in Discourse `_. You can also look in Python's standard library to find examples of code which would benefit from your proposed change. .. important:: - For all of these reasons, most proposed changes to Python are rejected. This - doesn't mean you shouldn't suggest them. It can be useful to explore - alternatives and to get feedback from the community. Just be aware that - getting a change accepted is difficult. Don't take it personally. + For all of these reasons, most proposed changes to Python are rejected. This + doesn't mean you shouldn't suggest them. It can be useful to explore + alternatives and to get feedback from the community. Just be aware that + getting a change accepted is difficult. Don't take it personally. .. index:: single: PEP process @@ -75,7 +75,7 @@ Some things you should **not** do: until the idea has been accepted for further consideration. - **Don't** create a list of proposed changes. Each idea needs its own - discussion. Proposing a change is significant work. You will need to spend + discussion. Proposing a change is significant work. You will need to spend time on each proposal. A tossed-off list will not be taken seriously. When justifying your idea, these are not good reasons to make a change: @@ -112,7 +112,8 @@ part of the process. Other people's perspectives will help explore the full impact of the idea and find strengths or weaknesses you may not have considered. -You will almost always get at least some push-back. Don't be disappointed, and don't take it personally. +You will almost always get at least some push-back. Don't be disappointed, +and don't take it personally. As the long list of :pep:`Withdrawn and Rejected PEPs <0#rejected-superseded-and-withdrawn-peps>` in the :pep:`PEP Index <0>` attests, and as befits a mature programming language, getting significant @@ -125,7 +126,7 @@ help identify them so you can address them or move on. Keep the discussion productive and focused on the issues, not on personalities. It's especially useful to get core team members involved in the discussion. -Sometimes they will differ in opinion, or merely be unconvinced. When there +Sometimes they will differ in opinion, or merely be unconvinced. When there isn't a clear positive sentiment, the `Status Quo Wins a Stalemate`_. Even if your idea is not accepted, the discussion can help you and others @@ -149,12 +150,12 @@ PEP process Once you are certain you have a language change proposal which will appeal to the general Python community, you can begin the PEP -process to officially propose the change. See :pep:`1` for +process to officially propose the change. See :pep:`1` for information on PEPs and the PEP process, and the :pep:`PEP Index <0>` for examples. If the PEP is accepted, then your language change will be introduced in a -future release of Python. Otherwise, your PEP will be recorded as rejected +future release of Python. Otherwise, your PEP will be recorded as rejected along with an explanation, to inform others who may propose a similar language change in the future. From 21efe9bcf815776613c4dd2a5cb8d5aa51075d6f Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 16:35:31 -0400 Subject: [PATCH 10/14] balance brevity and detail --- developer-workflow/lang-changes.rst | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 714c1f01c..2eb048524 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -70,9 +70,9 @@ code. Some things you should **not** do: - **Don't** format your idea as a Python Enhancement Proposal (*PEP*). - It's good to use the PEP template as a - guide for what information to include, but don't try to write a full PEP - until the idea has been accepted for further consideration. + It's good to use the PEP template as a guide for what information to include, + but don't try to write a full PEP until the idea has been accepted for + further consideration. - **Don't** create a list of proposed changes. Each idea needs its own discussion. Proposing a change is significant work. You will need to spend @@ -102,6 +102,11 @@ Some things you **should** do: objections that must be answered. Your proposal will be stronger if you can address these concerns up front. +- Provide enough detail to fully explain your idea, and to show that you have + considered all the implications of the change. Strike the right balance + between brevity and completeness. A shorter proposal will be easier to + discuss, so long as it includes all the necessary information. + Engage in discussion ^^^^^^^^^^^^^^^^^^^^ From 8c31fe9e540c460876d279a94a12d9d188c0d191 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 16:36:46 -0400 Subject: [PATCH 11/14] clarify that it's Python as language we're talking about --- developer-workflow/lang-changes.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 2eb048524..c514f1608 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -4,7 +4,8 @@ Changing Python =============== -On occasion people come up with an idea for changing or improving Python. +On occasion people come up with an idea for changing or improving the Python +language or standard library. This page explains how to propose changes and what to expect during the process. From 803e24f5b11db04174d1c91f69a19cc3ebafe8ce Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 16:40:42 -0400 Subject: [PATCH 12/14] peps need a sponsor from the core team --- developer-workflow/lang-changes.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index c514f1608..22734a19d 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -154,9 +154,11 @@ as PEP following the :ref:`lang-changes-pep-process`. Congratulations! PEP process ----------- -Once you are certain you have a language change proposal which will appeal to +Once you have a proposal which will appeal to the general Python community, you can begin the PEP -process to officially propose the change. See :pep:`1` for +process to officially propose the change. +This starts with finding a sponsor from the core team. +See :pep:`1` for information on PEPs and the PEP process, and the :pep:`PEP Index <0>` for examples. From 12cb693910c22fd937d16970b178a3aeb7009f9a Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 19 Oct 2025 18:22:43 -0400 Subject: [PATCH 13/14] changes from tim hoffman's review --- developer-workflow/lang-changes.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 22734a19d..3b42cc554 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -79,7 +79,7 @@ Some things you should **not** do: discussion. Proposing a change is significant work. You will need to spend time on each proposal. A tossed-off list will not be taken seriously. -When justifying your idea, these are not good reasons to make a change: +When justifying your idea, these are **not good reasons** to make a change: - "Other languages work this way." Languages are different. What works well in one language may not work well in Python, or Python may already have a @@ -131,7 +131,10 @@ refine it and make it stronger. If your idea has flaws, the discussion will help identify them so you can address them or move on. Keep the discussion productive and focused on the issues, not on personalities. -It's especially useful to get core team members involved in the discussion. +It is especially useful to discuss with core team members since +they know the language and design considerations well. +If your proposal makes it to the PEP stage, +you'll need a core team member as a sponsor. Sometimes they will differ in opinion, or merely be unconvinced. When there isn't a clear positive sentiment, the `Status Quo Wins a Stalemate`_. From ab71708a3225dbe81c90dc7111d5a8c5ea5f561e Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Mon, 20 Oct 2025 06:33:23 -0400 Subject: [PATCH 14/14] don't use bold for abbreviations --- developer-workflow/lang-changes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 3b42cc554..0b2c613fa 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -70,7 +70,7 @@ code. Some things you should **not** do: -- **Don't** format your idea as a Python Enhancement Proposal (*PEP*). +- **Don't** format your idea as a Python Enhancement Proposal (PEP). It's good to use the PEP template as a guide for what information to include, but don't try to write a full PEP until the idea has been accepted for further consideration.