7270
Comment:
|
← Revision 27 as of 2014-03-18 15:36:12 ⇥
8763
|
Deletions are marked like this. | Additions are marked like this. |
Line 86: | Line 86: |
Below is a list of potential internship projects. If you have a strong interest in another project, please let us know and we'll work with you to craft an application. |
|
Line 99: | Line 101: |
* Goal #5: New email features | * Goal #4: New email features |
Line 103: | Line 105: |
=== Project mentors === * [[http://jesstess.com|Jessica McKellar]] * [[http://www.roguelynn.com|Lynn Root]] |
|
Line 106: | Line 112: |
For this internship, you'll have an opportunity to improve the Python experience on Windows for hundreds of thousands of Python users and core developers by working on everything from documentation and test coverage to ticket triage, bug fixes, and new features in the standard library modules. | For this internship, you'll have an opportunity to improve the Python experience on Windows for hundreds of thousands of Python users and developers by working on everything from documentation and test coverage to ticket triage, bug fixes, and new features in the standard library modules. |
Line 120: | Line 126: |
* Goal #5: New Windows features | * Goal #4: New Windows features |
Line 123: | Line 129: |
=== Project mentors === * [[http://jesstess.com|Jessica McKellar]] * [[http://www.roguelynn.com|Lynn Root]] == Graphical Python == For this internship, you'll have an opportunity to become an expert in graphical aspects of the Python standard library. You'll be working on everything from documentation and test coverage to ticket triage, bug fixes, and new features in `Tkinter`, `IDLE`, `turtle`, and other graphics-focused modules in the standard library. * Goal #1: Documentation * Goal #2: Test coverage Everything that gets us to closer to 100% API documentation and test coverage is making Python more accessible and regression-proof. * Goal #3: Make progress on stalled tickets We have a lot of tickets that just need tests, documentation, or one more round of work based on review feedback to land. Help bring some of these tickets across the finish line! * Goal #5: New features There are some great open feature tickets looking for a champion. With your experience in Goals 1-4, you are an expert on this topic and well-equipped to work on them. === Project mentors === * [[http://jesstess.com|Jessica McKellar]] * [[http://www.roguelynn.com|Lynn Root]] |
Get paid to contribute to Python this summer!
This page coordinates the Python projects for the Summer 2014 session of the GNOME Outreach Program For Women.
What: Earn a $5500 USD stipend while contributing to the CPython interpreter and standard library.
When: This is a full-time summer internship lasting from May 19 through August 18.
Where: Anywhere! This is a remote internship, with most communication happening on mailing lists, bug trackers, and IRC.
Who: This internship is open to anyone who identifies as a woman or is genderqueer, genderfluid, or genderfree. Note that unlike Google Summer of Code, you do not need to be a student.
Applications are due by March 19th.
Prospective Applicants
If you are at least 18 years old, identify as a woman or are genderqueer, genderfluid, or genderfree, and are interested in a paid summer internship doing core Python development, we'd love to have you apply to work with us in this summer's GNOME Outreach Program for Women!
Please read carefully through https://wiki.gnome.org/OutreachProgramForWomen for the full details on how the GNOME Outreach Program for Women works.
Please also note the following deadlines:
Until March 19: join the community and make at least 1 contribution
March 19: application deadline at 1900 UTC
April 21: accepted participants announced at 1900 UTC
May 19 - August 18: internship period
If you are a student, please note that CPython is also participating in Google Summer of Code. We encourage you to apply to both programs.
How to apply
Join the Python core-mentorship mailing list and introduce yourself: https://mail.python.org/mailman/listinfo/core-mentorship.
Read the Python developer guide: http://docs.python.org/devguide/
Create an account on the Python bug tracker: http://bugs.python.org/
- Submit a patch for a Python bug (see the next section for help getting started)
- 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!
Submitting a patch for a Python bug
Before you can apply for an internship, you'll need to submit at least 1 patch to Python. The Python developer guide describes how to do this in detail, but here are the main steps:
- Get the Python source code
- Run the Python tests
Pick a bug from http://bugs.python.org/ to work on. If you'd like suggestions, ask on the Core mentorship mailing list
- Run the Python tests with your patch applied to make sure they all still pass
- Attach your patch to the bug description in the bug tracker
- Tell the Core mentorship list that you've submitted your patch, so we can ensure that it gets reviewed and can start working on your application
The tools of Python development
Before you submit a patch, here are some of the tools we use that you may want to review or practice:
- IRC
- bug trackers
- the mercurial (hg) revision control system
- the diff and patch utilities
IRC
IRC is a real-time group chat system popular with many open source projects. Developers ask questions and discuss patches on IRC, and users also ask questions on IRC.
Learn more about how Python uses IRC here: http://www.python.org/community/irc/.
There are 3 main Python IRC channels, all on the Freenode IRC network, that you may be interested in:
#python-dev: for discussing the development of Python itself
#python: for asking and answering general Python questions
#pyladies: the main PyLadies IRC channel
Bug trackers
Python tracks bugs and features at http://bugs.python.org/.
Please familiarize yourself with how Python uses its bug tracker by exploring and finding answers to the following questions:
- What is the oldest open Python ticket?
- How many open issues need a patch?
- How many "critical"-level open issues are there?
Mercurial
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/
diff and patch
If you have not used diff and patch before, please go through the diff and patch training mission at:
http://openhatch.org/missions/diffpatch
Potential internship projects
Below is a list of potential internship projects. If you have a strong interest in another project, please let us know and we'll work with you to craft an application.
Email protocols
For this internship, you'll have an opportunity to become an expert in the email protocols we use every day by working on everything from documentation and test coverage to ticket triage, bug fixes, and new features in the imaplib, poplib, and smtplib standard library modules.
- Goal #1: Documentation
- Goal #2: Test coverage
Everything that gets us to closer to 100% API documentation and test coverage is making Python more accessible and regression-proof.
- Goal #3: Make progress on stalled tickets
We have a lot of tickets that just need tests, documentation, or one more round of work based on review feedback to land. Help bring some of these tickets across the finish line!
- Goal #4: New email features
There are some great open feature tickets looking for a champion. With your experience in Goals 1-4, you are an expert on this topic and well-equipped to work on them.
Project mentors
Python on Windows
For this internship, you'll have an opportunity to improve the Python experience on Windows for hundreds of thousands of Python users and developers by working on everything from documentation and test coverage to ticket triage, bug fixes, and new features in the standard library modules.
- Goal #1: User documentation
Installing Python and setting up your development environment on Windows is harder than it should be. Help us make this process easy and intuitive for new users, and up to date for recent Windows releases.
- Goal #2: Test coverage
There is a lot of Windows-specific code in Python that is untested. Everything that gets us to closer to 100% API documentation and test coverage is making Python more accessible and regression-proof.
- Goal #3: Make progress on stalled tickets
We have a lot of Windows tickets that just need tests, documentation, or one more round of work based on review feedback to land. Help bring some of these tickets across the finish line!
- Goal #4: New Windows features
There are some great open feature tickets looking for a champion. With your experience in Goals 1-4, you are an expert on this topic and well-equipped to work on them.
Project mentors
Graphical Python
For this internship, you'll have an opportunity to become an expert in graphical aspects of the Python standard library. You'll be working on everything from documentation and test coverage to ticket triage, bug fixes, and new features in Tkinter, IDLE, turtle, and other graphics-focused modules in the standard library.
- Goal #1: Documentation
- Goal #2: Test coverage
Everything that gets us to closer to 100% API documentation and test coverage is making Python more accessible and regression-proof.
- Goal #3: Make progress on stalled tickets
We have a lot of tickets that just need tests, documentation, or one more round of work based on review feedback to land. Help bring some of these tickets across the finish line!
- Goal #5: New features
There are some great open feature tickets looking for a champion. With your experience in Goals 1-4, you are an expert on this topic and well-equipped to work on them.