Open-source software

This is the original code (as opposed to contributions) that I have released under open-source licenses for you to use. Most of it is Web-related somehow and in Python. I hope you find it useful! If so (or if you have a patch) please drop me a line at

Picture of HTML code

pytidylib — A Python wrapper for tidylib, which allows you to convert slightly invalid HTML/XHTML markup into valid markup. It can also convert HTML entities and apply numerous options. I created this so that I could clean up markup inside web applications.

Picture of electricity pylon

PylonsTemplates — PylonsTemplates gives you additional paster templates for Pylons applications. Right now, there's one — pylons_repoze_what, which sets up a working repoze.what authentication system inside an otherwise default Pylons app template. Includes database models, login form, login controller, and sample user creation code.

Picture of highway intersection

routes_hosts — Adds support for multiple domains to Pylons/Routes, including URL generation. Much simpler than setting this up manually. You create objects representing hosts and then use Routes submappers in with blocks. Leads to very clean code, and an absolute_url() function is included for adding the hostname to generated URLs.

Picture of boat

wsgilaunch — One-step, one-function add-on to your WSGI web applications that provides a simple command-line front-end. Serve your WSGI app through several protocols including HTTP, FastCGI, SCGI, and AJP, using the popular Paste and Flup modules, with command-line configuration of host and port.

Screenshot of module names

gae_noimport — A one-off script that prints the names of modules that can't be imported under Google App Engine. The general technique may also be useful for those of you who are playing with Google App Engine; it uses the subprocess module to run a GAE server that executes generated code saved to a temporary directory, then queries it.

Share this content