Python Contributor’s Guide (draft)

Important

This is part of a Draft of the Python Contributor’s Guide. Text in square brackets are notes about content to fill in. Currently, the devguide and this new Contributor’s Guide co-exist in the repo. We are using Sphinx include directives to demonstrate the re-organization. The final Contributor’s Guide will replace the devguide with content in only one place. We welcome help with this!

The [Plan for the Contributor’s Guide] page has more details about the current state of this draft and how you can help. See more info about the Contributor Guide in the discussion forum: Refactoring the DevGuide.

[Open question: how to divide content between this Introduction and the introduction?]

This guide is a comprehensive resource for contributing to Python – for both new and experienced contributors. It is maintained by the same community that maintains Python. We welcome your contributions to Python!

We encourage everyone to contribute to Python. This guide should have everything you need to get started and be productive. If you still have questions after reviewing the material in this guide, the Core Python Mentorship group is available to help you through the process.

There are a number of ways to contribute including code, documentation, and triaging issues. We’ve organized this guide to provide specifics based on the type of activity you’ll be engaged in.

Using this guide

We recommend reading this guide as needed. You can stop where you feel comfortable and begin contributing immediately without reading and understanding everything. If you do choose to skip around this guide, be aware that it is written assuming preceding sections have been read so you may need to backtrack to fill in missing concepts and terminology.

No matter what kind of contribution you’ll be making, you should start with these common sections:

Then choose a path based on your type of activity:

[The original table on the devguide home had a fourth column for Core Developers. That made the table wider and more confusing. I don’t think core team members need a quick intro path since they will have been through the devguide before.]

[I haven’t adjusted the links in the table yet other than to add a link to the major section at the top of each column.]