Continuous integration in python using watchdog

watchdog is a cross-platform python module for watching directories for changes. I use watchdog to run continuous integration on my projects: every time a file changes (e.g. is saved, deleted, or created) in the directory I am watching, a script will automatically run unit tests, compile libraries, build docs, and run other tests, as necessary. […]

Setting contentEditable in a wxPython IEHtmlWindow

wxPython's iewin.IEHtmlWindow lets you host the Internet Explorer browser control in a wxPython window. Doing so is quite simple: import wx from wx.lib import iewin class MyFrame(wx.Frame):     def __init__(self):         wx.Frame.__init__(self, None, title="IEHtmlWindow") = iewin.IEHtmlWindow(self)"") # your URL here app […]

py2exe gotcha: Building on Windows Vista/7, deploying to XP

py2exe is a fantastic module that will package up a Python program into an executable that will run on Windows. py2exe is amazingly good at sussing out your program's dependencies, but it's a complex task, and inevitably there are some gotchas. One of them is the DLL file "POWRPROF.DLL". This happens when building your executable […]

Rapid website development with django and jQuery UI

Last week, I launched my latest development project: The official site for the band Murasaki (紫). I was happy to take on this project, partly because Murasaki is something of a legend in the Japanese rock scene (and especially here in their home prefecture of Okinawa), and partly because it would be a good chance […]

mailer module uploaded to bitbucket

I've created a repository for my mailer module on bitbucket. Here's the project URL: Apparently you can't open write access to everyone, so if you'd like write privileges, then please let me know your account name. About mailer mailer is a wrapper around the Python email and mimetypes libraries.

Simple Ajax with cherrypy and jQuery

All the cool kids these days are putting Ajax into their web applications. Ajax is great for when you want to update data on a page without reloading the entire page. Most of the Ajax tutorials use PHP, so I want to show here how easy it is to do Ajax with cherrpy. Ajax stands […]

Easy SFTP uploading with paramiko

paramiko makes it so easy to use SFTP that it's hard to believe it's legal in this day and age. Command Line Warriors has a wonderful post showing how to use paramiko to do SFTP uploads/downloads. In this post, I want to share a small helper module called sftp (zip file) (code in post below) […]

On rapid iteration

I think that one of the great strengths of interpreted languages like Python is the ability to iterate rapidly, due to the lack of a compilation step. I've been reading Richard Feynmann's fascinating reminiscences in Surely You're Joking, Mr. Feynmann. The entire text is available online. One passage that really struck me was where he […]

mailer version 0.5 released

I've released version 0.5 of my mailer python module for sending emails. Thanks to a patch from Douglas Mayle, this version makes it possible to send HTML emails with attachments (previous versions only let you do one or the other). Project homepage pypi page

Converting kanji numbers to integers with Python

A question on StackOverflow about converting kanji numbers (e.g. "五十五") into integers in C++ got me interested in solving this using Python. The result is my kanjinums module, with a function kanji2num that will convert a string containing a kanji num to a Python integer. Download the source distribution ( Download the Windows installer (kanjinums-0.1.win32.exe) […]