Python library ideas
Suggestions that involve working on various third-party libraries that aren't part of the Python source tree.
- Create a Pythonic auto-upgrade framework to allow scripts to update themselves to newer versions.
Add EPS import to ReportLab PDF library
make Spread Python Binding compile with Python 2.4 on win32 (and possibly other major platforms)
These are Python-level cross-toolkit compatibility libraries for GUI work. Currently there is a "live" project called Cimarron along these lines. (PyGUI is not a dead project, however Anygui is)
Develop the Visual Designer and help update the documentation of Dabo.
Dabo is a framework for creating 3-tier desktop applications. The UI tier is a wrapper around wxPython that greatly streamlines and simplifies the wxPython API, and the Designer is a RAD tool for visually developing UI interfaces.
- Psyco for MacOSX. PPC, and universal binary versions. (Note: unlikely to find a mentor)
- 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. (Would the (GPL) soya3D projects be relevant here?)
Write an IPC or RPC package to allow for concurrent Python execution. Compare with http://rpyc.sourceforge.net
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.
- Create a Python web app server, synthesized from the many options already available, with an eye towards the total developer experience.
Implement IEEE Std 802.1X Authenticator for wired networks,with one of the low-level python networking libraries: scapy,http://twistedmatrix.comTwisted.Pair,pycap or maybe something else.Probably some python firewall bindings will be needed too.
Data mining in Python (e.g., adding a new data mining algorithm or tool to the Orange data mining suite, develop a new widget for text mining or 3-D data visualization, develop Orange interface to R or alike, port Orange to Mac OS X, http://www.ailab.si/orange)
Implement a pure python library that handles unicode CLDR. (like ICU?)
Take an existing set of sources for M2Crypto and build a robust distribution from it. This should include comprehensive API documentation, a full test suite, and providing a better Python interface, not just a light wrapper around openssl, for many of the functions like X.509 certificates that are not currently exposed.
Work on SAGE, which is a Python-based free open source computer algebra system. SAGE is the algebraic analogue of scipy---it incorporates and "glues together" a wide range of existing open-source mathematics packages such as Maxima, Matplotlib, and GAP. Here's a list of projects and an email contact.
Conduct a review of one chunk of functionality in scipy similar to the one currently in progress about the statistics package. Alternatively, add a chunk of functionality to scipy. Recently discussed requests have been bindings to SUNDIALS, sparse matrices in LAPACK packed storage formats, 3-D Delaunay tetrahedralization and natural neighbour interpolation, and porting the Netlab neural network code to scipy.
Help make IPython's capabilities available inside a wxPython application.
Use Cassowary or some other constraint solving library to implement automatic, "nice" GUI layout.
Write general Pango bindings that can be used by Python libraries to do general text layout outside of PyGTK and pycairo.
- Implement mathematical formula typesetting using TeX algorithms and TeX fonts but without needing a TeX installation.
- add multi-texture support (bump/normals mapping, etc)
- verse support for shapes and materials
- improved exporters/importers (blender, etc)
- cal3d per-bone and morph animations
- improved ode integration
- api reference and improved examples/tutorials
- Review and consolidate libraries/ modules for, e.g., file metadata reading and writing (MS Word doc, PDF, GIF, MP3/ ID3)
Choose some common modules and eggsify them; write about it to promote more eggsification
Extend the CodeCoverage module to extend into os.fork() and os.exec('python') calls. Fix Nose to facilitate this.
A more complete CD interface. libcdio is a library for Platform-dependent control and reading of a CD device. There is also some support for reading CD images (BIN/CUE CDRDAO, ISO) as though they were real devices. Some work has been done to extend the API to Python, via SWIG. However this OO wrapping is not complete. In particular handling MMC (Multi-media) commands is missing and a CD-Paranoia interface (OO or not) is missing. All of the OO API's are fairly new, so if you feel you want to improve on the API, that's okay too.
A python interface to rabbitmq. They have a java interface right now (the engine itself is written in erlang) so you could use it for "inspiration".
Convince/help Trevor Perrin to make a full ssl interface (i.e., make tlslite feature complete).
First iterate on a "pure" python prototype (using tlslite or whatever) to create a clean API, and after that use pyrex to bind directly against Aleskey's xmlsec package for better performance (maybe both implementations could live together, a la ElementTree/cElementTree and StringIO/cStringIO). Another option is to use something from the xmlsig project.
Less fleshed-out ideas:
An educational programming environment similar to 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 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 complete 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