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 --upgrade .[dev]
$ 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 .[lint]
$ mypy twomemo/
$ pylint twomemo/
$ flake8 twomemo/
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/.
Metadata
Release files for Twomemo 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| twomemo-2.1.0.tar.gz | 16.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| twomemo-2.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.1 kB
Release files / twomemo-2.1.0.tar.gz
| Download URL | twomemo-2.1.0.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f585b959eb1a9aef411dca954153604df66d3c233b161e22a6895316821c827
|
|
BLAKE2b-256 checksum How to use checksums |
d454ab3a151bc61771f2528a75cf7ab9d2f5ec30292402adb36974a955609793
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 29, 2026.
Transparency logRelease files / twomemo-2.1.0-py3-none-any.whl
| Download URL | twomemo-2.1.0-py3-none-any.whl |
|---|---|
| Size | 17.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dc799851d85f8badde8632511b5ad1091d9de95588a8d9c4d555764238f17f1a
|
|
BLAKE2b-256 checksum How to use checksums |
c5f49ce83bc98c6cdf9df88f9a1949cb8d4f34dea7bf0ae7e34a7aebc8382e05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 29, 2026.
Transparency log