title: Python Community
category: page
slug: python-community
sortorder: 0106
toc: False
sidebartitle: Python Community
meta: Python has a global community with millions of developers that interact online and offline in thousands of virtual and physical locations.


The Python programming language has a global community with millions of 
software developers who interact online and offline in thousands of virtual 
and physical locations.

<img src="/img/logos/py.png" width="100%" alt="Python logo.">


## Who drives the Python community?
There are tens of thousands of Python developers who help steer the
community with local, regional and global events. Most, if not all of them, 
are members of the 
[Python Software Foundation (PSF)](https://www.python.org/psf/). The PSF
is a 501(c)(3) non-profit with the mission to "promote, protect, and advance 
the Python programming language, and to support and facilitate the 
growth of a diverse and international community of Python programmers."
Anyone that uses Python and has an active interest in the Python community 
can join the PSF as a [member](https://www.python.org/psf/membership/).
There are five classes of PSF members:

1. Basic Members
1. Supporting Members
1. Sponsor Members
1. Managing Members
1. Contributing Members and Fellows

Starting out by joining as a basic PSF member is a great way to show your
support and begin your own journey in working with the larger open source
ecosystem.


## What is a PEP and why do they matter?
[Python Enhancement Proposals (PEPs)](https://www.python.org/dev/peps/) are
design documents that serve to drive Python's continued evolution. There
are [three kinds of PEPs](https://www.python.org/dev/peps/pep-0001/#pep-types) 
that serve disinct purposes:

1. *Standards track*: enhances the Python language with new features
1. *Informational*: provides information to the Python community
1. *Process*: modifies or makes improvements on topics relevant to
   the community but outside the Python language itself

[PEP 1](https://www.python.org/dev/peps/pep-0001/) defines what a PEP is
and its purpose. In true computer science fashion, 
[PEP 0](https://www.python.org/dev/peps/) also exists and it is an index
of all the PEPs that have been created.

The PEPs are important because they drive a transparent process to evolve
the language and broader ecosystems. Some other programming communities are
opaquely pushed by a single person or small cliques who refuse to 
understand outside perspectives. The insular nature of some groups typically
causes decline over time as the original community members move on to new
projects and no new members take their place.


## Conferences and events
The Python online community has fantastic resources for learning but talking
to your fellow developers in-person at conferences, meetups and hackathons
is a crucial way to discover new tools and coding approaches. The following
resources provide perspective on offline events like 
[PyCon US](https://us.pycon.org/).

* [How to have a great first PyCon](http://treyhunner.com/2018/04/how-to-make-the-most-of-your-first-pycon/)
  gives a slew of advice on how to get the most out of your busy,
  and often overwhelming, PyCon experience.

* Clinton Dreisbach wrote two fantastic retrospectives for 
  [PyCon US 2015](http://www.dreisbach.us/blog/pycon-2015/) (his first PyCon)
  and 
  [PyCon US 2016](http://www.dreisbach.us/blog/pycon-2016/). There are
  many other retrospectives for other 
  [community-led conferences such as EuroPython](https://www.artima.com/weblogs/viewpost.jsp?thread=261930).
  These summaries can be a great way to get a slice of the experience
  before purchasing a ticket and booking a trip.

* One reason among many that Python conferences are spectacular experiences
  is the transparency about the how and why decisions are made for 
  event attendees. For example, PyCon is 
  [transparent about the locations it selects for the conference](https://pycon.blogspot.ca/2018/04/how-why-cities-and-dates-are-selected.html)
  as well as why the community has a long-standing tradition of having
  [speakers pay their own way](http://jessenoller.com/blog/2011/05/25/pycon-everybody-pays)
  just as any conference attendee would. From the outside it may appear
  these decisions are minor but they instill confidence in the stewardship
  of the Python ecosystem by current community leadership.

* [How I Learned to Stop Worrying and Love PyCon](http://www.jesshamrick.com/2014/04/18/how-i-learned-to-stop-worrying-and-love-pycon/)
  goes over one first-time PyCon attendee's nervousness about attending
  the conference and how she got over it while having a great time in
  the process.

* [Don't Submit A Talk About Your Great Hack: Jesse's Seven Tips To Get Into PyCon](https://emptysqua.re/blog/seven-tips-for-pycon/)
  provides wonderful advice on how to approach the Call for Proposals (CFP)
  when you want to speak at a Python conference. The notes on how to balance
  specifics with vagarity in your title is particularly useful.


### Python community resources
The Python community exists both online and offline. The following resources
will help you get connected with other Python developers in both forms. They
also provide context on how some of the major decisions are made within
the community.

* The [community page on Python.org](https://www.python.org/community/)
  provides a starter page with links to community-run newsletters, resources
  and conferences.

* The Python community has a concept known as "Benevolent Dictator For Life" 
  that may appear odd to newcomers. Essentially, Guido Van Rossum created
  the language and still has the ability to decide community arguments one
  way or the other. This post on the 
  [origin of BDFL](https://www.artima.com/weblogs/viewpost.jsp?thread=235725)
  has more context about Guido's role.

* [Python Community and Python at Dropbox](https://talkpython.fm/episodes/show/30/python-community-and-python-at-dropbox)
  is an interview with [Jessica McKellar](https://github.com/jesstess),
  one of the most visible Python core committers and organizers for
  her fantastic coding and community work. She explains what it
  means to be a member and leader in the larger Python community.

* [The history behind the decision to move Python to GitHub](https://snarky.ca/the-history-behind-the-decision-to-move-python-to-github/)
  is a transparent and personal story by one of the Python Core Team
  members, [Brett Cannon](https://github.com/brettcannon), on why the
  main Python projects including the language itself are now 
  [hosted for development](https://github.com/python/)
  on [GitHub](https://github.com). The post is a wonderful read about the history
  of where Python development was centralized and how it moved from 
  SourceForge to svg.python.org and then over to GitHub.

* [Python community trends in 2017/2018](https://opensource.com/article/18/5/numbers-python-community-trends)
  by [Ewa Jodlowska](https://github.com/ejodlowska), who is heavily involved 
  in PyCon and the overall Python ecosystem, provides a ton of data and 
  metrics on areas of community interest such as Python developers' 
  locations, [Python 3 adoption](/python-2-or-3.html) and years of 
  experience as professional developers.

* There are some amazing communities within the overall Python ecosystem,
  such as [PyLadies](http://www.pyladies.com/), which encourages women
  to be strong, proactive community members.
