Learning the Basics

We’ve already covered that Python is more about the people than it is about the code. So, let’s learn a bit about the organizations and processes these people participate in.

The BDFL

Guido van Rossum, the creator of Python, is often referred to as the BDFL — the Benevolent Dictator For Life.

Python Software Foundation

The Python Software Foundation is a non–profit organization that is responsible for holding and protecting the intellectual property of Python, the Package Index, PyCon, and related. It heavily contributes towards the sustainability of the language and its ecosystem both financially and through infrastructure.

Learn More about the PSF.

Python Conferences

The major events for the Python community are developer conferences. The two most notable conferences are PyCon, which is held in the US, and its European sibling, EuroPython.

A comprehensive list of conferences is maintained at pycon.org.

Python User Groups

User Groups are where a bunch of Python developers meet to present or talk about Python topics of interest. A list of local user groups is maintained at the Python Software Foundation Wiki.

PEPs

PEPs (Python Enhancement Proposals) are the documents/process through which Python gets enhanced and changed, over time.

The most infamous PEP is PEP8, which documents how to properly style Python code within the community.

Anyone can propose a PEP, even you! It’s a long process, for good reasons — you have to convince a lot of people that your idea is a good one.

There are three different types of PEPs (as defined by PEP 1):

Standards
Describes a new feature or implementation.
Informational
Describes a design issue, general guidelines, or information to the community.
Process
Describes a process related to Python.

Notable PEPs

There are a few PEPs that could be considered required reading:

  • PEP 8: The Python Style Guide.
    Read this. All of it. Follow it.
  • PEP 20: The Zen of Python.
    A list of 19 statements that briefly explain the philosophy behind Python.
  • PEP 257: Docstring Conventions.
    Gives guidelines for semantics and conventions associated with Python docstrings.

You can read more at The PEP Index.

Submitting a PEP

PEPs are peer-reviewed and accepted/rejected after much discussion. Anyone can write and submit a PEP for review.

Here’s an overview of the PEP acceptance workflow:

../_static/pep-0001.png