Differences between revisions 60 and 94 (spanning 34 versions)
Revision 60 as of 2005-06-03 03:38:02
Size: 4917
Editor: merlinux
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 4: 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.


A mailing list has been set up to help answer questions and discuss at .

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 20: Line 11:
 * CleanupUrlLibProject
 * Cleanup/modernize a module(s) in the stdlib
 * 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.
 * JythonProjects
      Port IDLE from tk to swing, OS X improvements.
 * Port stdlib modules from C to Python
      Jython, IronPython, and PyPy all require standard library modules to be written in pure Python; porting C-based standard library modules to Python helps them.
 * Unify and extend Python's import mechanisms, possibly by prototyping it with PyPy (much easier than messing with CPython's import.c).
 * UnicodeonWindowsExtensions
 * SimpleTodo: finite projects that improve (maybe just clean up) part of Python's implementation.
 * ./PythonCore
 * ./StandardLibrary
 * [[CodingProjectIdeas/Libraries]]
Line 32: Line 16:
 * SpeedUpInterpreterStartup
 * RestrictedExecution
 * ./PythonGarbageCollected
 * ./RegisterVirtualMachine
 * ./WebServiceStack
 * ./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.
Line 40: 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.
    Note that the next version of py2exe will allow this - it's 95% finished in CVS already -- theller
 * [http://www.python.org/peps/pep-0337.html PEP 337]: Logging Support for Standard Library
 * 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 [[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 47: 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.
 * 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].
 * 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].
 * NotebookInterfaceForIpython
 * ./FileSystemVirtualization
     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 58: Line 35:
----

Less fleshed-out ideas:
 * ProfileReplacementProject
 * ./EnhancedIterTools
 * ./ExploreFunctionalProgramming
 * MakeXmlrpclibAsynchronous
 * [[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.