I have a buddy who was doing some Python programming with Oracle today. He has asked me a question, and after I thought about it, I said, "Hey, that sounds familiar. I think I have some code for that." I knew it was in my open source project, Aquarium , but I also knew it wasn't in newer releases. I eventually found the code and gave it to him. Here's the punchline: It was from 2001! Yes, I've been coding Python that long. In case you're wondering what it was, the Oracle driver doesn't have code to fetch rows as dicts, so that's what I was giving him. Here's what it looks like: def fetchonedict(self, cursor, force=1): """Fetch one row as a dict. If force is 1 and there are no more rows, I'll throw an EXPECTED_RECORD_NOT_FOUND exception. Otherwise (if force is 0 and there are no more rows), I'll simply return None. Note, database modules don't *have* to use this