Differences between revisions 6 and 7
Revision 6 as of 2009-03-25 22:42:26
Size: 3495
Editor: 80-41-172-251
Comment:
Revision 7 as of 2009-03-26 01:14:54
Size: 3887
Editor: 72-255-103-80
Comment:
Deletions are marked like this. Additions are marked like this.
Line 37: Line 37:
=== Linux package repositories on PyPI ===

The project should organize the Linux binary packages on PyPI (http://pypi.python.org) in such a way that they can serve as a Linux package repository, for relevant Linux distributions. It should in particular provide Debian/apt repositories and RPM/yum repositories. Compatibility of packages with certain distributions should be considered.

Drop new project ideas here, make sure to include a list of skills that'd be needed (C, Java, OpenGL, WSGI, etc) and a link to a mentor's contact info who can field questions about the project. Sign with your own email address (if different) in case you need to be contacted.

In most cases we'll add it to the list within an hour. We've made this page to avoid edit conflicts and because some people have had trouble editing the large table on the main ideas page.

Overhaul struct + PEP 3118

There are many open issues for the struct module, and a suggestion that many others fixes should happen. The problems include inconsistencies in input handling and backwards-compatibility code that should be gone from 3.x.

As PEP 3118 also requires a few changes in struct, finishing the memoryview object implementation and backporting it to 2.7 could be part of this project.

To tackle this, a student should know C and have some familiarity with the CPython codebase. The proposal should include an overview of open issues and, if possible, of problems in current code.

Mentors for this task should have a good understanding of the struct module, the buffer interface and PEP 3118.

Mentor Needed

Clean up and improve the socket module

The socket module is the foundation of many important parts of the stdlib. It has many open issues and RFEs, with many more being indirectly dependent on it. Major pain areas are cross-platform problems, shortcomings for a few use cases and some missing bits from the API (e.g. recvall(), sendmsg() and recvmsg()). If these can be solved quickly, going through the uses of the socket module in the stdlib to would make this project even more useful.

This project has some ugly cross-platform needs, but these can be handled by the student and the mentor together (maybe snakebite could help?). For students wanting to work on this, knowing C is a must, being familiar with CPython and the stdlib would be desirable. Having some prior knowledge of POSIX and Windows interfaces the socket module uses would be a nice perk.

Mentors should be able to help the student to test their code on many different platforms. Knowing the socket API in different platforms would be desirable.

Mentor Needed

Helper Python core development tools

This proposal is about improving the workflow of core developers, probably with small glue scripts. As each developer has his own personal workflow, these helper scripts should be optional, easy to extend and aimed at the most common tasks.

Identifying which tasks and steps should be optimized cannot be left to the student nor to the mentor, it must be a collective effort. Clear goals must be set before someone try to implement them.

Besides some experience with Python and tools of the trade (VCSs, bug trackers, etc.), the most important requisite for a student working on this is being able to listen to the community and taking criticism well.

At least one core Python developer should mentor, preferably one that knows how to interact well with python-dev. Ali Afshar from PIDA is willing to mentor. Daniel Diniz is available to help with the Python workflow part that touches Roundup and Rietveld.

Linux package repositories on PyPI

The project should organize the Linux binary packages on PyPI (http://pypi.python.org) in such a way that they can serve as a Linux package repository, for relevant Linux distributions. It should in particular provide Debian/apt repositories and RPM/yum repositories. Compatibility of packages with certain distributions should be considered.


SummerOfCode/2009/Incoming (last edited 2009-09-17 13:44:41 by techtonik)

Unable to edit the page? See the FrontPage for instructions.