A Python implementation of the Double Ratchet algorithm.
Project description
python-doubleratchet
A Python implementation of the Double Ratchet algorithm.
Installation
Install the latest release using pip (pip install DoubleRatchet
) or manually from source by running pip install .
in the cloned repository.
Differences to the Specification
This library implements the core of the Double Ratchet specification and includes a few of the recommended algorithms. This library does not currently offer sophisticated decision mechanisms for the deletion of skipped message keys. Skipped message keys are only deleted when the maximum amount is reached, and old keys are deleted from the storage in FIFO order. There is no time-based or event-based deletion.
Testing, Type Checks and Linting
python-doubleratchet 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 doubleratchet/ setup.py examples/ tests/
$ pylint doubleratchet/ setup.py examples/ tests/
$ flake8 doubleratchet/ setup.py examples/ tests/
$ pytest --cov=doubleratchet --cov-report term-missing:skip-covered
Documentation
View the documentation on readthedocs.io or build it locally, which requires the Python packages listed in docs/requirements.txt
. With all dependencies installed, run make html
in the docs/
directory. You can find the generated documentation in docs/_build/html/
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file DoubleRatchet-1.1.0.tar.gz
.
File metadata
- Download URL: DoubleRatchet-1.1.0.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9318bdf100ebade62a231f418bdc6a6e563f5ae78c3eba20a2481c08ceb56cc1 |
|
MD5 | ca18e5b60d9740c2935d13674c60db77 |
|
BLAKE2b-256 | be825eefff8bcc0ad9205168d384522d2e826ae8aa3ef858c5d521cb025c1e48 |
File details
Details for the file DoubleRatchet-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: DoubleRatchet-1.1.0-py3-none-any.whl
- Upload date:
- Size: 28.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e4557816d40b2ab7d395b354a24976918ea81bae792b8bdd5dc0e1326721cc1 |
|
MD5 | 53b4b291ec23dbc69ea5163770a8f1ad |
|
BLAKE2b-256 | b81852f98ed3ada48e836d2409508503bd56e337407cf97a684419c59fd80667 |