CPython, what’s CPython. CPython is the official implementation of Python, written in C. And it’s not just a implementation, it is a group of volunteers and where they daily work on the project but there is no many active contributors.
In this talk, I would like to prove to you than you can become an active contributor of CPython.
The core developers of CPython need your help, for example, with the review of some patches, you can comment a patch or try to reproduce a bug.
In the past, when you wanted to contribute to CPython, you had to use the bug tracker interface and send a patch, this patch was reviewed if you were lucky and after commented etc…. but this process was really long and time consuming.
Now with the new process based on GitHub and Git, you can create a new branch on your local repository and just send a Pull Request. The Pull Request is just awesome, it will be reviewed really quickly, we will comment your Pull Request and if the code is correct and the tests pass, then you PR will be merged in CPython.
We love and need your Pull Requests for CPython.
For new comers to CPython and the future contributors and of course for the regular contributors and core-dev of CPython.
With this migration to GitHub, I will show the work done by the migration team, the benefits of this migration and the new tools/workflow. Few tools have been developed to help the core-dev. For example, Miss Islington has been developed for an automatic back-port of a branch from Python ‘master’ to Python 3.6 or 3.5, just with a “label” on the Pull Request
I will show some stats about the contributors and the contributions on the CPython project. For example, in November 2017, 4207 pull requests from the community since the migration in Feb 2017.
The talk is explained with a story “Once upon a time” and with humour.
- small history about the beginning of Python, the status and the challenges.
- Former workflows, former tools:
- the CLA (PSF Contributor Agreement)
- the bug tracker
- patch review with the Rietveld tool
- typical workflow
- conclusion: We have an issue for the new comers
- New workflow, new tools
- Git, why?
- Github, why?
- Web interface, Pull Requests, Dashboards
- REST API, GraphQL API for the statistics
- Automation with Travis, AppVeyor
- New Bots: Bedevere, Miss Islington, “The Knights who say ni!”
- New tool: Blurb
- Comparison between the former and new workflow
- Statistics (between Feb 2017, and Nov 2017)
- Number of Pull Requests (4204)
- Number of Contributors (586) vs Core Dev
- Merge time, Top, Average, etc….
- Q&A ?
This talk has been presented at PyCon Canada in November 2017 at Montreal in front of two core-devs of Python, Brett Cannon and Mariatta Wijaya. Also reviewed by Victor Stinner core-dev python
My talk has been shared on the python-dev mailing list by Victor Stinner: https://mail.python.org/pipermail/python-dev/2017-December/151051.html because the statistics were interesting for the core-dev.
Presentation at PyCon Canada 2017: https://2017.pycon.ca/schedule/4/ Slides: https://speakerdeck.com/matrixise/cpython-loves-your-pull-requests
My experience, speaker at PyCon Canada 2015, 2016 and 2017 Python FOSDEM 2013, 2014, 2015 and 2017 PyCon Ireland 2015, 2016, and 2017 PyCon France 2012, 2014, 2016, 2017 PyCon UK 2015 EuroPython 2015, 2016 and 2017. Montreal Python September 2015 and November 2017.
Organizer of Python FOSDEM (+- 600 people) in Belgium Co-Organizer of EuroPython 2015, 2016 and 2017 (as member of the Web workgroup).
Fellow Member of the Python Software Foundation since 2013 Member of the Fellow Workgroup for the PSF Member of the Marketing Workgroup for the PSF
Of course, contributor of CPython, mainly on Devguide and sometimes on the main repository with some fixes, new features.
For my contribution to the migration of Python. https://mail.python.org/pipermail/python-committers/2017-February/004220.html
Others presentations where I explain the interpreter and the bytecode of Python https://speakerdeck.com/matrixise/architecture-of-cpython-part-1 https://speakerdeck.com/matrixise/exploring-our-python-interpreter
in __on sabato 21 aprile at 17:45 **See schedule**