Congratulations Tim! And thanks for contributing to the diversity of libraries in our little ecosystem.
On November 11, 2022 3:49:17 PM GMT+01:00, Tim Henkes <[email protected]> wrote: >After years of development I am stoked to announce the release of >python-omemo - An open Python implementation of the OMEMO Multi-End >Message and Object Encryption protocol! > > >python-omemo [1] is an OMEMO implementation written from scratch with >support for both the currently widespread eu.siacs.conversations.axolotl >version of OMEMO [2] and the newest, SCE-based version under the >urn:xmpp:omemo:2 namespace [3]. > > >Notably, python-omemo is an implementation of the OMEMO _protocol_ and >not just the cryptographic primitives, which means that many of the >small protocol flow details of the OMEMO specification are handled by >python-omemo as well. > > >Key properties of the library: > >- Seamless support for both versions of the OMEMO specification at the >same time. The library transparently handles compatibility between the >two versions, i.e. identity keys, device ids and trust are shared >appropriately. The protocol version to encrypt a message with can either >be selected explicitly, or given as a priority, to e.g. use the new >OMEMO if available, and fall back to the old OMEMO if not. > >- Handles bundle and device list, making sure the published data is >always in sync with the local data. > >- Handles small protocol flow details, like sending automated empty >messages in response to a key exchange or to prevent staleness. > >- Provides an easy way to integrate any sort of trust system - be it >simple manual trust, BTBV, TOFU or something more complex. > >- Thin and straight-forward public API - OMEMO doesn't have to be >complicated :) > >- Optionally reads/verifies and builds ElementTree XML structures for >you, so that you can keep your codebase even thinner. > >- Clean, modern, fully-typed Python 3 with thorough API documentation. > >- Very easy to get started with - provide a simple key-value storage, >implement some methods to upload/download bundles and device lists from >PEP, and you're pretty much set! > > >This library aims to enable client developers to equip their clients >with OMEMO support without understanding all of the nasty cryptography >or protocol flow details. Please give it a look, send me feedback and >consider it for your Python-based client :) > > >[1]: https://github.com/Syndace/python-omemo > >[2]: https://xmpp.org/extensions/attic/xep-0384-0.3.0.html > >[3]: https://xmpp.org/extensions/xep-0384.html > > >_______________________________________________ >JDev mailing list >Info: https://mail.jabber.org/mailman/listinfo/jdev >Unsubscribe: [email protected] >_______________________________________________
_______________________________________________ JDev mailing list Info: https://mail.jabber.org/mailman/listinfo/jdev Unsubscribe: [email protected] _______________________________________________
