Skip to main content

muacrypt is a support tool for implementing Autocrypt Level 1 compliant mail agents. Autocrypt state is kept in one or more accounts which process and produce autocrypt headers from respective incoming and outgoing e-mail. Each account is tied to a set of e-mail addresses, specified as a regular expression. Functionality is exposed through a command line tool muacrypt and a Python api obtained through import muacrypt. There is an evolving plugin architecture which allows to add and modify behaviour of muacrypt.

This README is intended to help contributors to get setup with running tests and using the command line tool. The online docs at

https://muacrypt.readthedocs.io

contain more documentation about overall goals of the project.

testing

To use the code and run tests you need to have installed:

  • the command line client “gpg”, optionally “gpg2”, available through “gnupg” and “gnugp2” on debian.

  • something to speed up gpg key creation, e.g. by installing “rng-tools” on debian.

  • python2.7 and python3.5 including headers (“python2.7-dev” and “python3.5-dev” on debian).

  • “tox” to run automated tests (“python-tox” on Debian)

In one installation command on Debian:

apt install gnupg2 rng-tools python2.7-dev python3.5-dev python-tox

Afterwards you can run all tests:

$ tox

installation

You’ll need the command line client “gpg”, optionally “gpg2”, available through “gnupg” and “gnugp2” on debian.

To install the muacrypt command line tool you can install the “muacrypt” python package into your virtual environment of choice. If you don’t know about python’s virtual environments you may just install the debian package “python-pip” and then use “pip” to install the muacrypt library and command line too:

$ pip install --user muacrypt

The muacrypt command line tool will be installed into $HOME/.local/bin which needs to be in your PATH.

installation for development

If you plan to work/modify the sources and have a github checkout we strongly recommend to create and activate a python virtualenv and then once use pip without sudo in edit mode:

$ virtualenv venv
$ source venv/bin/activate
$ pip install -e .

Changes you subsequently make to the sources will be available without further installing the muacrypt package again.

running the command line

After installation simply run the main command:

muacrypt

to see available sub commands and options. Start by initializing an Autocrypt account which will maintain its own keyring and not interfere with your possibly existing gpg default keyring:

$ muacrypt add-account

Afterwards you can create an Autocrypt header for an email address:

$ muacrypt make-header x@example.org

You can process and integrate peer’s Autocrypt keys by piping an email message into the process-incoming subcommand:

$ muacrypt process-incoming <EMAIL_MESSAGE_FILE

At any point you can show the status of your muacrypt account:

$ muacrypt status

Metadata

Release files for muacrypt 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for muacrypt 0.9.1
File Size Uploaded
muacrypt-0.9.1.tar.gz 61.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for muacrypt 0.9.1
File Interpreter ABI Platform
muacrypt-0.9.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 120.8 kB

Release files / muacrypt-0.9.1.tar.gz

Download URL muacrypt-0.9.1.tar.gz
Size 61.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0a0a2b39d7fa13773dcabdb7cb4cd0b847efb1ae373efe8596a39c705143d615
BLAKE2b-256 checksum
How to use checksums
37efb962eefd9ae7a1f6b9ab90d0304dcd3e2790a7e2eecbbb6e63213ff00ce6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via devpi-server/4.7.1 (py2.7.13; linux2)

Release files / muacrypt-0.9.1-py2.py3-none-any.whl

Download URL muacrypt-0.9.1-py2.py3-none-any.whl
Size 59.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
983739896ba680488491f7959d335a9e94680464397e0a3e07472a44bef53cb8
BLAKE2b-256 checksum
How to use checksums
0157041ad411359a45a194bb83a656665ce6d595a9d977b932d62f4c250d0769
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via devpi-server/4.7.1 (py2.7.13; linux2)
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page