We discussed this on IRC, and went for `commit_manually()`, but what about using `commit_on_success()` as a context manager ? It'd do the `try/except` for you, `rollback()` if an exception is raised and `commit()` otherwise. So that'd be slightly cleaner IMHO.