Differences between revisions 80 and 94 (spanning 14 versions)
Revision 80 as of 2006-05-23 13:59:13
Size: 6625
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/soc2006 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 21: Line 14:
 * 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.
 * [[CodingProjectIdeas/Libraries]]
 * ./PythonWebProgrammingIdeas
 * ./ApplicationIdeas
Line 33: 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 47: 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 52: 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 56: 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)
 * 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.''

      Having something similar to Simulink would be VERY useful in regards to the visual programming environment.

 * A more flushed out version of Modelica in Python would also be useful http://www.ercim.org/publication/Ercim_News/enw36/ernst.html or http://moncs.cs.mcgill.ca/people/ffan/report.dtml


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