Development workflow¶ Following Python’s development Standards of behaviour in these communication channels Communicating across cultures and languages Mailing lists Discourse (discuss.python.org web forum) Tutorials for new users Reading topics Notifications Following categories (category notifications) Following individual threads (topic notifications) Customising notifications on user preference Enabling mailing list mode Discord (private chat server) IRC Blogs Setting expectations for open source participation Additional repositories Changing Python Considerations Suggesting new features and language changes Describe your idea Engage in discussion Formal proposal PEP process Development cycle Branches In-development (main) branch Maintenance branches Security branches End-of-life branches Stages Pre-alpha Alpha Beta Release Candidate (RC) Final Repository administration Organization repository policy Organization owner policy Current owners Repository administrator role policy Current administrators Repository release manager role policy PyPI organization policy Governance Adding to the stdlib Adding to a pre-existing module Adding a new module Acceptable types of modules Requirements Proposal process Adding a new environment variable Standard library extension modules Classifying extension modules Adding an extension module to CPython Updating the CPython project tree Configuring the CPython project Updating Modules/Setup.{bootstrap,stdlib}.in Updating configure.ac Updating Makefile.pre.in Updating MSVC project files Compiling the CPython project Troubleshooting No rule to make target regen-configure make regen-configure and missing permissions with Docker Missing Py_BUILD_CORE define when using internal headers Tips Restricting to the Limited API Changing Python’s C API The internal API With PyAPI_FUNC or PyAPI_DATA With the extern keyword Private names Internal API tests Public C API Guidelines for expanding/changing the public API C API tests Unstable C API Moving an API from the public tier to Unstable Moving an API from the private tier to unstable Moving an API from unstable to public Limited API Guidelines for changing the Limited API, and removing items from it Guidelines for adding to the Limited API Adding a new definition to the Limited API Limited API tests Changing CPython’s grammar Porting to a new platform