[Python-Dev] GSoC ideas in need of mentors :)

Daniel (ajax) Diniz ajaksu at gmail.com
Thu Mar 19 19:28:52 CET 2009


Hi,

I'd like to propose a two housecleaning GSoC ideas for discussion,
they both need mentors. First, Mark's suggested overhaul of the struct
module, along with finishing PEP 3118 if possible. Second, a clean up
of the socket module, along with checking its usage in the stdlib if
possible. Details below.

IIUC, any potential mentors for ideas from
http://wiki.python.org/moin/CodingProjectIdeas would help the PSF by
declaring availability at
http://wiki.python.org/moin/SummerOfCode/2009.

And, mentioned in another thread, snakebite ideas:
http://tinyurl.com/beyond-buildbot :)

Regards,
Daniel

---
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.

---
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.


More information about the Python-Dev mailing list