This python library offers an implementation of the Double Ratchet algorithm as specified here.
The goal is to provide a configurable and independent implementation of the algorithm, while keeping the structure close to the specification and providing recommended settings.
This library was developed as part of python-omemo, a pretty cool end-to-end encryption protocol.