I develop quite a few open-source software projects – some because I use them in my work, and some just for fun. You can get directly at most of my code through my github profile page.
- Esky is an auto-update framework for frozen Python applications. It provides a simple API through which apps can find, fetch and install updates, and a bootstrapping mechanism that keeps the app safe in the face of failed or partial updates.
- PyEnchant is a spellchecking module for Python. It wraps the excellent Enchant spellchecking library and provides a nice "Pythonic" object-oriented interface.
- FS is a filesystem abstraction for Python, providing uniform access to ordinary filesystems, zipfiles, Amazon S3 and more; spearheaded by Will McGugan.
- filelike is a Python module for building and manipulating file-like objects. It makes it easy to implement things such as transparent compression or encryption using simple wrapper classes.
- dexml is a simple Object-XML mapper for Python, loosely inspired by the Django Object-Relational mapper.
- django-supervisor aims to combine the process-management awesomeness of supervisord with the convenience of Django's mangement scripts.
- extprot is a compact, efficient, extensible binary protocol for messaging and data serialisation; this module is a Python implementation of a spec from Mauricio Fernández
- XRCWidgets is a rapid GUI development module for Python. It uses the wxPython toolkit and is designed to work well with visual GUI builders such as wxGlade.
- withrestart is Pythonisation of the restart-based condition system from Common List. It's designed to make error recovery simpler and easier by removing the assumption that unhandled errors must be fatal.
- threading2 is a drop-in replacement for the standard Python "threading" module, providing extended functionality such as thread priority and CPU affinity.
- myppy is a framework for building portable python distributions, currently targetting both Linux and Mac OS X.
- m2wsgi is a WSGI gateway for the Mongrel2 webserver.
- PySideKick is a collection of helpful utilities for building applications with PySide
- signedimp is a python import hook for secure loading of cryptographically-signed code.
- django-paranoid-sessions is a Django plugin that makes login sessions work harder at preventing session-stealing attacks.
- proxylet is a lightweight reverse proxy for HTTP, using non-blocking IO courtesy of eventlet. It also features enough smarts to proxy to a subversion HTTP server at an arbitrary location, something which is surprisingly difficult to achieve since subversion uses absolute URLs in its HTTP-based protocol.
- withhacks is a suite of building blocks for hacking Python's "with" statement.
- promise is a set of bytecode hacks to optimize Python code based on staticness assertions.
- magicsuper backports Python3's zero-argument super() function to Python2, using a little frame-walking trickery.
- jquery-loadinline is a jQuery plugin that makes links and forms load their contents into an existing page element. Since it automatically applies itself recursively to any loaded content, the overall effect is like a little mini browser window contained within an element of the current page.
- autoself is a Python module that uses bytecode hackery to automagically insert the "self" argument in method definitions. It's just a technology exercise and should never be used by anyone...
- wxAnyThread is a simple decorator for use with wxPython, that allows functions and methods to be safely called from any thread. It is basically a convenient wrapper around PostEvent that transparently dispatches the function call to the main thread.