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
ゼロからはじめる採用広報
yutadayo
3
950
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
7
5.3k
Lazy application authentication with Tailscale
bluehatbrit
0
210
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
1
190
What’s new in Android development tools
yanzm
0
310
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
130
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
160
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
6
2.4k
怖くない!はじめてのClaude Code
shinya337
0
400
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
450
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
300
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
170
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Unsuck your backbone
ammeep
671
58k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Building Adaptive Systems
keathley
43
2.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Being A Developer After 40
akosma
90
590k
Designing for Performance
lara
610
69k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
BBQ
matthewcrist
89
9.7k
The Language of Interfaces
destraynor
158
25k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
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!