Skip to main content

Python Mnemonicode

Build Status Coverage

A python library for encoding binary data as a sequence of english words.

Based on, and compatible with http://web.archive.org/web/20101031205747/http://www.tothink.com/mnemonic/

Installation

Recommended method is to use the version from pypi

$ pip install mnemonicode

Please note that this library supports python 3 only.

Usage

Python mnemonicode exposes four functions: mnformat and mnparse for handling conversions to and from formatted strings, and mnencode and mndecode for working with lower level lists of tuples of words.

String encoding

Encode a byte array as a sequence of grouped words, formatted as a single string:

>>> mnformat(b"cucumber")
'paris-pearl-ultra--gentle-press-total';

Decode a mnemonicode string into a byte array:

>>> mnparse('scoop-limit-recycle--ferrari-album')
b'tomato'

Both functions allow specifying the word and group separator. It is safe for the word separator to match part of the group separator, but not the other way round. Word and group separators that overlap with word in the dictionary should obviously be avoided.

An example using custom separators:

>>> mnemonicode.mnformat(
...     b'apricot', group_separator=', uhhh, ', word_separator=', um, '
... )
'arctic, um, dilemma, um, single, uhhh, presto, um, mask, um, jet'

Tuple encoding

Encode a bytes object as an iterator of tuples of words:

>>> list(mnencode(b"avocado"))
[('bicycle', 'visible', 'robert'), ('cloud', 'unicorn', 'jet')]

Decode an iterator of tuples of words to get a byte array:

>>> mndecode([('turtle', 'special', 'recycle'), ('ferrari', 'album')])
b'potato'

License

The project is licensed under the BSD license. See LICENSE for details.

Metadata

Release files for mnemonicode 1.4.5

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

Source distribution (sdist)

Source distribution for mnemonicode 1.4.5
File Size Uploaded
mnemonicode-1.4.5.tar.gz 16.0 kB Details

Release files / mnemonicode-1.4.5.tar.gz

Download URL mnemonicode-1.4.5.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6ef6b4489bb6d5acce510b73e9a05e4ca0305f29d81265037cfa63c2be6c3fda
BLAKE2b-256 checksum
How to use checksums
e6f2a756c27b0aafcf57bcd4d71e2961a82a55fa8467f13f3d156cc0a7fb007e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

Release history Release notifications | RSS feed

This release

1.4.5 This release

1 release file

1.4.4

1 release file

1.4.3

1 release file

1.4.2

1 release file

1.4.1

1 release file

1.4.0

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.1

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