Skip to content

Syndace/python-oldmemo

Repository files navigation

PyPI PyPI - Python Version Build Status Documentation Status

python-oldmemo

Backend implementation for python-omemo, equipping python-omemo with support for OMEMO under the namespace eu.siacs.conversations.axolotl (casually/jokingly referred to as "oldmemo").

This repository is based on python-twomemo and will be rebased on top of new commits to that repository regularly, so expect commit hashes to be unstable. For the same reason, release tags might not be available or point to non-existing commit hashes.

Installation

Install the latest release using pip (pip install oldmemo) 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 --upgrade .[dev]
$ protoc --python_out=oldmemo/ --mypy_out=oldmemo/ oldmemo.proto

This will generate oldmemo/oldmemo_pb2.py and oldmemo/oldmemo_pb2.pyi.

Type Checks and Linting

python-oldmemo 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 .[lint]
$ mypy oldmemo/
$ pylint oldmemo/
$ flake8 oldmemo/

Getting Started

Refer to the documentation on readthedocs.io, or build it locally. Additional requirements to build the docs can be installed using pip install .[docs]. With all dependencies installed, run make html in the docs/ directory. The documentation can then be found in docs/_build/html/.

About

Backend implementation of the `eu.siacs.conversations.axolotl` namespace for python-omemo.

Resources

License

Stars

Watchers

Forks

Languages