Skip to content

Syndace/slixmpp-omemo

Repository files navigation

PyPI PyPI - Python Version Build Status Documentation Status

slixmpp-omemo - Slixmpp OMEMO plugin

A plugin for slixmpp offering the OMEMO Multi-End Message and Object Encryption protocol, based on python-omemo.

OMEMO protocol version support

Currently supports OMEMO in the eu.siacs.conversations.axolotl namespace. Support for OMEMO in the omemo:2 namespace is prepared and will be enabled as soon as Slixmpp gains support for XEP-0420: Stanza Content Encryption.

Trust

Supports Blind Trust Before Verification and manual trust management.

Installation

Install the latest release using pip (pip install slixmpp_omemo) or manually from source by running pip install . in the cloned repository.

Testing, Type Checks and Linting

slixmpp-omemo uses pytest as its testing framework, mypy for static type checks and both pylint and Flake8 for linting. All tests/checks can be run locally with the following commands:

$ pip install --upgrade pytest pytest-asyncio pytest-cov mypy pylint flake8
$ mypy --strict --disable-error-code str-bytes-safe --untyped-calls-exclude=slixmpp slixmpp_omemo/ setup.py examples/ tests/
$ pylint slixmpp_omemo/ setup.py examples/ tests/
$ flake8 slixmpp_omemo/ setup.py examples/ tests/
$ pytest --cov=slixmpp_omemo --cov-report term-missing:skip-covered

Getting Started

Refer to the documentation on readthedocs.io, or build/view it locally in the docs/ directory. To build the docs locally, install the requirements listed in docs/requirements.txt, e.g. using pip install -r docs/requirements.txt, and then run make html from within the docs/ directory. The documentation can then be found in docs/_build/html/.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages