UNC Python Tools

A collection of Python extensions and tools that we built for our own use and that others might find useful too.


A ctypes-based wrapper for OpenCV.

OpenGL Wrappers

I couldn't understand the incredibly complicated implementation of PyOpenGL so I made my own. I'm normally against duplication of effort but I needed to something simpler.

I believe this interface implements all of GL except for some of the functions that take pointers as arguments. These could easily be added if anyone wants them. I've got them commented out below. Just follow the example of the ones I have implemented, or ask me.

National Instruments NIDAQ library

A thin wrapper that allows low-level access to National Instruments boards for analog and digital input and output. Not yet, in CVS, I'll upload it soon.


You don't want this version. Get the updated version PyReadline from the scipy project. They have taken over and significantly improved it.

A GNU Readline work-alike for Windows written entirely in Python using the ctypes package. Includes some features for interpreting ANSI color escape sequences for IPython.

This is not a complete emulation of GNU readline. It lacks VI mode for one thing. It doesn't have any of the multi-character escapes (except that the escape key can be bound to prefix-meta). The init file does not support conditionals.

But most of the functions are there and the parse_and_bind stuff appears to work. Undo works as do the usual Emacs motion commands. It supports completion (but not yet menu-completion).


A pyrex-based wrapper for GNU Aspell


A pyrex-based wrapper for the University of Washington CCLIENT imap client library. Provides a high-level pythonic interface to servers, boxes, messages, attachments, and addresses. I've been using it for several years.


A wxPython-based email client I wrote for my own use.


A hack for storing my password in the registry. A bad idea I'm sure but at least I'm encrypting them.


The spam filter I use.

SourceForge.net Logo