I used to really love databases[1], but its code is a mess[2], adding new backends is difficult and now it's archived. I wanted to have a similarly simple API and ability to create force rollback connections for tests so you don't have to call your DB clean-up callbacks in each test that uses a database connection, everything will be done in a transaction that will then be cancelled.
[1] - https://github.com/encode/databases [2] - I think the a reason why its code is so bad is mypy. Use type hints, provide them where they help, but don't go overboard.