PEP 9, Sample PEP Template

Barry A. Warsaw barry at zope.com
Wed Aug 15 11:30:01 EDT 2001


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 at 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 at python.org or
      python-dev at 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 at python.org or
      python-dev at 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 at python.org or
      python-dev at 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 at python.org or
      python-dev at 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:





More information about the Python-list mailing list