This page coordinates the [http://code.google.com/soc/ Google Summer of Code] projects involving Python and mentored by the Python Software Foundation (PSF).
The 2008 PSF SoC coordinator is JamesTauber (jtauber at jtauber dot com). Contact him if you have any questions.
If you are a student interested in working on core Python development or on a project that helps the Python community, we'd love to have you apply to the Python Software Foundation for this year's Google Summer of Code.
You should join the [http://mail.python.org/mailman/listinfo/soc2008-general soc2008-general] mailing list and take a look at the Project Ideas section below.
Students should read ["/Expectations"] to understand what is expected of them.
Prospective mentors should join both the [http://mail.python.org/mailman/listinfo/soc2008-general soc2008-general] and [http://mail.python.org/mailman/listinfo/soc2008-mentors soc2008-mentors] lists. Once you've been approved for the soc2008-mentors mailing list, you should introduce yourself and what project areas you can help mentor. Contact JamesTauber if you have any questions.
CodingProjectIdeas/PythonCore (not necessarily all suitable for GSoC)
CodingProjectIdeas/StandardLibrary (not necessarily all suitable for GSoC)
[http://wiki.python.org/jython/SummerOfCode/PotentialProjects Jython Potential Projects]
Have a look at the suggestions for Crunchy [http://code.google.com/p/crunchy/wiki/SummerOfCodeIdeas]. Email André Roberge (andre.roberge at gmail dot com) for discussions of potential ideas.
[http://www.drproject.org/DrProject DrProject] 3.0 will be released at [http://us.pycon.org/2008/about/ PyCon] in March; several projects that would help it would also be useful to the Python community as a whole. Contact: GregWilson ([mailto:email@example.com firstname.lastname@example.org]).
- A Jabber/XMPP server (not client) in Python 3.0. Work was started at the University of Toronto by Dmitri Vassilenko (under the supervision of David Janes), but much more is needed.
A continuous documentation system that:
- automatically rebuilds a project's Pydoc/Javadoc/whatever every time source code is checked in;
- integrates the result seamlessly into the project's web site in wiki format; and
takes edits to those wiki pages and puts them back into the source code in Pydoc/Javadoc/whatever format. This tool would not be specific to DrProject: if architected properly, it could be dropped into any web-based software project portal.
The [http://code.google.com/p/pygraphics/ PyGraphics] project is modifying an entry-level multimedia library originally developed by Mark Guzdial for a "CS-1 in Jython" course to work with CPython (and specifically, to run multithreaded with Python 3.0). A robust, full-featured version of this library would make Python much more appealing as a first language for university courses. Contact: GregWilson ([mailto:email@example.com firstname.lastname@example.org]).
A reversible debugger is one that records just enough of a program's history to allow the user to step backwards in time, e.g., to put a breakpoint at a fault, then go back and see how the program got there. The aim of this project would be to prototype a reversible debugger for Python 3000. Contact: GregWilson ([mailto:email@example.com firstname.lastname@example.org]).
The [http://bioinfo.mbi.ucla.edu/pygr pygr] bioinformatics project could use some software engineering love to bring it up to date in a variety of ways. Chris Lee (pygr author) and Titus Brown are working on a possible task list for one GSoC student.
[http://molviz.cs.toronto.edu/molviz MolViz] is a project to incorporate head tracking input into an existing Molecular Visualization program, [http://pymol.sourceforge.net/ PyMol]. This is accomplished through a plugin written in Python to control the molecule's position using the existing [http://www.pymolwiki.org/index.php/Main_Page PyMol API]. Related projects that would benefit the PSF could include:
- Developing new input drivers for the Wiimote form of control. This would require some bluetooth hacking.
Writing other forms of input in Python, such as fisheye head tracking, IR webcam tracking, etc (refer to the end of this http://www.youtube.com/watch?v=ncShaY4VSac video for a better description).
[http://www.freewisdom.org/projects/python-markdown/ Python Markdown] is a Python implementation of [http://daringfireball.net/projects/markdown/ Markdown]. It is pretty mature but can benefit from some work. I ([http://takhteyev.org Yuri], the main author) can serve as a mentor. The things to be done:
- An enhanced test suite
- More decomposition
- Performance tweaking
- Version 2.0, shooting for a better balance between structural parsing and regexp substitutions.
Other Python-Related Organizations
The organizations for 2008 have not yet been announced by Google but last year other organizations beside PSF who did Python-related work included: Zope, Plone, wxPython, Django, Bazaar, SCons, Thousand Parsec and MoinMoin. I will update this list with links once Google has announced the list of organizations for 2008.
If you are applying as an organization and have projects involving Python, please contact JamesTauber so we can work more closely together.