Differences between revisions 93 and 94
Revision 93 as of 2006-04-23 20:51:32
Size: 8017
Editor: CPE000000a009d5-CM00407b85c819
Comment:
Revision 94 as of 2006-04-24 03:39:23
Size: 8051
Editor: bluepill
Comment: added pygame proposal
Deletions are marked like this. Additions are marked like this.
Line 66: Line 66:
 * ./SimpleNetworkingForPygame

These are the [http://code.google.com/soc/ Google "Summer of Code"] projects involving Python and mentored by the Python Software Foundation.

For information on the accepted projects for 2005, see ["SummerOfCode/2005"].

How to apply as a mentor

The mentor's responsibility is to ensure the student makes progress. This could be coaching them, providing motivation, making sure they aren't stuck, answering technical questions, or pointing the student to the proper resources; however, the mentor is not expected to do work for the student. In order to accomplish this, the mentor is expected to dedicate a couple of hours per week.

[http://code.google.com/soc/mentor_step1.html "Apply through Google's online form."]

How to submit a proposal

Proposal ideas

The following ideas are just suggestions. You're free to invent your own ideas, or to use their suggestions as starting points.

  • Some ideas to help get you started: look at the SimpleTodo and CodingProjectIdeas pages. [http://www.python.org/dev/peps/pep-0042/ PEP 42] also lists feature ideas.

  • Integrate [http://www.nedbatchelder.com/code/modules/coverage.html Ned Batchelder's coverage module] into the core, along with improved performance profiling, and make 'em both thread-smart (so that we can get accurate stats on multicore CPUs).

  • Revive restricted Python -- inspired by a recent thread on the py3k list (would be mentored by Brett Cannon: request that student who takes this on not use it as basis of work to be published because of competition with my dissertation)
  • Create a bunch of modules like what Squeak has for 3D modeling, events etc. (the exact list may be somewhat different, I haven't researched this in any depth). This is inspired by a recommendation from Alan Kay made at the Shuttleworth workshop.
  • Design and implement an interface for manipulating both [http://www.openoffice.org/product/calc.html Calc] and [http://www.gnome.org/projects/gnumeric/ Gnumeric] spreadsheets (in the same way that DB-API allows programs to interact with a variety of databases).

  • Add a web-based admin interface and/or user-oriented views to [http://www.third-bit.com/drproject DrProject], a lightweight project management portal intended for use in software engineering courses.

  • Help improve the www.python.org web site production system (pyramid) and write documentation to prepare it for open source release.
  • There are a number of potential TurboGears projects that may be interesting related to Kid, SQLAlchemy and TurboGears itself (like the FastData package).

  • Help move www.python.org towards dynamic content generation techniques.
  • Improve Buildbot for python use and/or in general.
  • Add regular code-coverage (both C and Python) to the build system (maybe even to Buildbot?)
  • The PyPy project has lots of SoC sized tasks. Ask on the pypy-dev mailing list.

  • Improve Jython
  • Write a new and useful application in Python.
  • Improve an existing Python application (e.g. [http://wiki.list.org/display/DEV/Summer+of+Code Mailman], BitTorrent, Zope). Some Python-based projects are SoC mentoring organizations in their own right, so you might end up being mentored by them, not the PSF.

  • Write an IPC or RPC package to allow for concurrent Python execution. Compare with http://rpyc.sourceforge.net

  • Work on unit test suite. This includes not only developing support code (such as decorators to flag tests that are implementation-specific, known to fail, etc.), but also to have more code coverage in the unit tests.
  • Implement ctypes support for GCC ARM platforms. The underlying issue is lack of closure API support for ARM in libffi. A patch available at http://handhelds.org/~pb/arm-libffi.dpatch, that should be hopefully a good starting point. ctypes CVS has a libffi_arm_wince directory, which also seems to support closure API.

  • Improve Python Debugger(PDB).Some of general ideas are here: ["PdbImprovments"].If you have any sugesstions related to pdb add them there.

  • Create a Python web app server, synthesized from the many options already available, with an eye towards the total developer experience.
  • A web-based IDE, offering through-the-web editing (with version control), execution, and testing of code.
  • Integrate a Javascript interpreter with Python. [http://webcleaner.sourceforge.net/ WebCleaner] has some initial work; so extracting, documenting, and refining that code would be in order.

  • [http://pyxides.stani.be/ PyxIDE] has several potential projects related to IDEs in Python. Real-time code analysis would be a good project (which could in turn be used to build auto-completion and other tools).

  • Several DocumentationTools exist for Python. Choose one and improve it. Choose two and combine their features. Choose four or more and take over the world. The Python documentation world, at least.

  • Push-button web. A prototype system exists to manage HTML and ReST content in a relational database and publish it as static HTML. The wxPython GUI needs improvement and a more consistent substitution mechanism is required, together with better documentation and a supporting web content (which should be managed as a push-button web).
  • There are a lot of potential [http://docutils.sourceforge.net/ Docutils] and [http://docutils.sourceforge.net/rst.html reStructuredText] projects in the [http://docutils.sourceforge.net/docs/dev/todo.html To Do List]. Some examples (listed in the "Minimum Requirements..." section): Nested inline markup; Python Source Reader; Suitability for Python module documentation.

  • Improve the Eclipse IDE's support for Python: http://pydev.sf.net

  • Implement [http://www.ieee802.org/1/pages/802.1x.html IEEE Std 802.1X] Authenticator for wired networks,with one of the low-level python networking libraries: [http://www.secdev.org/projects/scapy/ scapy], [http://twistedmatrix.com Twisted.Pair],[http://pycap.sourceforge.net/ pycap] or maybe something else.Probably some python firewall bindings will be needed too.

  • Implement CodingProjectIdeas/PygameOnCtypes

  • Data mining in Python (e.g., adding new widget for text mining or 3-D data visualization for Orange, [http://www.ailab.si/orange])

  • ./PygameGui

  • Imporoved python code generation support in umbrello [http://uml.sourceforge.net/index.php] or alternatively a pure python implementation to parse umbrello files and generate python code.

  • Provide more and better debugging of reference counting, garbage collection, and other memory issues for extension and embedding authors.
  • Add a wxPython/wax based object browser to the ipipe module which will be part of the next release of IPython.
  • Write an RPC mechanism, or prepare an existing RPC mechanism, for the standard library.
  • Enable I18N identifiers support for py3k.
  • Implement a pure python library that handles unicode [http://www.unicode.org/cldr/ CLDR]. (like ICU?)

  • Implement the [http://www.unicode.org/reports/tr6/ SCSU] codec.

  • Add C implementation of decimal module.
  • Write tools that leverage the new compiler AST-- tools to analyze code, walk the AST, modify it, allow a modified AST to be compiled back to bytecode. Work on PEP 267.
  • ./SimpleNetworkingForPygame

Related sponsors

Those interested in working in [http://www.djangoproject.com Django] may do so [http://code.djangoproject.com/wiki/SummerOfCode2006 under the auspices of the Django group].

Accepted proposals

Note: if a project is listed as having two mentors, the first mentor listed is the primary mentor, and the second one is the back-up mentor.

  • None yet.

SummerOfCode/2007 (last edited 2008-11-15 14:00:01 by localhost)

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