Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

muacrypt: Autocrypt and more for mail user agents

this tool is under heavy development, use at your own risk

muacrypt helps mail user agents to process incoming and outgoing mails and keep Autocrypt state according to the Autocrypt Level 1 specification. muacrypt manages accounts which maintain Autocrypt related state. Each account processes incoming and outgoing mail, parsing and adding Autocrypt headers as appropriate. Functionality is exposed through a command line tool muacrypt and a Python api import muacrypt.

This README is intended to help contributors to get setup with running tests and using the command line. 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 init

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.8.0.dev6

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.8.0.dev6
File Size Uploaded Provenance Actions
muacrypt-0.8.0.dev6.tar.gz 51.0 kB Without provenance Details for muacrypt-0.8.0.dev6.tar.gz

Built distribution (wheel)

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

Total release size: 82.3 kB

Release files / muacrypt-0.8.0.dev6.tar.gz

Download URL muacrypt-0.8.0.dev6.tar.gz
Size 51.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a7878a1c2d0438524b29a59bd64309d277e7716f6dfeecbe2c68c0d22bae9e00
BLAKE2b-256 checksum
How to use checksums
dd91fd27f4e788cf19fb42ac6f366ebe387d972a52699b7d8221ca0be31078f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / muacrypt-0.8.0.dev6-py2.py3-none-any.whl

Download URL muacrypt-0.8.0.dev6-py2.py3-none-any.whl
Size 31.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
db230b2a7df8fd3e6a428f4357820b09ac1d88c77e0185db622c3f577cbb7625
BLAKE2b-256 checksum
How to use checksums
e101208ea5c1d0e625b2a31b98e9ae248be6f4580b179d349a3d14da5fdeaa0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for muacrypt 0.8.0.dev6

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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