Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contributing to Python

Mariatta
January 10, 2023

Contributing to Python

Python is one of the most popular programming language out there, and it is also an open source project. The Python community relies on contributions by volunteers, and you too can take part in this rewarding experience. Contributing to open source is not just about opening pull requests. In this talk, we’ll go through the workflow of contributing to CPython repository, as well as other ways to contribute to the project, including documentation, triaging, and infrastructure.

Presented at IndyPy January 10, 2023

Mariatta

January 10, 2023
Tweet

More Decks by Mariatta

Other Decks in Technology

Transcript

  1. Mariatta PyCon US Chair 2023-2024 https://us.pycon.org/2023/ Salt Lake City, USA

    April 19-27, 2023 Travel Grants application deadline: Jan 20, 2023 IndyPy January 2023 Contributing to Python @[email protected]
  2. Python Core Developer What people think: What I really do:

    ??? IndyPy January 2023 Contributing to Python @[email protected] C Programmer
  3. Python Core Developer C Programmer What people think: What I

    really do: Python Documentation DevGuide Core-Work f low GitHub Bots Contributor Experience Docs Community Language Summit IndyPy January 2023 Contributing to Python @[email protected]
  4. Open Source Source code available What people think: What it

    really is: IndyPy January 2023 Contributing to Python @[email protected] ???
  5. Open Source Source code available What people think: What it

    really is: Source code available License Community Contributions IndyPy January 2023 Contributing to Python @[email protected]
  6. Open Source Source code available What people think: What it

    really is: IndyPy January 2023 Contributing to Python @[email protected] Source code available License Community Contributions
  7. Open Source Source code available What people think: What it

    really is: IndyPy January 2023 Contributing to Python @[email protected] Source code available License Community Contributions
  8. Contributing to Python Make lots of pull requests What people

    think What it really is: Make pull requests Review lots of pull requests Read mailing lists / Discourse forums Participate in discussions Replicate bugs Write Tests Issue Triage Documentation Infrastructure Mentorship IndyPy January 2023 Contributing to Python @[email protected]
  9. How to Contribute to Python in 2023 Read the DevGuide

    https://devguide.python.org Getting Started Work f low Python Release Cycle Documentation Triaging Guide Testing and Buildbots Experts Index Translating Python Internals IndyPy January 2023 Contributing to Python @[email protected]
  10. How to Contribute to Python in 2023 Get the Source

    Code & Setup env Make changes (code, test suite, docs) Sign the CLA Write the Misc/News f ile (use Blurb/Blurb-it tool) Backport (if applicable) IndyPy January 2023 Contributing to Python @[email protected]
  11. Contributing to Documentation Intro to reStructuredText and Sphinx https://www.youtube.com/watch?v=v4eoYpCON_c Documentation

    Forum https://discuss.python.org/c/documentation/26 Docs Issues / PRs https://github.com/python/cpython/issues?q=is%3Aopen+is%3Aissue+label%3Adocs Docs Community https://github.com/python/docs-community IndyPy January 2023 Contributing to Python @[email protected]
  12. Contributing to Documentation Write lots of text Correcting grammar What

    people think: What it really is: Write text Proofread Translation Tools Sphinx Theme What’s New SEO DevGuide Diataxis Docs Triage IndyPy January 2023 Contributing to Python @[email protected]
  13. How to Choose an Issue to Work on It’s up

    to you Find a focus area of your interest Subscribe to Labeled Issues Learning how to f ix an issue is part of the process Spend time to research the issue and solution IndyPy January 2023 Contributing to Python @[email protected]
  14. Don’t: Do: How to Review PRs No additional privilege needed

    Review the original issue Explain your thought process Test and validate the change Thank the contributor Suggest improvement Approve without comment https://devguide.python.org/getting-started/pull-request-lifecycle/#leaving-a-pull-request-review-on-github IndyPy January 2023 Contributing to Python @[email protected]
  15. How to Triage https://devguide.python.org/triage/triaging/ IndyPy January 2023 Contributing to Python

    @[email protected] Python Triage privileges needed Classify Issues Set appropriate labels Set Assignees, Reviewers, etc Close invalid issues Notify relevant core devs
  16. How to Triage IndyPy January 2023 Contributing to Python @[email protected]

    When you don’t have the triaging privileges Review incoming Issues and PRs Assist other contributors Participate in issue discussions Suggest next action
  17. How to Become a Triager IndyPy January 2023 Contributing to

    Python @[email protected] https://devguide.python.org/triage/triage-team/#becoming-a-member-of-the-python-triage-team Either nominated by a core dev or Self nominate, and approved by one core dev
  18. How to Become a Triager IndyPy January 2023 Contributing to

    Python @[email protected] https://devguide.python.org/triage/triage-team/#becoming-a-member-of-the-python-triage-team Actively contributing over a period of time (PRs, reviews, Docs, PEPs, etc) Positive interactions with the team (open, considerate, & respectful) https://www.python.org/psf/conduct/
  19. Recent Triagers IndyPy January 2023 Contributing to Python @[email protected] Barney

    Gale https://github.com/python/core-work f low/issues/485 Michael Droettboom https://github.com/python/core-work f low/issues/472 Thomas Grainger https://github.com/python/core-work f low/issues/471 Carl Meyer https://github.com/python/core-work f low/issues/448
  20. How to Become a Core Developer IndyPy January 2023 Contributing

    to Python @[email protected] https://peps.python.org/pep-0013/#membership Python core team members demonstrate: a good grasp of the philosophy of the Python Project a solid track record of being constructive and helpful signi f icant contributions to the project’s goals, in any form willingness to dedicate some time to improving Python
  21. How to Become a Core Developer IndyPy January 2023 Contributing

    to Python @[email protected] https://peps.python.org/pep-0013/#membership Nominated by a core dev 2/3 positive votes in the nomination poll Not vetoed by the Steering Council
  22. Recent Core Devs IndyPy January 2023 Contributing to Python @[email protected]

    Shantanu Jain https://discuss.python.org/t/vote-to-promote-shantanu/21846 Kumar Aditya https://discuss.python.org/t/vote-to-promote-kumar-aditya/21033 Hugo van Kemenade https://discuss.python.org/t/vote-to-promote-hugo-van-kemenade/20990 Alex Waygood https://discuss.python.org/t/vote-to-promote-alex-waygood/19690