Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Your First Patch! Submitting a Patch to CPython...
Search
PyLadies Dublin
June 20, 2017
Technology
0
140
Your First Patch! Submitting a Patch to CPython by Lisa Roach, Facebook Production Engineer
PyLadies Dublin @ Facebook
https://www.meetup.com/PyLadiesDublin/events/236605261/
PyLadies Dublin
June 20, 2017
Tweet
Share
More Decks by PyLadies Dublin
See All by PyLadies Dublin
Python in the Community
pyladiesdublin
0
81
PyLadies Valentines: "Matchmaking for Coders! And why 1+1=3!" by Isabella Hoesch
pyladiesdublin
0
53
PyLadies Dublin Aug Meetup: Text Classification using HuggingFace Transformers
pyladiesdublin
0
44
PyLadies Dublin August Meetup: PySpark 101: Tips and Tricks
pyladiesdublin
0
34
PyLadies Dublin Sep Meetup: Building Conversational Bot using Twilio & Python
pyladiesdublin
0
100
Python imports, reloads, and associated dangers by Sorcha Bowler
pyladiesdublin
0
28
My First Maker Project: Print Your Own Adventure Game
pyladiesdublin
0
47
Introduction to Jupyter Notebooks & Data Analysis using Kaggle
pyladiesdublin
0
98
Big Data Analytics with Time-Series Database kdb+
pyladiesdublin
0
180
Other Decks in Technology
See All in Technology
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
340
MobileActOsaka_250704.pdf
akaitadaaki
0
130
Claude Code に プロジェクト管理やらせたみた
unson
6
4.1k
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
400
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
260
Enhancing SaaS Product Reliability and Release Velocity through Optimized Testing Approach
ropqa
1
230
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
390
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
280
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
4
3.9k
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.8k
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
2
7.2k
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
470
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Music & Morning Musume
bryan
46
6.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Designing for humans not robots
tammielis
253
25k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
950
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Writing Fast Ruby
sferik
628
62k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Transcript
Your First Patch! Submitting a patch to CPython Lisa N
Roach Facebook Production Engineer
Me • Production Engineer at Facebook in Infrastructure Security •
Been contributing to CPython for ~1 year
What is CPython? The main implementation of Python
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
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
2% C++ 1% C 40% Python 58% Languages of CPython
Patches? But Python is Perfect! • Bug Fixes • Feature
Enhancements • Performance Enhancements • New Features • Documentation Updates
Python Developer’s Guide https://docs.python.org/devguide/
Lifecycle of a Patch 1. Find an issue
Python Issues List http://bugs.python.org/
None
None
None
None
Issue30486: Allow setting cell value
None
None
Lifecycle of a Patch 1. Find an issue 2. Update
the code
Updating the Code 1. Code it 2. Write unit tests
3. Update documentation 4. Update Misc/NEWS
Updating the Code: Code It Objects/cellobject.c
Updating the Code: Write unit tests Lib/test/test_funcattrs.py
Updating the Code: Update documentation Doc/reference/datamodel.rst
Updating the Code: Update Misc/NEWS Misc/NEWS
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
Pull Request
Get Help! • Slack channel: PyLadies: #cpython-dev • Github: pyladies/pyladies-maintainers
• Mailers: • Core-mentorship-request • Python-ideas
We Need You!