Contributing to Python: Difference between revisions

From OpenHatch wiki
Content added Content deleted
imported>Jesstess
No edit summary
imported>Jesstess
No edit summary
Line 33: Line 33:
# How many "critical"-level open issues are there?
# How many "critical"-level open issues are there?


== Goal #4: Version control ==
== Goal #4: practice using version control ==


Mercurial is the distributed version control system Python uses to manages changes to its code.
Mercurial is the distributed version control system Python uses to manages changes to its code.
Line 39: Line 39:
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://hginit.com/


== Goal #5: creating patches ==
== Goal #5: practice creating patches ==


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.
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 48: Line 48:


= Part II: contributing to Python =
= Part II: contributing to Python =

== Goal #1: join the mailing list ==


Join the Python core-mentorship mailing list and introduce yourself: https://mail.python.org/mailman/listinfo/core-mentorship.
Join the Python core-mentorship mailing list and introduce yourself: https://mail.python.org/mailman/listinfo/core-mentorship.

== Goal #2: read the developer guide ==

Read the Python developer guide: http://docs.python.org/devguide/
Read the Python developer guide: http://docs.python.org/devguide/

Create an account on the Python bug tracker: http://bugs.python.org/
== Goal #3: submit a Python patch ==
Submit a patch for a Python bug (see the next section for help getting started)

Submit a patch for a Python bug.

== Goal #4: start working on your application ==

Let the core mentorship mailing list know that you've submitted your patch and are ready to work on your application. We'll craft an application together for a project that fits your background and interests and what you want to learn this summer!
Let the core mentorship mailing list know that you've submitted your patch and are ready to work on your application. We'll craft an application together for a project that fits your background and interests and what you want to learn this summer!

Revision as of 14:21, 5 March 2014

Welcome! This page contains instructions for prospective OPW and Google Summer of Code interns, as well as anyone else interested in contributing to Python.

Part 1: environment setup

Goal #1: install an IRC client

IRC is a real-time chat protocol that open source projects often use to talk about the project and as a medium for users and developers to help each other.

Please follow the instructions below for your operating system to install IRC and join the #pyladies IRC channel on Freenode:

Goal #2: practice navigating from the command line

Many of the tools of open source development are primarily used via the command line. Let's get some practice with navigating the computer from the command line.

Goal #3: Get familiar with the Python bug tracker

Python tracks bugs and features at http://bugs.python.org/.

First, please create an account on http://bugs.python.org/.

Next, please familiarize yourself with how Python uses its bug tracker by exploring and finding answers to the following questions:

  1. What is the oldest open Python ticket?
  2. How many open issues need a patch?
  3. How many "critical"-level open issues are there?

Goal #4: practice using version control

Mercurial is the distributed version control system Python uses to manages changes to its code.

If you have not used Mercurial before, please go through this tutorial: http://hginit.com/

Goal #5: practice creating patches

Code changes are represented in a concise and standard format called a "diff". patch is a utility which applies a "diff" to someone else's copy of the code.

If you have not used diff and patch before, please go through the diff and patch training mission at:

http://openhatch.org/missions/diffpatch

Part II: contributing to Python

Goal #1: join the mailing list

Join the Python core-mentorship mailing list and introduce yourself: https://mail.python.org/mailman/listinfo/core-mentorship.

Goal #2: read the developer guide

Read the Python developer guide: http://docs.python.org/devguide/

Goal #3: submit a Python patch

Submit a patch for a Python bug.

Goal #4: start working on your application

Let the core mentorship mailing list know that you've submitted your patch and are ready to work on your application. We'll craft an application together for a project that fits your background and interests and what you want to learn this summer!