-
Notifications
You must be signed in to change notification settings - Fork 0
IronPython GSoC 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.
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.
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)
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)
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)
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)
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)