Google Summer of Code

Some project ideas that might work for Google's summer of code. The Python folks have very good advice for submitting proposals.

Potential Mentors

AcceptedProjects

HelpSystem

by Ryan Morillo, mentored by Charles William Groves

I would like to work on geting the help system to work on Jython, working on figuring out why the python help system doesn't automatically work, then either adjusting the CPython code so it works on both systems, or implimenting it nativly in Jython, barring either of those, writting it in Java and making it part of Jython distrobution. After getting help to work normally, I expect to work on Jythons import, to get it to pull the javadoc and translate it to python help in place with a lazy hook that is called with help()

Python 2.5 Language Support in the JythonCompiler

by Damien Lejeune, mentored by Michael Taylor

JimBaker and MikeTaylor are currently working on adding 2.5+ language functionality to Jython. We are trying to limit the scope of this work, just as was done with the AST implementation in CPython 2.5:

We're also looking at two additional enhancements:

We would expect that there would be suitable subprojects in this that are suitable for the GSoC students. Some that come to mind:

All of these have the advantage that they can be completed to a certain implementation, and still be useful.

Python 2.5 Language support in Jython

by Tobias Ivarsson, mentored by James Edward Baker

The JVM is a great platform, it is widely used, available on many devices and there are a lot of great libraries and applications available on the JVM. Python is a great programming language, it is well suited for rapid development, prototyping and agile development methods. Jython unites these two great systems. Sadly Jython is not in an up to date state at the present time. To aid this Jython needs to be brought to a state where it is compatible with the latest version of Python. That is what this project aims at. I will provide work on the parsing of Python code and generation of byte code for the JVM. Ideas for solutions can come from the latest CPython implementation, and other implementations of dynamic languages on the JVM, such as JRuby or Groovy.

PyPy JVM backend advancements and integration with JSR-223

by Paul deGrandis, mentored by Antonio Cuni

The recent advancements of PyPy have been impressive to say the least. Much work as been done to provide a JVM backend, but it still lacks full completion of finer details. The goal of my summer of code project will be to work at the remaining problems to achieve a level stability that is fitting to be used with JSR-223 (the Java Scripting addition) and Java6. Doing so will allow PyPy interoperability with Java, Scheme, Python, JavaScript, Ruby, and many more languages that implement this JSR specification. Additionally, should time allow, an empirical experiment will be conducted to show the PyPy's affect on developer efficiency in an academic setting using the JVM backend and JSR-223 bridge.