Skip to main content

A Python implementation of the Double Ratchet algorithm.

Project description

PyPI PyPI - Python Version Build Status Documentation Status

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

DoubleRatchet-1.1.0.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

DoubleRatchet-1.1.0-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

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

Hashes for DoubleRatchet-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9318bdf100ebade62a231f418bdc6a6e563f5ae78c3eba20a2481c08ceb56cc1
MD5 ca18e5b60d9740c2935d13674c60db77
BLAKE2b-256 be825eefff8bcc0ad9205168d384522d2e826ae8aa3ef858c5d521cb025c1e48

See more details on using hashes here.

File details

Details for the file DoubleRatchet-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for DoubleRatchet-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e4557816d40b2ab7d395b354a24976918ea81bae792b8bdd5dc0e1326721cc1
MD5 53b4b291ec23dbc69ea5163770a8f1ad
BLAKE2b-256 b81852f98ed3ada48e836d2409508503bd56e337407cf97a684419c59fd80667

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page