I'm pleased to announce the release of "rstransaction" package.
This is a python2/python3 toolbox to create transactional systems, for any kind of operations: in-memory, on filesystems, on remote storages...
It supports commits/rollbacks and savepoints.
It was never used in production, but is well tested, and easily extendable to support different kinds of behaviour : immediate or lazy actions, recording of operations to disk files or DBs in case of crash, auto-rollback on error or not...
More information here:
regards, Pascal Chambon