GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing devguide.python.org — Changing Python Changing 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. Considerations¶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 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 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 discuss it in 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. Suggesting new features and language changes¶Proposing a change involves the following steps:
Describe your idea¶The Ideas category in Discourse 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:
When justifying your idea, these are not good reasons to make a change:
Some things you should do:
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 almost always get at least some push-back. Don’t be disappointed, and don’t take it personally. As the long list of Withdrawn and Rejected PEPs in the PEP Index 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 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. Even if your idea is not accepted, the discussion can help you and others understand the design of Python better, and help inform future proposals. Formal proposal¶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 PEP process. Congratulations! PEP process¶Once you have a proposal which will appeal to the general Python community, you can begin the PEP 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 Index 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. |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |