I've written quite a bit of open-source code over the years – sometimes because I use it for work, and sometimes just for fun.
A few of my favourite projects are listed below, or you can find pretty much all my code on my github profile page.
The more serious stuff:
- 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.
- playitagainsam is a python program for recording and re-playing live terminal sessions, which I have used for several technical presetnations. It comes with a web-based player for easily embedding the sessions into HTML slide decks.
- 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.
- 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.
- signedimp is a python import hook for secure loading of cryptographically-signed code.
The fun hacks:
- withrestart is Pythonisation of the restart-based condition system from Common Lisp. It's designed to make error recovery simpler and easier by removing the assumption that unhandled errors must be fatal.
- 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.
- 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...