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

Your First Patch! Submitting a Patch to CPython by Lisa Roach, Facebook Production Engineer

Your First Patch! Submitting a Patch to CPython by Lisa Roach, Facebook Production Engineer

3476530ee3199731f810cb41daadad79?s=128

PyLadies Dublin

June 20, 2017
Tweet

More Decks by PyLadies Dublin

Other Decks in Technology

Transcript

  1. Your First Patch!
 Submitting a patch to CPython Lisa N

    Roach Facebook Production Engineer
  2. Me • Production Engineer at Facebook in Infrastructure Security •

    Been contributing to CPython for ~1 year
  3. What is CPython? The main implementation of Python

  4. Two Truths and a Lie 1. CPython is an interpreter

    2. The majority of CPython is written in C 3. CPython is the most widely used implementation of Python
  5. Two Truths and a Lie 1. CPython is an interpreter

    2. The majority of CPython is written in C 3. CPython is the most widely used implementation of Python
  6. 2% C++ 1% C 40% Python 58% Languages of
 CPython

  7. Patches? But Python is Perfect! • Bug Fixes • Feature

    Enhancements • Performance Enhancements • New Features • Documentation Updates
  8. Python Developer’s Guide
 https://docs.python.org/devguide/

  9. Lifecycle of a Patch 1. Find an issue

  10. Python Issues List http://bugs.python.org/

  11. None
  12. None
  13. None
  14. None
  15. Issue30486: Allow setting cell value

  16. None
  17. None
  18. Lifecycle of a Patch 1. Find an issue 2. Update

    the code
  19. Updating the Code 1. Code it 2. Write unit tests

    3. Update documentation 4. Update Misc/NEWS
  20. Updating the Code: Code It Objects/cellobject.c

  21. Updating the Code: Write unit tests
 Lib/test/test_funcattrs.py

  22. Updating the Code: Update documentation
 Doc/reference/datamodel.rst

  23. Updating the Code: Update Misc/NEWS
 Misc/NEWS

  24. Lifecycle of a Patch 1. Find an issue 2. Update

    the code 3. Submit a Pull Request 4. Receive feedback 5. Make updates 6. Get merged
  25. Pull Request

  26. Get Help! • Slack channel: PyLadies: #cpython-dev • Github: pyladies/pyladies-maintainers

    • Mailers: • Core-mentorship-request • Python-ideas
  27. We Need You!