[Python-Dev] PEP 9, Sample PEP Template
Barry A. Warsaw
barry@zope.com
Wed, 15 Aug 2001 11:30:01 -0400
A number of people have suggested that there be a standard PEP
template that makes it easier to get started with writing your own
PEP. This is a good thing too, because hopefully it'll make the
submissions I see more consistent with less initial editorial
requirements (and fewer auto-rejects due to bad form <wink>).
To that end, I've written PEP 9, Sample PEP Template, which is
available at the following URL, and attached below.
http://python.sourceforge.net/peps/pep-0009.html
Please take a look and let me know if any of the instructions in it
are confusing. PEP 9 isn't a substitute for reading PEP 1, PEP
Purpose and Guidelines, but it should be considered an adjunct.
feeling-peppy-ly y'rs,
-Barry
-------------------- snip snip --------------------
PEP: 9
Title: Sample PEP Template
Version: $Revision: 1.2 $
Last-Modified: $Date: 2001/08/15 15:28:57 $
Author: barry@zope.com (Barry A. Warsaw)
Status: Active
Type: Informational
Created: 14-Aug-2001
Post-History:
Abstract
This PEP provides a boilerplate or sample template for creating
your own PEPs. This should make it easy for you to conform your
own PEPs to the style outlined in PEP 1, PEP Guidelines[1].
Rationale
PEP submissions come in a wide variety of forms, not all adhering
to the style guidelines set forth in PEP 1. Use this template, in
conjunction with the prose guidelines in PEP 1, to ensure that
your PEP submission won't get automatically rejected because of
form.
To use this template you must first decide whether your PEP is
going to be Informational or Standards Track. Most PEPs are
Standards Track because they propose a new feature for the Python
language or standard library. When in doubt, read PEP 1 for
details.
Once you've decided which type of PEP yours is going to be, follow
the directions in the appropriate section below.
How to Use This Template for Standard Track PEPs
- Make a copy of this file and perform the following edits.
- replace the "PEP: 9" header with "PEP: XXX" since you don't yet
have a PEP number assignment.
- Change the Title: header to the title of your PEP.
- Leave the Version: and Last-Modified: headers alone; we'll take
care of those when we check your PEP into CVS.
- Change the Author: header to include your email address and
name. Be sure to follow the format carefully: your email
address must appear first, and it should not be contained in
angle brackets. Your full name should appear second and it
should appear in parentheses.
- If there is a mailing list for discussion of your new feature,
add a Discussions-To: header right after the Author: header.
You should not add a Discussions-To: header if the mailing list
to be used is either python-list@python.org or
python-dev@python.org, or if discussions should be sent to you
directly.
- Change the Status: header to "Draft".
- Change the Type: header to "Standards Track".
- If your feature depends on the acceptance of some other currently
in-development PEP, add a Requires: header right after the Type:
header. The value should be the PEP number of the PEP yours
depends on. Don't add this header if your dependent feature is
described in a Final PEP.
- Change the Created: header to today's date. Be sure to follow
the format carefully: it must be in dd-mmm-yyyy format, where
the mmm is the 3 letter month abbreviation.
- After the Created: header, add a Python-Version: header and set
the value to the next planned version of Python, i.e. the one
your new feature will hopefully make its first appearance in.
Do not use an alpha or beta release designation here. Thus, if
the last version of Python was 2.2 alpha 1 and you're hoping to
get your new feature into Python 2.2, set the header to:
Python-Version: 2.2
- Leave Post-History: alone for now; you'll add dates to this
header after your PEP has been assigned a number and you've
posted your PEP to python-list@python.org or
python-dev@python.org.
- Add a Replaces: header if your PEP describes a feature that will
replace a feature described in some Final PEP. Usually you
won't need to add this header. It's also unlikely that you'll
ever add a Replaced-By: header.
- Now write your abstract, rationale, and other content for your
PEP, replacing all this gobbledygook with your own text. Be
sure to adhere to the PEP 1 style guidelines, specifically on
the prohibition of tab characters and the indentation
requirements.
- Update your References and Copyright section. Usually you'll
place your PEP into the public domain, in which case just leave
the Copyright section alone. Alternatively, you can use the
Open Publication License[2], but public domain is still strongly
preferred.
- Leave the little Emacs turd at the end of this file alone,
including the formfeed character (^L, or \f).
- Send your PEP submission to the PEP editor, along with $100k in
unmarked pennies. (Just kidding, I wanted to see if you were
still awake. :)
How to Use This Template for Informational PEPs
- Make a copy of this file and perform the following edits.
- replace the "PEP: 9" header with "PEP: XXX" since you don't yet
have a PEP number assignment.
- Change the Title: header to the title of your PEP.
- Leave the Version: and Last-Modified: headers alone; we'll take
care of those when we check your PEP into CVS.
- Change the Author: header to include your email address and
name. Be sure to follow the format carefully: your email
address must appear first, and it should not be contained in
angle brackets. Your full name should appear second and it
should appear in parentheses.
- If there is a mailing list for discussion of your new feature,
add a Discussions-To: header right after the Author: header.
You should not add a Discussions-To: header if the mailing list
to be used is either python-list@python.org or
python-dev@python.org, or if discussions should be sent to you
directly. Most Information PEPs don't have a Discussions-To:
header.
- Change the Status: header to "Active".
- Change the Type: header to "Informational".
- Change the Created: header to today's date. Be sure to follow
the format carefully: it must be in dd-mmm-yyyy format, where
the mmm is the 3 letter month abbreviation.
- Leave Post-History: alone for now; you'll add dates to this
header after your PEP has been assigned a number and you've
posted your PEP to python-list@python.org or
python-dev@python.org.
- Now write your abstract, rationale, and other content for your
PEP, replacing all this gobbledygook with your own text. Be
sure to adhere to the PEP 1 style guidelines, specifically on
the prohibition of tab characters and the indentation
requirements.
- Update your References and Copyright section. Usually you'll
place your PEP into the public domain, in which case just leave
the Copyright section alone. Alternatively, you can use the
Open Publication License[2], but public domain is still strongly
preferred.
- Leave the little Emacs turd at the end of this file alone,
including the formfeed character (^L, or \f).
- Send your PEP submission to the PEP editor, along with $100k in
unmarked pennies. (Just kidding, I wanted to see if you were
still awake. :)
References
[1] PEP 1, PEP Purpose and Guidelines
http://www.python.org/peps/pep-0001.html
[2] http://www.opencontent.org/openpub/
Copyright
This document has been placed in the public domain.
Local Variables:
mode: indented-text
indent-tabs-mode: nil
End: