The must-read Python’s PEPs

6 minute read

As Python developer, you should know what a PEP is. In case you don’t,

“PEP stands for Python Enhancement Proposal. A PEP is a design document providing information to the Python community, or describing a new feature for Python or its processes or environment. The PEP should provide a concise technical specification of the feature and a rationale for the feature” (from PEP 1)

There are three kinds of PEP:

  • A Standards Track PEP describes a new feature or implementation for Python
  • An Informational PEP describes a Python design issue, or provides general guidelines or information to the Python community, but does not propose a new feature
  • A Process PEP describes a process surrounding Python, or proposes a change to (or an event in) a process. Process PEPs are like Standards Track PEPs but apply to areas other than the Python language itself

All PEPs are stored in a github repository and the list is in the PEP 0

Now, the main question is: “What are the most important PEPs that a Python developer should be aware of?” I went through the long list and I chose the ones that I think are important to know.

The must know PEPs without witch you cannot be considered a Python programmer are:

The following PEPs don’t fall into any category but it’s good to know their existence anyway:

The following PEPs instead will be split between Python versions (2 and 3) and they just represent an attempt to summarise the most relevant ones in order to pick peculiarities of the language itself. The version of python affected and some personal extra comments will be side noted.

Python 2

Python 2 and 3

Python 3

Have I missed anything? What’s your favourite PEP?

Comments