Project ideas for Python Core in GSoC 2013

1. Work on Email enhancements. Possible projects:

2. IDLE Improvements (mentor: Todd Rovito email: rovitotv at Don't spend your summer IDLE around the swimming pool spend your summer working on IDLE and make a difference. IDLE is Python's Integrated Development Environment (IDE) that is shipped with each Python release, wikipedia has the details here Many years ago I learned Python with IDLE as do many people, while I personally find IDLE a usable tool IDLE does have it's quarks and bugs which have been documented here:

Since IDLE ships with Python it is often the first IDE a new Python programmer uses. We want to make IDLE an awesome experience especially for people that are learning Python. IDLE should remain a simple and clean interface based on tkinter like it always has been. This effort is not a radical departure from what already exists but seeks to build a test framework for IDLE, test patches in the issue tracker, and document IDLE. Recently the Python community has accepted PEP-434 ( which is a Python Enhancement Proposal that is designed to allow enhancement exceptions for all Python branches. This would allow students working on this project to actually see their hard work get shipped in the next official version of Python 2.7.5, Python 3.2.5, and Python 3.3.1. Suggested ideas for inclusion in a successful proposal:

Potential students should consider how important unit testing is in the real world, where else are you going to be able to learn unit testing skills with a product that has millions of users? While building a unit test framework is not glamours unit testing does find bugs early and improve the overall quality of the Python code base. Every night the unit test frameworks built into CPython are automatically executed on multiple computer architectures and operating systems Successful student proposals should not under estimate how long it takes to get code committed to CPython. A student must be able to concisely communicate and document the unit test framework's design to the Python community in order to get the framework committed to the CPython source tree. Do not underestimate how much time this communication and documentation will actually take in your proposal!!! Often times it will take several passes and several code reviews for a patch to get committed into CPython. This project is approximately 40% coding and 60% communication. This project requires average Python coding skills with excellent communication skills and a unrelenting persistence to get this job done to the satisfaction of at least one Python Core Developer so the work will be committed into the CPython source tree. To get started a student should read the Python Developer's Guide ( and learn about unit testing ( and Please write your proposal carefully. Proposals should not be long but should quickly demonstrate to the reader that the proposer has the skills to make this project a success. A great book on Technical Writing is Leo Finkelstein's "Pocket Book of Technical Writing for Engineers & Scientists" (, which has a great section on how to write a proposal. As mentioned in the Wiki for Python Google Summer of Code 2013 ( contribute at least one patch for IDLE or perhaps a patch that develops a unit test for another Python module. Of course the more patches submitted before proposals are due the better!!! Prospective students should also complete the Python Contributor Agreement ( Then be sure to include a link to the submitted patch(s) in the proposal. Patches do not have to be accepted by proposal time. By submitting patches a perspective student will demonstrate they understand the Python tool chain and have read the Python Developer's Guide. Feel free to contact the mentor of this project Todd Rovito (rovitotv at gmail dot com) to discuss your proposal. Another great source to ask questions and get feedback on your proposal is the idle-dev mailing list ( Here is a application template that the Python Software Foundation expects each proposal to follow, .

SummerOfCode/2013/python-core (last edited 2013-04-23 01:57:21 by rovitotv)

Unable to edit the page? See the FrontPage for instructions.