🐍 Mnemonic code for generating deterministic keys, BIP39 https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
Find a file
2024-08-27 12:08:45 +02:00
.github/workflows ci: fix style check 2024-01-05 11:35:53 +01:00
src/mnemonic fix: normalize the words in the wordlist according to NFKD. 2024-08-27 12:08:45 +02:00
tests Support unambiguous detection of language if only prefixes are supplied 2024-01-05 11:27:48 +01:00
tools style: update to python 3.8 features 2024-01-05 11:27:48 +01:00
.editorconfig fix editorconfig warnings 2023-06-29 16:23:49 +02:00
.gitignore build: switch to poetry, bump version 2024-01-05 11:27:48 +01:00
AUTHORS build: switch to poetry, bump version 2024-01-05 11:27:48 +01:00
CHANGELOG.rst docs: 0.21 changelog 2024-01-05 11:27:59 +01:00
LICENSE fix formatting of LICENSE 2016-01-31 12:14:41 +01:00
Makefile build: switch to poetry, bump version 2024-01-05 11:27:48 +01:00
pyproject.toml build: switch to poetry, bump version 2024-01-05 11:27:48 +01:00
README.rst fix editorconfig warnings 2023-06-29 16:23:49 +02:00
setup.cfg chore: fix style complaints 2021-07-27 15:29:16 +02:00
tox.ini build: switch to poetry, bump version 2024-01-05 11:27:48 +01:00
vectors.json fix: normalize the words in the wordlist according to NFKD. 2024-08-27 12:08:45 +02:00

python-mnemonic
===============

.. image:: https://badge.fury.io/py/mnemonic.svg
    :target: https://badge.fury.io/py/mnemonic

Reference implementation of BIP-0039: Mnemonic code for generating
deterministic keys

Abstract
--------

This BIP describes the implementation of a mnemonic code or mnemonic sentence --
a group of easy to remember words -- for the generation of deterministic wallets.

It consists of two parts: generating the mnenomic, and converting it into a
binary seed. This seed can be later used to generate deterministic wallets using
BIP-0032 or similar methods.

BIP Paper
---------

See https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
for full specification

Installation
------------

To install this library and its dependencies use:

 ``pip install mnemonic``

Usage examples
--------------

Import library into python project via:

.. code-block:: python

   from mnemonic import Mnemonic

Initialize class instance, picking from available dictionaries:

- english
- chinese_simplified
- chinese_traditional
- french
- italian
- japanese
- korean
- spanish
- turkish
- czech
- portuguese

.. code-block:: python

   mnemo = Mnemonic(language)
   mnemo = Mnemonic("english")

Generate word list given the strength (128 - 256):

.. code-block:: python

   words = mnemo.generate(strength=256)

Given the word list and custom passphrase (empty in example), generate seed:

.. code-block:: python

   seed = mnemo.to_seed(words, passphrase="")

Given the word list, calculate original entropy:

.. code-block:: python

   entropy = mnemo.to_entropy(words)