Skip to content
Dan Lawrence edited this page Mar 30, 2023 · 23 revisions

Welcome to the Pygame Community Edition GitHub contributor guides and help wiki pages.

The purpose of these pages is to help contributors and reviewers improve pygame-ce with information on how to compile, create pull requests and review pull requests. It also contains information on how the Pygame Community Edition project is currently governed.

Pygame CE Developer Overview

Pygame CE is built from a majority of C code, a smaller amount of python code, and currently a teeny amount of cython code (that we'd like to convert to C code). C code is also what is used to create CPython, the most widely used distribution of python, so, if you've made any contributions to CPython then pygame's C code will be somewhat familiar. Other popular python packages like numpy, pillow and TensorFlow also use the C Extension API of python as it is the main way to squeeze maximum performance while retaining python's trademark user friendliness to the end user.

Compiling

How to build pygame-ce from source so you can make and test changes you make to the code.

Contributing

Development

Reviewing

Triaging issues

Governance

Currently the project has a three tiered membership structure.

New members enter as contributors (appointed by the steering council) and gain voting rights for the steering council elections, the ability to make pygame-ce branches and the power to make meaningful pull request reviews.

Once a contributor has been in good standing and made substantial good quality contributions (including PR reviews) for approximately six months or more they will be considered for appointment to the 'Experienced Reviewers' team by the steering council. All pull requests need one review from an experienced reviewer before they can be merged.

Finally there is the steering council, all contributors get a vote for annual elections to the steering council. The council consists of no less than three members and has responsibility for appointing members to teams, releases of pygame-ce, the next round of steeering council elections and general policy for Pygame Community Edition. You can read more below: