Metadata-Version: 2.1
Name: trezor
Version: 0.10.2
Summary: Python library for communicating with TREZOR Hardware Wallet
Home-page: https://github.com/trezor/python-trezor
Author: TREZOR
Author-email: info@trezor.io
License: LGPLv3
Description: python-trezor
        =============
        
        [![image](https://travis-ci.org/trezor/python-trezor.svg?branch=master)](https://travis-ci.org/trezor/python-trezor)
        
        [![image](https://badges.gitter.im/trezor/community.svg)](https://gitter.im/trezor/community)
        
        Python library and commandline client for communicating with TREZOR
        Hardware Wallet
        
        See <https://trezor.io> for more information
        
        Install
        -------
        
        Python-trezor requires Python 3.3 or higher, and libusb 1.0. The easiest
        way to install it is with `pip`. The rest of this guide assumes you have
        a working `pip`; if not, you can refer to [this
        guide](https://packaging.python.org/tutorials/installing-packages/).
        
        ### Trezor T only
        
        On a typical Linux / Mac / BSD system, you already have all you need.
        Install `trezor` with:
        
        ```sh
        pip3 install --upgrade setuptools
        pip3 install trezor
        ```
        
        On Windows, you also need to install
        [libusb](https://github.com/libusb/libusb/wiki/Windows) and the
        appropriate [drivers](https://zadig.akeo.ie/). This is, unfortunately, a
        topic bigger than this README.
        
        ### Trezor One support
        
        In addition to the above, you need to install development headers for
        HIDAPI.
        
        On a Debian or Ubuntu based system, you can install these:
        
        ```sh
        sudo apt-get install python3-dev python3-pip cython3 libusb-1.0-0-dev libudev-dev
        ```
        
        When installing the trezor library, you need to specify that you want
        `hidapi`:
        
        ```sh
        pip3 install --upgrade setuptools
        pip3 install trezor[hidapi]
        ```
        
        ### Ethereum support
        
        Ethereum requires additional python packages. Instead of
        `pip3 install trezor`, specify `pip3 install trezor[ethereum]`.
        
        You can combine it with the above, to get both HIDAPI and Ethereum
        support:
        
        ```sh
        pip3 install trezor[ethereum,hidapi]
        ```
        
        ### FreeBSD
        
        On FreeBSD you can install the packages:
        
        ```sh
        pkg install security/py-trezor
        ```
        
        or build via ports:
        
        ```sh
        cd /usr/ports/security/py-trezor
        make install clean
        ```
        
        Command line client (trezorctl)
        ------------------------------
        
        The included `trezorctl` python script can perform various tasks such as
        changing setting in the Trezor, signing transactions, retrieving account
        info and addresses. See the [docs/](docs/) sub folder for detailed
        examples and options.
        
        NOTE: An older version of the `trezorctl` command is [available for
        Debian Stretch](https://packages.debian.org/en/stretch/python-trezor)
        (and comes pre-installed on [Tails OS](https://tails.boum.org/)).
        
        Python Library
        --------------
        
        You can use this python library to interact with a Bitcoin Trezor and
        use its capabilities in your application. See examples here in the
        [tools/](tools/) sub folder.
        
        PIN Entering
        ------------
        
        When you are asked for PIN, you have to enter scrambled PIN. Follow the
        numbers shown on TREZOR display and enter the their positions using the
        numeric keyboard mapping:
        
        <table>
        <tr><td>7<td>8<td>9
        <tr><td>4<td>5<td>6
        <tr><td>1<td>2<td>3
        </table>
        
        Example: your PIN is **1234** and TREZOR is displaying the following:
        
        <table>
        <tr><td>2<td>8<td>3
        <tr><td>5<td>4<td>6
        <tr><td>7<td>9<td>1
        </table>
        
        You have to enter: **3795**
        
        Contributing
        ------------
        
        Python-trezor pulls coins info and protobuf messages from
        [trezor-common](https://github.com/trezor/trezor-common) repository. If
        you are developing new features for Trezor, you will want to start
        there. Once your changes are accepted to `trezor-common`, you can make a
        PR against this repository. Don't forget to update the submodule with:
        
        ```sh
        git submodule update --init --remote
        ```
        
        Then, rebuild the protobuf messages and get `coins.json` by running:
        
        ```sh
        python3 setup.py prebuild
        ```
        
        To get support for BTC-like coins, these steps are enough and no further
        changes to the library are necessary.
        
        
        # Changelog
        All notable changes to this project will be documented in this file.
        
        The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
        
        _At the moment, the project does __not__ adhere to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). That is expected to change with version 1.0._
        
        
        ## [0.10.2] - 2018-06-21
        [0.10.2]: https://github.com/trezor/python-trezor/compare/v0.10.1...v0.10.2
        
        ### Added
        - `stellar_get_address` and `_public_key` functions support `show_display` parameter
        - trezorctl: `stellar_get_address` and `_public_key` commands for the respective functionality
        
        ### Removed
        - trezorctl: `list_coins` is removed because we no longer parse the relevant protobuf field
          (and newer Trezor firmwares don't send it) [#277]
        
        ### Fixed
        - test support module was not included in the release, so code relying on the deprecated `ckd_public` module would fail [#280]
        
        ## [0.10.1] - 2018-06-11
        [0.10.1]: https://github.com/trezor/python-trezor/compare/v0.10.0...v0.10.1
        
        ### Fixed
        - previous release fails to build on Windows [#274]
        
        ## [0.10.0] - 2018-06-08
        [0.10.0]: https://github.com/trezor/python-trezor/compare/v0.9.1...v0.10.0
        
        ### Added
        - Lisk support [#197]
        - Stellar support [#167], [#268]
        - Wanchain support [#230]
        - support for "auto lock delay" feature
        - `TrezorClient` takes an additional argument `state` that allows reusing the previously entered passphrase [#241]
        - USB transports mention udev rules in exception messages [#245]
        - `log.enable_debug_output` function turns on wire logging, instead of having to use `TrezorClientVerbose`
        - BIP32 paths now support `123h` in addition to `123'` to indicate hardening
        - trezorctl: `-p` now supports prefix search for device path [#226]
        - trezorctl: smarter handling of firmware updates [#242], [#269]
        
        ### Changed
        - reorganized transports and moved into their own `transport` submodule
        - protobuf messages and coins info is now regenerated at build time from the `trezor-common` repository [#248]
        - renamed `ed25519raw` to `_ed25519` to indicate its privateness
        - renamed `ed25519cosi` to `cosi` and expanded its API
        - protobuf messages are now logged through Python's `logging` facility instead of custom printing through `VerboseWireMixin`
        - `client.format_protobuf` is moved to `protobuf.format_message`
        - `tools.Hash` is renamed to `tools.btc_hash`
        - `coins` module `coins_txapi` is renamed to `tx_api`.  
          `coins_slip44` is renamed to `slip44`.
        - build: stricter flake8 checks
        - build: split requirements to separate files
        - tests: unified finding test device, while respecting `TREZOR_PATH` env variable.
        - tests: auto-skip appropriately marked tests based on Trezor device version
        - tests: only show wire output when run with `-v`
        - tests: allow running `xfail`ed tests selectively based on `pytest.ini`
        - docs: updated README with clearer install instructions [#185]
        - docs: switched changelog to Keep a Changelog format [#94]
        
        ### Deprecated
        - `ckd_public` is only maintained in `tests.support` submodule and considered private
        - `TrezorClient.expand_path` is moved to plain function `tools.parse_path`
        - `TrezorDevice` is deprecated in favor of `transport.enumerate_devices` and `transport.get_transport`
        - XPUB-related handling in `tools` is slated for removal
        
        ### Removed
        - most Python 2 compatibility constructs are gone [#229]
        - `TrezorClientVerbose` and `VerboseWireMixin` is removed
        - specific `tx_api.TxApi*` classes removed in favor of `coins.tx_api`
        - `client.PRIME_DERIVATION_FLAG` is removed in favor of `tools.HARDENED_FLAG` and `tools.H_()`
        - hard dependency on Ethereum libraries and HIDAPI is changed into extras that need to be
          specified explicitly. Require `trezor[hidapi]` or `trezor[ethereum]` to get them.
        
        ### Fixed
        - WebUSB enumeration returning bad devices on Windows 10 [#223]
        - `sign_tx` operation sending empty address string [#237]
        - Wrongly formatted Ethereum signatures [#236]
        - protobuf layer would wrongly encode signed integers [#249], [#250]
        - protobuf pretty-printing broken on Python 3.4 [#256]
        - trezorctl: Matrix recovery on Windows wouldn't allow backspace [#207]
        - aes_encfs_getpass.py: fixed Python 3 bug [#169]
        
        
        ## [0.9.1] - 2018-03-05
        [0.9.1]: https://github.com/trezor/python-trezor/compare/v0.9.0...v0.9.1
        
        ### Added
        - proper support for Trezor model T
        - support for Monacoin
        - improvements to `trezorctl`:
          - add pretty-printing of features and protobuf debug dumps (fixes [#199])
          - support `TREZOR_PATH` environment variable to preselect a Trezor device.
        
        ### Removed
        - gradually dropping Python 2 compatibility (pypi package will now be marked as Python 3 only)
        
        
        [#94]: https://github.com/trezor/python-trezor/issues/94
        [#167]: https://github.com/trezor/python-trezor/issues/167
        [#169]: https://github.com/trezor/python-trezor/issues/169
        [#185]: https://github.com/trezor/python-trezor/issues/185
        [#197]: https://github.com/trezor/python-trezor/issues/197
        [#199]: https://github.com/trezor/python-trezor/issues/199
        [#207]: https://github.com/trezor/python-trezor/issues/207
        [#223]: https://github.com/trezor/python-trezor/issues/223
        [#226]: https://github.com/trezor/python-trezor/issues/226
        [#229]: https://github.com/trezor/python-trezor/issues/229
        [#230]: https://github.com/trezor/python-trezor/issues/230
        [#236]: https://github.com/trezor/python-trezor/issues/236
        [#237]: https://github.com/trezor/python-trezor/issues/237
        [#241]: https://github.com/trezor/python-trezor/issues/241
        [#242]: https://github.com/trezor/python-trezor/issues/242
        [#245]: https://github.com/trezor/python-trezor/issues/245
        [#248]: https://github.com/trezor/python-trezor/issues/248
        [#249]: https://github.com/trezor/python-trezor/issues/249
        [#250]: https://github.com/trezor/python-trezor/issues/250
        [#256]: https://github.com/trezor/python-trezor/issues/256
        [#268]: https://github.com/trezor/python-trezor/issues/268
        [#269]: https://github.com/trezor/python-trezor/issues/269
        [#274]: https://github.com/trezor/python-trezor/issues/274
        [#277]: https://github.com/trezor/python-trezor/issues/277
        [#280]: https://github.com/trezor/python-trezor/issues/280
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.3
Description-Content-Type: text/markdown
Provides-Extra: ethereum
Provides-Extra: hidapi
