OMEMO - A Python implementation of the OMEMO Multi-End Message and Object Encryption protocol.
A Python implementation of the OMEMO Multi-End Message and Object Encryption protocol.
A complete implementation of XEP-0384 on protocol-level, i.e. more than just the cryptography. python-omemo supports different versions of the specification through so-called backends. A backend for OMEMO in the urn:xmpp:omemo:2 namespace (the most recent version of the specification) is available in the python-twomemo Python package. A backend for (legacy) OMEMO in the eu.siacs.conversations.axolotl namespace is available in the python-oldmemo package. Multiple backends can be loaded and used at the same time, the library manages their coexistence transparently.
- Installation
- Getting Started
- Migration from Legacy
- Exception Hierarchy
- API Documentation
- Module: backend
BackendBackend.__init__()Backend.max_num_per_session_skipped_keysBackend.max_num_per_message_skipped_keysBackend.namespaceBackend.load_session()Backend.store_session()Backend.build_session_active()Backend.build_session_passive()Backend.encrypt_plaintext()Backend.encrypt_empty()Backend.encrypt_key_material()Backend.decrypt_plaintext()Backend.decrypt_key_material()Backend.signed_pre_key_age()Backend.rotate_signed_pre_key()Backend.hide_pre_key()Backend.delete_pre_key()Backend.delete_hidden_pre_keys()Backend.get_num_visible_pre_keys()Backend.generate_pre_keys()Backend.get_bundle()Backend.supports_labelsBackend.sign_own_label()Backend.verify_label_signature()Backend.purge()Backend.purge_bare_jid()
BackendExceptionDecryptionFailedKeyExchangeFailedTooManySkippedMessageKeys
- Module: bundle
- Module: identity_key_pair
- Module: message
- Module: session
- Module: session_manager
SessionManagerExceptionTrustDecisionFailedStillUndecidedNoEligibleDevicesMessageNotForUsSenderNotFoundSenderDistrustedNoSessionPublicDataInconsistencyUnknownTrustLevelUnknownNamespaceXMPPInteractionFailedBundleUploadFailedBundleDownloadFailedBundleNotFoundBundleDeletionFailedDeviceListUploadFailedDeviceListDownloadFailedMessageSendingFailedEncryptionErrorSessionManagerSessionManager.DEVICE_ID_MINSessionManager.DEVICE_ID_MAXSessionManager.STALENESS_MAGIC_NUMBERSessionManager.LOG_TAGSessionManager.create()SessionManager.shutdown()SessionManager.purge_backend()SessionManager.purge_bare_jid()SessionManager.ensure_data_consistency()SessionManager._upload_bundle()SessionManager._download_bundle()SessionManager._delete_bundle()SessionManager._upload_device_list()SessionManager._download_device_list()SessionManager._evaluate_custom_trust_level()SessionManager._make_trust_decision()SessionManager._send_message()SessionManager.update_device_list()SessionManager.refresh_device_list()SessionManager.refresh_device_lists()SessionManager.clear_device_lists()SessionManager.set_trust()SessionManager.replace_sessions()SessionManager.get_sending_chain_length()SessionManager.set_own_label()SessionManager.get_device_information()SessionManager.get_own_device_information()SessionManager.format_identity_key()SessionManager.before_history_sync()SessionManager.after_history_sync()SessionManager.encrypt()SessionManager.decrypt()
- Module: storage
- Module: types
- Type Aliases
- Module: backend