Skip to content

IronPython GSoC 2012 Ideas

jdhardy edited this page Mar 27, 2012 · 9 revisions

Google Summer of Code 2012 Ideas

Google Summer of Code is a program that pays students to write open source code. IronPython is participating under the umbrella of the Python Software Foundation, which is the nonprofit organization that manages the development of Python. Some projects may better fit under the Mono project. It's up to the student to apply to the most appropriate place, but there's no penalty for applying to both.

Feel free to add ideas to this page.

Students: The PSF has guidelines for participating in GSoC; so does the Mono project. You will have to apply through those organizations: Mono, PSF (coming soon).


IronPython 3 Support

The nature of Python 3 means that it will be easier for IronPython to be compatible with it than Python 2. Almost all of the changes from Python 2 to 3 are codified in the 3xxx series PEPs; these will need to be sifted through and implemented.

Components: parser, modules, library, tests

Deliverables: A list of PEPs that need to be implemented, and implementations of as many as possible.

Mentor: Jeff Hardy (jdhardy)

Improve IronPython Compatibility

IronPython's compatibility with CPython is lacking in some areas. Large portions of the Python standard test suite do not pass; making these tests pass would greatly improve IronPython's compatibility. Having a major application or framework (i.e. Django) running would also further this goal.

Components: library, modules, tests

Deliverables: The standard CPython test suite should completely pass (with tests skipped if necessary), as well as the test suite for a major application/framework of the student's choosing.

Mentor: Jeff Hardy (jdhardy), Alex Earl (slide)

IronPython Mobile Support

This project is all about improving support for IronPython on mobile devices, such as Android, iOS, and Window Phone 7. iOS in particular is tricky because no dynamic code gen is allowed, and IronPython depends on it in a few places.

Components: Code generation, modules, compiler, tests

Deliverables: Pass as much of the IronPython test suite as possible and demonstrate a moderately complex app running on a mobile device. This includes figuring out a packaging and deployment strategy for each platform.

Mentor: Jeff Hardy (jdhardy)

Improve Performance

This project is focussed on improving performance, especially cold startup performance. Any part of IronPython or the DLR is fair game for improvements. Any changes to the DLR would also have to be compatible with IronRuby and any inner ring changes should be considered for proposal to Mono. Integration with speed.python.org is also desirable.

Components: DLR, modules, code generation, compiler ... almost everything :)

Deliverables: a set of benchmark tests (including http://hg.python.org/benchmarks/, but also IP-specific ones) as well as patches that show measurable improvements on those tests.

Mentor: Jeff Hardy (jdhardy)

Triage

There are many bugs currently in the system that may or may not be applicable to the current version of IronPython. It would be very helpful to have someone triage and update a significant portion of the bugs to determine what issues are really there and what issues are not. This would include creating reproduction test cases (and adding them to unit tests if possible so regressions don't occur) and doing initial triage of issues.

Components: DLR, modules, code generation, compiler ... almost everything :)

Deliverables: A set of reproduction test cases for a significant portion of the currently unresolved issues.

Mentor: Alex Earl (slide)

Clone this wiki locally