Twomemo

Backend implementation of the namespace `urn:xmpp:omemo:2` for python-omemo.


License
MIT
Install
pip install Twomemo==1.0.2

Documentation

PyPI PyPI - Python Version Build Status Documentation Status

python-twomemo

Backend implementation for python-omemo, equipping python-omemo with support for OMEMO under the namespace urn:xmpp:omemo:2 (casually/jokingly referred to as "twomemo").

Installation

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

Protobuf

Install protoc. Then, in the root directory of this repository, run:

$ pip install protobuf mypy mypy-protobuf types-protobuf
$ protoc --python_out=twomemo/ --mypy_out=twomemo/ twomemo.proto

This will generate twomemo/twomemo_pb2.py and twomemo/twomemo_pb2.pyi.

Type Checks and Linting

python-twomemo uses mypy for static type checks and both pylint and Flake8 for linting. All checks can be run locally with the following commands:

$ pip install --upgrade mypy pylint flake8 mypy-protobuf types-protobuf
$ mypy --strict twomemo/ setup.py
$ pylint twomemo/ setup.py
$ flake8 twomemo/ setup.py

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/.