py-transaction contains a generic transaction implementation for Python. It is mainly used by the ZODB, though.