Contributing to Python: Difference between revisions

m
Protected "Contributing to Python" (‎[edit=sysop] (indefinite) ‎[move=sysop] (indefinite))
imported>Jesstess
No edit summary
imported>Jesstess
m (Protected "Contributing to Python" (‎[edit=sysop] (indefinite) ‎[move=sysop] (indefinite)))
 
(19 intermediate revisions by the same user not shown)
Line 1:
Welcome! This page contains instructions for getting started with contributing to Python. They cover practicing some of the common tools of open source development, as well as steps for contributing specifically to Python.
 
These instructions were written for prospective [httpshttp://wiki.python.org/moin/OPW/2014| GNOME Outreach Program for Women] and [httpshttp://wiki.python.org/moin/SummerOfCode/2014| Google Summer of Code] interns, but are relevant for anyone interested in contributing to CPython and the standard library.
 
[[File:Python_logo.png|200px]] [[File:Opw.png|200px]] [[File:Pyladies_logo.png|200px]]
Line 45:
 
== Goal #4: practice using version control ==
 
[[File:History.png|100px]]
 
Mercurial is the distributed version control system Python uses to manages changes to its code.
 
Please [http://mercurial.selenic.com/downloads/ download and install Mercurial now].
If you have not used Mercurial before, please go through this tutorial: http://hginit.com/
 
If you have not used Mercurial before, please go through this tutorial: [http://hginithgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html this tutorial].
 
 
== Goal #5: practice creating patches ==
 
[[File:Patch.png|100px]]
 
Code changes are represented in a concise and standard format called a "diff". <tt>patch</tt> is a utility which applies a "diff" to someone else's copy of the code.
Line 63 ⟶ 69:
 
== Goal #1: join the mailing list ==
 
[[File:Email.png|100px]]
 
The Python community has a lot of mailing lists. The 2 big ones for new contributors are:
 
# core-mentorship: https[http://mail.python.org/mailman/listinfo/core-mentorship. core-mentorship]: This is a great place to ask questions about contributing, ask for reviews, and get suggestions for bugs to work on.
# python-dev: https[http://mail.python.org/mailman/listinfo/python-dev. python-dev]: The main mailing list for developing and releasing Python. Please do not ask general Python questions on this list.
 
The core-mentorship mailing list will be our focus as we get settled in, so please [[httpshttp://mail.python.org/mailman/listinfo/core-mentorship| join the list]] now.
 
 
== Goal #2: read the developer guide ==
 
[[File:Safari.png|100px]]
 
Python has excellent documentation for getting started with contribution in its developer guide: http://docs.python.org/devguide/
Line 78 ⟶ 88:
Please read through the following sections of the developer guide:
 
# Quick start: [http://docs.python.org/devguide/#quick-start Quick start]
# Setup: [http://docs.python.org/devguide/setup.html Setup]
# Where to get help: [http://docs.python.org/devguide/help.html Where to get help]
# The lifecycle of a patch: [http://docs.python.org/devguide/patch.html The lifecycle of a patch]
# Writing and running tests: [http://docs.python.org/devguide/runtests.html Writing and running tests]
# Using the issue tracker: [http://docs.python.org/devguide/tracker.html#tracker Using the issue tracker]
# The CPython development cycle: [http://docs.python.org/devguide/devcycle.html The CPython development cycle]
 
By the end, you'll:
Line 97 ⟶ 107:
 
== Goal #3: pick a bug to work on ==
 
[[File:Debugging.png|100px]]
 
It's time to pick a Python bug to work on! Visit http://bugs.python.org/ and browse for one that looks good.
Line 104 ⟶ 116:
First, the developer guide suggests 2 good areas for first-time contributors:
 
# Documentation: [http://docs.python.org/devguide/docquality.html Documentation]
# Test coverage: [http://docs.python.org/devguide/coverage.html Test coverage]
 
If those sound interesting to you, look for issues in those areas.
 
Next, for the office hours on Sunday, March 9th, we'll have a list of beginner-friendly bugs. Check back in here on Sunday to review that list.
 
Finally, you can always ask for help or suggestions on the core-mentorship mailing list or in the <tt>#pyladies</tt> IRC channel.
Line 116 ⟶ 128:
== Goal #4: submit a patch for a Python bug ==
 
[[File:Patch.png|100px]]
Follow the steps in the developer guide to create and submit a patch for your issue: http://docs.python.org/devguide/patch.html.
 
Follow the steps in the developer guide to create and submit a patch for your issuebug: http://docs.python.org/devguide/patch.html.
 
Make sure to run the test suite first and that the tests all still pass!
Line 122 ⟶ 136:
 
== Goal #5: start working on your application ==
 
[[File:Opw.png|100px]]
 
If you are a prospective GNOME Outreach Program for Women or Google Summer of Code intern, you're ready to start working on your application.
Anonymous user