-
Notifications
You must be signed in to change notification settings - Fork 346
IronPython GSoC 2012 Ideas
Google Summer of Code is a program that pays students to write open source code. IronPython is participating through the Mono Project; you'll have to send your application through them.
Feel free to add ideas to this page.
Students: The Mono project has rules for participating. You will have to apply through them.
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), Doug Blank (dsblank)
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), Doug Blank (dsblank)
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), Doug Blank (dsblank)
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), Doug Blank (dsblank)
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), Doug Blank (dsblank)