Differences between revisions 76 and 94 (spanning 18 versions)
Revision 76 as of 2006-04-21 16:58:34
Size: 6578
Editor: JimJJewett
Comment:
Revision 94 as of 2009-04-03 20:38:42
Size: 2751
Editor: 200-163-26-52
Comment: Add a link to helper tools :)
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
The list below is in no way comprehensive or the only projects ideas that are acceptable! If you have an idea that is not listed that is fine; please submit a proposal for your idea!
Line 5: Line 4:
This page was created to foster collaboration on ideas regarding projects that could be done as part of the [http://code.google.com/summerofcode.html Google Summer of Code].

There is a related page to discuss the ./MentorshipCoordination side of the project.

We've created a [http://mail.python.org/mailman/listinfo/summerofcode new mailing list] to discuss the Google Summer of Code from a Python POV. It is strongly encouraged people interested in discussing possible projects, people who'd be willing to help students this summer as mentors, and any students considering applying for the program to join and start discussions on that list.

Ideally, each project below should be expanded into a more full-featured description, so that people can judge the value, the effort involved, the size of the project (takes a week, takes a month, etc.), who knows enough about the project to help out, etc.
Ideally, each project should be expanded into a more full-featured description, so that people can judge the value, the effort involved, the size of the project (takes a week, takes a month, etc.), who knows enough about the project to help out, etc.
Line 19: Line 12:
 * CleanupUrlLibProject
 * Cleanup/modernize a module(s) in the stdlib.
 * The modules which deal with both str and unicode sometimes treat them differently -- which is usually a bug.
 * Clean up the porting ifdefs, including os and posixmodule
 * CompleteSslSupport
 * Add a MemoryUsageProfiler to python
      Currently it is almost impossible to figure out where memory is going in a large python program, especially if you have C extensions loaded. It'd be nice to know where the memory is going, if there are circular references, or if objects are being held too long.
 * math speedups or IO speedups (I think the string-in-base-10 to an int was recently sped up, but there may be other similar locations)
 * JythonProjects
      Port IDLE from tk to swing, OS X improvements.
 * ./PythonCore
 * ./StandardLibrary
 * [[CodingProjectIdeas/Libraries]]
 * ./PythonWebProgrammingIdeas
 * ./ApplicationIdeas
Line 31: Line 19:
 * Unify and extend Python's import mechanisms, possibly by prototyping it with PyPy (much easier than messing with CPython's import.c).
 * Plone Projects
      Work on Plone or a related Plone Product.
      See [http://plone.org/events/other/summerofcode Plone's Summer of Code Page] for details.
 * UnicodeonWindowsExtensions
 * ./PythonWebProgrammingIdeas
 * SpeedUpInterpreterStartup
 * SandboxedPython
 * ./PythonGarbageCollected
 * ./RegisterVirtualMachine
 * ./WebServiceStack
Line 45: Line 23:
 * Add EPS import to ReportLab PDF library
     http://article.gmane.org/gmane.comp.python.reportlab.user/4052
 * make [http://www.spread.org/ Spread] Python Binding compile with Python 2.4 on win32 (and possibly other major platforms)
* A better way to create (singlefile) executeables by bringing the advantages of py2exe and McMillans compiler together.
 * A better way to create (singlefile) executables by bringing the advantages of py2exe and McMillans compiler together.
Line 50: Line 25:
    Don't forget [http://starship.python.net/crew/atuining/cx_Freeze/ cx_Freeze] which has a lot of nice properties too.
    For Windows, Linux and Irix also look at [http://pyinstaller.hpcf.upr.edu PyInstaller].
 * [http://www.python.org/peps/pep-0337.html PEP 337]: Logging Support for Standard Library
    Don't forget [[http://starship.python.net/crew/atuining/cx_Freeze/|cx_Freeze]] which has a lot of nice properties too.
    For Windows, Linux and Irix also look at [[http://pyinstaller.hpcf.upr.edu|PyInstaller]].
Line 54: Line 28:
     http://www.python.org/pypi -- contact [http://www.python.org/sigs/catalog-sig/ Catalog-SIG] for more.
 * Work on the [http://www.parrotcode.org/ Parrot] VM's Python implementation
 * Revive the code or idea from [http://www.cosc.canterbury.ac.nz/~greg/python_gui/ PyGUI] or [http://anygui.sourceforge.net/ Anygui]
     These are Python-level cross-toolkit compatibility libraries for GUI work. Currently there is a "live" project called [http://developer.berlios.de/projects/cimarron/ Cimarron] along these lines. (PyGUI is not a dead project, however Anygui is)
 * Flesh out the widget library and improve the documentation of [http://www.zephyrfalcon.org/labs/wax.html Wax]
     Wax is [http://www.zephyrfalcon.org/ Hans Nowak]'s [http://mail.python.org/pipermail/europython/2005-April/004975.html Pythonic] wrapper for [http://www.wxpython.org/ wxPython].
 * NotebookInterfaceForIpython
 * Support [http://3d2f.com/tags/python/editor/ Python editor] developers
 * ./FileSystemVirtualization
 * Develop the Visual Designer and help update the documentation of [http://dabodev.com/ Dabo].
     Dabo is a framework for creating 3-tier desktop applications. The UI tier is a wrapper around [http://www.wxpython.org/ wxPython] that greatly streamlines and simplifies the wxPython API, and the Designer is a RAD tool for visually developing UI interfaces.
     http://www.python.org/pypi -- contact [[http://www.python.org/sigs/catalog-sig/|Catalog-SIG]] for more.
  * ratings (both automatic and user)
  * admin interfaces
  * new pydotorg look and feel
  * fix and implement PEP 345
  * Auto-generate portions of a C extension module based off of a Python definition (e.g., create the function definitions, parsing of arguments, PyTypeObject fields, init function for module, etc.). Would use AST off of existing Python code. Would need some way to update a generating C extension module when Python file changes without destroying extension module (as presumably body of functions have been filled in).
Line 66: Line 35:
 * ./PygameOnCtypes

-----

Less fleshed-out ideas:
 * ProfileReplacementProject
 * ./EnhancedIterTools
 * ./ExploreFunctionalProgramming
 * MakeXmlrpclibAsynchronous
 * An educational programming environment similar to [http://dewey.soe.berkeley.edu/boxer.html/index.html Boxer] for Python
     Kind of a visual programming environment, where blocks are translated into "boxes" (along with a few other select ideas). One of the more conservative visual programming environments, and it seems very translatable to Python. Or maybe work on a decent programming environment for [http://pylogo.org PyLogo]. ''Boxer isn't a programming environment. I think this idea isn't fleshed out enough.''

 * Better introspection support for C functions: ability to expose arguments through inspect. Might require retrofitting existing extensions.
 * [[CoreDevHelperTools|Helper tools for core Python development]]

This page is aimed to be the starting point of collection for ideas for projects which could benefit the Python community, either projects that help the Python core, develop the standard library, third party packages, or more.

Ideally, each project should be expanded into a more full-featured description, so that people can judge the value, the effort involved, the size of the project (takes a week, takes a month, etc.), who knows enough about the project to help out, etc.

(Formatting:

  • Topics with a paragraph or so of thought, start new a page with a . in front of the wiki word, i.e.  ./CleanupUrlLibProject to scope the new pages a bit

  • for topics not fleshed out beyond a sentence or two, indent the sentence six spaces on a newline below the topic title/summary; this is to make sure that the description does not overpower the title/summary

)

  • SimpleTodo: finite projects that improve (maybe just clean up) part of Python's implementation.

  • ./PythonCore

  • ./StandardLibrary

  • CodingProjectIdeas/Libraries

  • ./PythonWebProgrammingIdeas

  • ./ApplicationIdeas

  • Port standard library modules implemented in C to Python
    • This is basically what the PyPy project is doing. See their site for more details on what parts of the Python standard library have not yet been translated.

  • ./PythonDocInOpenEbook

  • fix some old, old bugs in sourceforge
    • This is not a high profile, totally new idea, but maybe even helps the community more than founding another web framework
  • A better way to create (singlefile) executables by bringing the advantages of py2exe and McMillans compiler together.

    • Note that the next version of py2exe will allow this - it's 95% finished in CVS already -- theller.

      Don't forget cx_Freeze which has a lot of nice properties too. For Windows, Linux and Irix also look at PyInstaller.

  • Enhance the Python catalog of modules
    • ratings (both automatic and user)
    • admin interfaces
    • new pydotorg look and feel
    • fix and implement PEP 345
    • Auto-generate portions of a C extension module based off of a Python definition (e.g., create the function definitions, parsing of arguments, PyTypeObject fields, init function for module, etc.). Would use AST off of existing Python code. Would need some way to update a generating C extension module when Python file changes without destroying extension module (as presumably body of functions have been filled in).

  • Helper tools for core Python development

CodingProjectIdeas (last edited 2009-04-03 20:38:42 by 200-163-26-52)

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