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 by Lisa Roach, Facebook Production Engineer
Search
PyLadies Dublin
June 20, 2017
Technology
0
130
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
44
PyLadies Valentines: "Matchmaking for Coders! And why 1+1=3!" by Isabella Hoesch
pyladiesdublin
0
42
PyLadies Dublin Aug Meetup: Text Classification using HuggingFace Transformers
pyladiesdublin
0
24
PyLadies Dublin August Meetup: PySpark 101: Tips and Tricks
pyladiesdublin
0
25
PyLadies Dublin Sep Meetup: Building Conversational Bot using Twilio & Python
pyladiesdublin
0
78
Python imports, reloads, and associated dangers by Sorcha Bowler
pyladiesdublin
0
18
My First Maker Project: Print Your Own Adventure Game
pyladiesdublin
0
21
Introduction to Jupyter Notebooks & Data Analysis using Kaggle
pyladiesdublin
0
75
Big Data Analytics with Time-Series Database kdb+
pyladiesdublin
0
130
Other Decks in Technology
See All in Technology
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!
shuntaka
PRO
0
560
AIアシスタントの活用で品質の向上と開発ワークフローのスピードアップ
nagix
1
210
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
630
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
コンテナ・K8s研修 - 前半 コンテナ基礎・ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
サービス開発を前に進めるために 新米リードエンジニアが 取り組んだこと / Steps Taken by a Novice Lead Engineer to Advance Service Development
nologyance
0
180
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
160
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
200
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
227
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
Infographics Made Easy
chrislema
238
18k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
Typedesign – Prime Four
hannesfritz
37
2.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Code Review Best Practice
trishagee
58
16k
What's new in Ruby 2.0
geeforr
338
31k
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!