Getting started
Create issues and pull requests
Create issues for nontrivial changes
Install pre-commit as a Git hook
Avoid recreating auto-generated files
Contribute using GitHub Codespaces
Using the dev container directly
Using the pre-built container image
Fixing “easy” issues (and beyond)
Forking CPython GitHub repository
Cloning a forked CPython repository
Listing the remote repositories
Setting up your name and email address
Creating and switching branches
Linking to issues and pull requests
Checking out others’ pull requests
Accepting and merging a pull request
Editing a pull request prior to merging
Updating NEWS and What’s New in Python
Changes that require NEWS entries
Changes that require “What’s New in Python” entries
Why do I need to sign the CLA again?
Converting an existing patch from b.p.o to GitHub
Leaving a pull request review on GitHub
Dismissing review from another core team member