1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
|
Metadata-Version: 2.1
Name: mnemonic
Version: 0.21
Summary: Implementation of Bitcoin BIP-0039
License: MIT
Author: Trezor
Author-email: info@trezor.io
Requires-Python: >=3.8.1
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Description-Content-Type: text/x-rst
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)
Changelog
=========
.. default-role:: code
All notable changes to this project will be documented in this file.
The format is based on `Keep a Changelog`_, and this project adheres to
`Semantic Versioning`_.
`0.21`_ - 2024-01-05
--------------------
.. _0.21: https://github.com/trezor/python-mnemonic/compare/v0.20...v0.21
Added
~~~~~
- Czech and Portuguese wordlists
- Option to provide custom list of words instead of loading from built-in file
Changed
~~~~~~~
- Use `secrets` module for randomness
- Use English as a default language if none is provided
- Language detection is unambiguous even if some words are ambiguous
- Build system switched to Poetry
Removed
~~~~~~~
- Support for Python below 3.8 was dropped
`0.20`_ - 2021-07-27
---------------------
.. _0.20: https://github.com/trezor/python-mnemonic/compare/v0.19...v0.20
Added
~~~~~
- Type annotations
- Support for testnet private keys
Changed
~~~~~~~
- Project directory structure was cleaned up
- Language on the `Mnemonic` object is remembered instead of repeatedly detecting
Removed
~~~~~~~
- Support for Python 2.7 and 3.4 was dropped
0.19 - 2019-10-01
------------------
Added
~~~~~
- Start of changelog
.. _Keep a Changelog: https://keepachangelog.com/en/1.0.0/
.. _Semantic Versioning: https://semver.org/spec/v2.0.0.html
|