Skip to content
This repository has been archived by the owner on Jan 13, 2023. It is now read-only.

Releases: iotaledger/iota.py

PyOTA 3.1.0-beta1

04 Jun 10:07
f596c1a
Compare
Choose a tag to compare
PyOTA 3.1.0-beta1 Pre-release
Pre-release

⚠️🚧 The IOTA client libraries (including PyOTA) are not considered production ready yet. Use them with care in production environments.🚧⚠️

Changes

Compatibility with IRI 1.8.6:

  • Remove getTips command. #318
  • Remove threshold parameter from get_ balances. #315
  • Remove get_latest_inclusion_states command. #288
  • Remove tips parameter from get_inclusion_states. #288

Additional changes:

  • Add is_confirmed alias for get_inclusion_states. #320
  • Update response filter of get_node_info. #334

Binary Distribution Checksums

Instructions: Download the source (*.tar.gz) or wheel (*.whl) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using sha256sum (macOS/Linux) or CertUtil (Windows).

Compare your SHA-256 hash against the value posted in the gray box below. If the value is different, please do not use the downloaded file! Report any checksum problems on the PyOTA Bug Tracker as soon as possible.

  • PyOTA-3.1.0b1.tar.gz: 7e2bd201ecbf9f4ada462a92226c76d5ed826529f7bf3aa87ead9b8dbfc4cdc1
  • PyOTA-3.1.0b1-py2.py3-none-any.whl: 5e57a6f80345a4a8a1cf16a192922b7b4afb15fe44badc93a8b7b7247bc6d629
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

:warning::construction: **The IOTA client libraries (including PyOTA) are not considered production ready yet. Use them with care in production environments.**:construction::warning:

# Changes

Compatibility with IRI 1.8.6:
- - Remove `getTips` command. #318 
- - Remove `threshold` parameter from `get_ balances`. #315 
- - Remove `get_latest_inclusion_states` command. #288 
- - Remove `tips` parameter from `get_inclusion_states`. #288

Additional changes:
- - Add `is_confirmed` alias for `get_inclusion_states`. #320
- - Update response filter of `get_node_info`. #334

# Binary Distribution Checksums
**Instructions:**  Download the source (`*.tar.gz`) or wheel (`*.whl`) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using [`sha256sum`](https://linux.die.net/man/1/sha256sum) (macOS/Linux) or [`CertUtil`](https://superuser.com/a/898377) (Windows).

Compare your SHA-256 hash against the value posted in the gray box below.  If the value is different, please **do not use the downloaded file!**  Report any checksum problems on the [PyOTA Bug Tracker](https://github.com/iotaledger/iota.py/issues/) as soon as possible.

* PyOTA-3.1.0b1.tar.gz: 7e2bd201ecbf9f4ada462a92226c76d5ed826529f7bf3aa87ead9b8dbfc4cdc1
* PyOTA-3.1.0b1-py2.py3-none-any.whl: 5e57a6f80345a4a8a1cf16a192922b7b4afb15fe44badc93a8b7b7247bc6d629
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEELOz4ULwji23aAzOQgxYDHL9aD3IFAl7YxzcACgkQgxYDHL9a
D3IPqxAAjw7sPNp5nH2BKGW32hPY1v50+XI/88K7mHRlcKOubzleWmzdk9qUelKW
ADaEpjv0Y4hdM3jGsxaxJGjydVMxpWPwRwmBo+yV07HscwGSnxRIzSaqBU/onzEf
Nj0HmnAjoW+ArR/lZrFEtYIVuFiUuy7xVgoaYt8uzSnfy6YZfOYAjVzgTTVsjRA8
RIoKZM5UoHONSiC0Wk77ijA5qHWdCw1w29sS1gjRNNIHTBXr0Mk87RMGNxBa2Bif
sdtU6d2m8nwCSq62u85hhXwo2ovu7C0ysgWGAHgDwFl2lzGi7jyuOc24IX0NPJRQ
TPz6AroZpHaD9DEkLur5OQwD74jE9AsWF5bE0UeMu6rORISemRTfnRQSvGFUYJP/
pLFTdt7ItH9VT269yz3DXrVBhEXrpuD0kCMpBQxeF38SI5kL8NtPExB4JD7PxsXA
j9exCHwXGn9yJ3qRPZNWYoaTzQOa1AST0hKhOh4Cw73YqX3/oGNkAVXyvQgrIEwJ
db2EVhAVYFKhvw7tpIYcDaqwitRLDhoN6EKPrgZfIRFvuq3lvvnXDxOM4tR/S1su
hp5TnRikStuyO21Djgf+7GAnkUwxip5FjzhG/U4aGiK2mnKt4UaC/mpiRGkX33li
ZLa/dLZcA4NWIkxpYrYpBKn8lZ+nm0Dob+dqTayrBYdi317IY+g=
=XcoV
-----END PGP SIGNATURE-----

PyOTA 3.0.0-beta2

28 Apr 11:44
e0cdacb
Compare
Choose a tag to compare
PyOTA 3.0.0-beta2 Pre-release
Pre-release

⚠️🚧 The IOTA client libraries (including PyOTA) are not considered production ready yet. Use them with care in production environments.🚧⚠️

Documentation changes

  • Update typo in documentation example code. #325

Binary Distribution Checksums

Instructions: Download the source (*.tar.gz) or wheel (*.whl) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using sha256sum (macOS/Linux) or CertUtil (Windows).

Compare your SHA-256 hash against the value posted in the gray box below. If the value is different, please do not use the downloaded file! Report any checksum problems on the PyOTA Bug Tracker as soon as possible.

  • PyOTA-3.0.0b2.tar.gz: 7f00c678557daa58d849cb5d32ad6b86533653706e270a88f756ae2d900753a6
  • PyOTA-3.0.0b2-py2.py3-none-any.whl: b9995091b4da3600975b948f25cf9c9800c06275841fea93ce401a3b84583de1
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

:warning::construction: **The IOTA client libraries (including PyOTA) are not considered production ready yet. Use them with care in production environments.**:construction::warning:

# Documentation changes
- - Update typo in documentation example code. #325 

# Binary Distribution Checksums
**Instructions:**  Download the source (`*.tar.gz`) or wheel (`*.whl`) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using [`sha256sum`](https://linux.die.net/man/1/sha256sum) (macOS/Linux) or [`CertUtil`](https://superuser.com/a/898377) (Windows).

Compare your SHA-256 hash against the value posted in the gray box below.  If the value is different, please **do not use the downloaded file!**  Report any checksum problems on the [PyOTA Bug Tracker](https://github.com/iotaledger/iota.py/issues/) as soon as possible.

* PyOTA-3.0.0b2.tar.gz: 7f00c678557daa58d849cb5d32ad6b86533653706e270a88f756ae2d900753a6
* PyOTA-3.0.0b2-py2.py3-none-any.whl: b9995091b4da3600975b948f25cf9c9800c06275841fea93ce401a3b84583de1
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEELOz4ULwji23aAzOQgxYDHL9aD3IFAl6oFsEACgkQgxYDHL9a
D3J7Og/5AclLrbOhC2VScYnpgag9pnW/g3CoOZO7dpisc+lNb10MN+elpNLNmL4m
/jmi+gSyNc58cySUWWeI1dJ01IKRtuPoN61NPZb7xDGv5gukO3anyWkFRBzl5f++
3yCHdSA1cTCmcU0xOfR8Ksjyz39tH5MurcH6+bJ8oBPrYJURp2unCMBDuhQanvyA
w68Uqt3h+lwAQ1bRt50QTUFAmUX70/uZ5Eh0ZAHjVRLniZtaJy0vydYv2f+fNxxS
U7h6f8ekRsGmU702KMAaKU10+gbo3tTowqB6WOOggFzCn4d6uuCqRpo5azfOTitm
x1DC+eeLaimtsoAEqQv/1ZB7EQ3GvxVi928WSbtmjHRl1F8Y5UCv3ggLAcZ0gr3f
TW/csbJoDx6ApNGzx7dp6f2q1/XwQ4nIK0MD3QYMrQnvKqIyJpabGn9L0pRIkO8q
FjeMcd/lmmyCPj10nKJ9ItjvzNIw6UotR1Jm0nbW738kTKi1FR6pOF/vQ1sq17nw
5/zA2VkURnkZcWT5eiBlQ8c5RR3oyWplJfLYf5ZhdX9SnkwDES//TSBWWyBFiT1d
IISxuwtauOm1Fxt0wnybfj2gIvWyEpW9lydXCU1MqwxbHHJ/+cNOceQSA1k/U+HK
2fQuvlWYC6GtDoGX9KHm/6sqhqySLGqCgJvoenWmo9cFPcVMhbQ=
=I80N
-----END PGP SIGNATURE-----

PyOTA v3.0.0-beta1

20 Mar 13:14
a890a47
Compare
Choose a tag to compare
PyOTA v3.0.0-beta1 Pre-release
Pre-release

⚠️🚧 The IOTA client libraries (including PyOTA) are not considered production ready yet. Use them with care in production environments.🚧⚠️

❗❗❗
This release contains several breaking changes, in particular dropping support for Python versions older than 3.6.0. This includes Python 2!
❗❗❗

What's new?

  • ⚠️ Remove Python 2 support! From now on, PyOTA is ONLY compatible with Python 3.6+! ⚠️

  • Refactor API for asynchronous operation, new APIs: AsyncIota and AsyncStrictIota. User can choose between synchronous Iota api and asynchronous AsyncIota api. #301

  • Rewrite networking layer for async with httpx, improve networking with connection pooling. #301

  • Make underlying PyOTA commands coroutines, speedups for synchronous API calls as well. #301

  • Python 2 code clean-up, adjust coding style to Python 3 conventions. #317

  • Python 3 style type annotations to make source code more readable and maintainable. #321

  • Remove old dependencies: requests, six, etc. #301

  • Rename testnet to devnet. #298

  • Fix error message in promote_transaction API call. #313

Documentation changes

Binary Distribution Checksums

Instructions: Download the source (*.tar.gz) or wheel (*.whl) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using sha256sum (macOS/Linux) or CertUtil (Windows).

Compare your SHA-256 hash against the value posted in the gray box below. If the value is different, please do not use the downloaded file! Report any checksum problems on the PyOTA Bug Tracker as soon as possible.

  • PyOTA-3.0.0b1.tar.gz: fea8eab71bba34d5d47e98c4d0e8c2ba76c197a5585cb64a17d7b142ea2dca27
  • PyOTA-3.0.0b1-py2.py3-none-any.whl: 56ec7bf9ce9b49b2c3551a704ee2cdb652a7465f4523b5db0cbd874c2fdff458
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

:warning::construction: **The IOTA client libraries (including PyOTA) are not considered production ready yet. Use them with care in production environments.**:construction::warning:

:heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark:
**This release contains several breaking changes and deprecate support for Python versions older, than 3.6.0.**
:heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark:
# What's new?
- - :warning: **Remove Python 2 support! From now on, PyOTA is ONLY compatible with Python 3.6+!** :warning:
- - Refactor API for asynchronous operation, new APIs: `AsyncIota` and `AsyncStrictIota`. User can choose between synchronous `Iota` api and asynchronous `AsyncIota` api. #301 
- - Rewrite networking layer for async with `httpx`, improve networking with connection pooling.  #301 
- - Make underlying PyOTA commands coroutines, speedups for synchronous API calls as well. #301 
- - Python 2 code clean-up, adjust coding style to Python 3 conventions. #317 
- - Python 3 style type annotations to make source code more readable and maintainable. #321 
- - Remove old dependencies: `requests`, `six`, etc. #301 
- - Rename `testnet` to `devnet`. #298 

- - Fix error message in `promote_transaction` API call. #313 
# Documentation changes
- - Update docs about dropping Python 2 support. #304 
- - Update docs with [asynchronous capabilities](https://pyota.readthedocs.io/en/latest/api.html). #304 
- - New tutorial: [Tutorial 8: Async Send and Monitor](https://pyota.readthedocs.io/en/latest/tutorials.html#send-and-monitor-concurrently). #312 
- - Add section [Creating Transfers](https://pyota.readthedocs.io/en/latest/transfers.html) with infographic. #316 
- - Update contributing guidelines, add github templates for issues and pull requests. #319 thx @JakeSCahill !
- - Fix bug in Tutorial 7. #303 

# Binary Distribution Checksums
**Instructions:**  Download the source (`*.tar.gz`) or wheel (`*.whl`) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using [`sha256sum`](https://linux.die.net/man/1/sha256sum) (macOS/Linux) or [`CertUtil`](https://superuser.com/a/898377) (Windows).

Compare your SHA-256 hash against the value posted in the gray box below.  If the value is different, please **do not use the downloaded file!**  Report any checksum problems on the [PyOTA Bug Tracker](https://github.com/iotaledger/iota.py/issues/) as soon as possible.

* PyOTA-3.0.0b1.tar.gz: fea8eab71bba34d5d47e98c4d0e8c2ba76c197a5585cb64a17d7b142ea2dca27
* PyOTA-3.0.0b1-py2.py3-none-any.whl: 56ec7bf9ce9b49b2c3551a704ee2cdb652a7465f4523b5db0cbd874c2fdff458

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEELOz4ULwji23aAzOQgxYDHL9aD3IFAl50wUIACgkQgxYDHL9a
D3JKTRAArbPjbkKtg38H9OMMq5jS6K4a6qQieurF7rb0mEsYQnmQ6JM6dZVkmHxU
ZGIOuHiFflzHe82vSI3TnF8ccwV5bTKAhrsMeKq5biNJweR5/+C6b7dp7lobQT1I
ZaFnjDQ6YbTeR6DU8qETeJEhJR1y4R2AZeuAIJwM04kh+P/rYbk21/Di9XxxDIXg
On9yj0KhDRKLpaEUekAACLMWD43xO9JhRp+0/NsHdkSpTVYsbPlC/cvZr4/U5XJS
wf3M/NyPRglmPCi18HhojlCcIOm1CHXFuw0hOgH0r3U2BhyEfkfki+rQ8Egn37J7
2TRxSY7YVO3sdnYbQ1TULdqDfVDqx+X1Wzk6AUjFidAy91oOffLj5x9jVOtbRdPA
Dbbb3BJLTygFaqx06ZsWEIwaxXQLQad//UbUNFmYhr+dNeVUv4k3AkLDGqUhIQq/
TvcVykU8Cn/GwMXhukdLlTCYemsFguKH4Cjq1J1raF4xoQRMOhf7CzaQhvp6XIwP
3UWiqpgoiQbiKMBEwye1+hR9jt9adBezQKa1FS2iPMDAj66jYnMxMj8ibwWFjYs0
8KFZLsJ1zr/7l1E64PSG+iYKBFGuSvg8A4FDUidMUI/kUjxbVJnmgGv8bABK+7HP
e3mgnkPFSHbR7oTqgFNMKWb6FlgTGpJbCXDYsyHpsIfSG1FojIg=
=Vjim
-----END PGP SIGNATURE-----

PyOTA v2.3.0-beta1

27 Jan 10:42
9416068
Compare
Choose a tag to compare
PyOTA v2.3.0-beta1 Pre-release
Pre-release

⚠️🚧 The IOTA client libraries (including PyOTA) are not considered production ready yet. Use them with care in production environments.🚧⚠️

Feature Changes

  • Subclasses of TryteString generate appropriate length with random(). [#166] (thx @rpitonak for the original implementation! )
  • traverse_bundle (and get_bundles) extended API command throws error when can't fetch transactions in the bundle from the node. [#291]
  • get_bundles can now return multiple bundles when called with multiple tail transaction hashes. [#250] Note, that input argument changes from a single transaction hash to a list of transaction hashes!

Documentation Changes

Binary Distribution Checksums

Instructions: Download the source (*.tar.gz) or wheel (*.whl) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using sha256sum (macOS/Linux) or CertUtil (Windows).

Compare your SHA-256 hash against the value posted in the gray box below. If the value is different, please do not use the downloaded file! Report any checksum problems on the PyOTA Bug Tracker as soon as possible.

  • PyOTA-2.3.0b1.tar.gz: 3a5c3c82b4b3dfab91ec1c4214594894c70ca44044179381af9aedda58d628e1
  • PyOTA-2.3.0b1-py2.py3-none-any.whl: aceaf7ed8a27fa5201e5bfd85b1d3b078c469ecc66ea61c319ccb614f52271d7
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

:warning::construction: **The IOTA client libraries (including PyOTA) are not considered production ready yet. Use them with care in production environments.**:construction::warning:

# Feature Changes
- - Subclasses of `TryteString` generate appropriate length with `random()`. [#166] (thx @rpitonak for the original implementation! )
- - `traverse_bundle` (and `get_bundles`) extended API command throws error when can't fetch transactions in the bundle from the node. [#291]
- - `get_bundles` can now return multiple bundles when called with multiple tail transaction hashes. [#250] **Note, that input argument changes from a single transaction hash to a list of transaction hashes!**

# Documentation Changes
- - New README file with unified IOTA library header on GitHUb landing page. (thx @JakeSCahill)
- - Updates on how to handle snapshots. [#46]
- - New page `Tutorials` in PyOTA documentation with step-by-step walk through examples. [#284]
  [Check out the new Tutorials here!](https://pyota.readthedocs.io/en/latest/tutorials.html#)

# Binary Distribution Checksums
**Instructions:**  Download the source (`*.tar.gz`) or wheel (`*.whl`) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using [`sha256sum`](https://linux.die.net/man/1/sha256sum) (macOS/Linux) or [`CertUtil`](https://superuser.com/a/898377) (Windows).

Compare your SHA-256 hash against the value posted in the gray box below.  If the value is different, please **do not use the downloaded file!**  Report any checksum problems on the [PyOTA Bug Tracker](https://github.com/iotaledger/iota.lib.py/issues/) as soon as possible.

* PyOTA-2.3.0b1.tar.gz: 3a5c3c82b4b3dfab91ec1c4214594894c70ca44044179381af9aedda58d628e1
* PyOTA-2.3.0b1-py2.py3-none-any.whl: aceaf7ed8a27fa5201e5bfd85b1d3b078c469ecc66ea61c319ccb614f52271d7
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEELOz4ULwji23aAzOQgxYDHL9aD3IFAl4uvlgACgkQgxYDHL9a
D3JlIxAAn3fHGFe7ouy/6nBjUq1aXvBF7UkQA2FdLmJ+px3LRUCC4M6W9b1b5NJS
Wah3sXJ2ERdBlzTvtNKy6VkbYuTTT9i3tvslKYwWA19iJgFJTITmpdve2Z31vK1H
qZ9EQqWqhl0g0CMzJ92Gh0yCN/5ad9j5ndwCKtdBx/b2ppZ4MBo7Hpz4tAjsaB9P
zGjNB6a7zks5BkST9X0ld8OgLJRYGoHWRKr117JHxwCrZwP35X9eqU1KXJG9F4sy
/tI5Vb+q4jZpkENeyQMxr7kHZ3zKtxLJy/2dLnSFSB7R/abptJJZRe8a6iy7+tg+
6BvmAOoia+pUBezc3g9wYN5dDEPO6Ck+eurh1UBszM9Rno1ZdQP1GAjxlhx2X2Cp
3WZJr9retys0XERQmv9NW+bXujouBQx7l753+cvIKUee+D01CKkMND099z9HFl/5
A+/LqKOK/cX2FldgQxviTuVsnSjOQDO1L22CK2w7oFf1udiC49Na5duEKil9P1Kw
HhEEaI4zqdt8u29/zPwOkDgnJEwUhlbWpyC6L9hF7Ervp+JGNVeD24EtC/6pIYp0
7psZ+MGYCngVMltasgnJUS31XR/g308YH5Edp7B2JtHOXbpDC5Li/xDRyb2kRJCc
hbCJ+RurX8CxuoINHzhKgvtVhlVQkBBUvPBbHs6h5cB87AAOjSY=
=pd2Q
-----END PGP SIGNATURE-----

PyOTA v2.2.0-beta1

11 Dec 14:02
7d0f250
Compare
Choose a tag to compare
PyOTA v2.2.0-beta1 Pre-release
Pre-release

⚠️🚧 The IOTA client libraries (including PyOTA) are not considered production ready yet. Use them with care in production environments.🚧⚠️

Feature Changes

  • New broadcast_bundle extended API command. [#246]

    • As part of the extended api Iota class, this function takes a tail transaction hash of a bundle and re-broadcasts the entire bundle.
  • New is_promotable extended API command. [#25pof the transactions fetched from the Tangle withgetTrytes`.

    • If all tails are promotable, the returned dict contains only a promotable key and True value. If any of the tails are not promotable, promotable is False and the info key contains information about what went wrong.
  • Refactor, new traverse_bundle extended API command. [#252]

    • Given a tail transaction hash, fetches the bundle from the Tangle.
    • The difference between get_bundles and traverse_bundle is subtle: get_bundles also validates the fetched bundle.
  • New add_signature_or_message method for ProposedBundle class. [#253]

    • The method can insert custom messages or signatures into transactions in a ProposedBundle object. Must be called before finalization of the bundle.
  • New add_checksum and remove_checksum methods for Address class. [#254]

    • add_checksum: Appends a valid checksum to the Address object. Address.checksum attribute is updated and checksum trytes are appended to internal tryte buffer.
    • remove_checksum: Slices off the checksum from an Address object. Address.checksum attribute is updated (to value None) and internal tryte buffer is modified to hold only the 81 original address trytes.
  • Expose Seed in top level iota package.

    • Simply use from iota import Seed.
  • Add were_addresses_spent_from check to iter_used_addresses and get_new_addresses. [#244] thx @pdecol!

    • So far only findTransactions check was made in iter_used_addresses and get_new_addresses.

    • With these changes, a used address becomes:

      • an address that has transaction(s) associated with it on the Tangle,
      • OR was ever spent from.
    • A new address becomes:

      • an address that has no transaction(s) associated with it on the Tangle,
      • AND was never spent from.
  • Code cleanup and refactoring of commands. [#275]

  • Remove support for SandboxAdapter. [#273]

Documentation Changes [#268]

Check out the new documentation at: https://pyota.readthedocs.io/en/latest/

  • Introduce autodoc support for Sphinx.
  • Restructure and rewrite public API documentation:
    • API classes,
    • Core API methods,
    • Extended API methods.
  • Build docs during Travis CI build to catch possible errors.
  • Add Basic Concepts page to docs.
  • Complete rewrite of PyOTA Types page.
  • Improve Generating Addresses page, add figure and more info.
  • Improve Adapters and Wrappers page.
  • Add PyOTA Commands page, intended for advanced users/developers of the lib.

Binary Distribution Checksums

Instructions: Download the source (*.tar.gz) or wheel (*.whl) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using sha256sum (macOS/Linux) or CertUtil (Windows).

Compare your SHA-256 hash against the value posted in the gray box below. If the value is different, please do not use the downloaded file! Report any checksum problems on the PyOTA Bug Tracker as soon as possible.

  • PyOTA-2.2.0b1.tar.gz: f67645e94d66316d4e7cfb96e3749828cf321aaabbae04e0ce368224ab4ed7bd
  • PyOTA-2.2.0b1-py2.py3-none-any.whl: 2d1760a29464237c02b69bf08d0d5723645206158159730f9cd0c4db55c70e0a
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

:warning::construction: **The IOTA client libraries (including PyOTA) are not considered production ready yet. Use them with care in production environments.**:construction::warning:

# Feature Changes
- - New `broadcast_bundle` extended API command. [#246]
  - As part of the extended api `Iota` class, this function takes a tail transaction hash of a bundle and re-broadcasts the entire bundle.
- - New `is_promotable` extended API command. [#25p` of the transactions fetched from the Tangle with `getTrytes`.

  - If **all** tails are promotable, the returned `dict` contains only a `promotable` key and `True` value. If **any** of the tails are not promotable, `promotable` is `False` and the `info` key contains information about what went wrong.
- - Refactor, new `traverse_bundle` extended API command. [#252]
   - Given a tail transaction hash, fetches the bundle from the Tangle.
   - The difference between `get_bundles` and `traverse_bundle` is subtle: `get_bundles` also validates the fetched bundle.
- - New `add_signature_or_message` method for `ProposedBundle` class. [#253]
   - The method can insert custom messages or signatures into transactions in a ProposedBundle object. Must be called before finalization of the bundle.
- - New  `add_checksum` and `remove_checksum` methods for `Address` class. [#254]
   - ``add_checksum``: Appends a valid checksum to the ``Address`` object. ``Address.checksum`` attribute is updated and checksum trytes are appended to internal tryte buffer.
   - ``remove_checksum``: Slices off the checksum from an ``Address`` object. ``Address.checksum`` attribute is updated (to value ``None``) and internal tryte buffer is modified to hold only the 81 original address trytes.
- - Expose `Seed` in top level `iota` package.
   - Simply use `from iota import Seed`. 
- - Add `were_addresses_spent_from` check to `iter_used_addresses` and `get_new_addresses`. [#244] thx @pdecol!
   - So far only `findTransactions` check was made in `iter_used_addresses` and `get_new_addresses`.

   - With these changes, a **used address** becomes:
      - an address that has transaction(s) associated with it on the Tangle,
      - OR was ever spent from.

   - A **new address** becomes:
      - an address that has no transaction(s) associated with it on the Tangle,
      - AND was never spent from.
- - Code cleanup and refactoring of `commands`. [#275]
- - Remove support for `SandboxAdapter`. [#273]
# Documentation Changes [#268]
### Check out the new documentation at: https://pyota.readthedocs.io/en/latest/
- - Introduce `autodoc` support for Sphinx.
- - Restructure and rewrite public API documentation:
  - API classes,
  - Core API methods,
  - Extended API methods.
- - Build docs during Travis CI build to catch possible errors.
- - Add `Basic Concepts` page to docs.
- - Complete rewrite of `PyOTA Types` page.
- - Improve `Generating Addresses` page, add figure and more info.
- - Improve `Adapters and Wrappers` page.
- - Add `PyOTA Commands` page, intended for advanced users/developers of the lib.

# Binary Distribution Checksums
**Instructions:**  Download the source (`*.tar.gz`) or wheel (`*.whl`) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using [`sha256sum`](https://linux.die.net/man/1/sha256sum) (macOS/Linux) or [`CertUtil`](https://superuser.com/a/898377) (Windows).

Compare your SHA-256 hash against the value posted in the gray box below.  If the value is different, please **do not use the downloaded file!**  Report any checksum problems on the [PyOTA Bug Tracker](https://github.com/iotaledger/iota.lib.py/issues/) as soon as possible.

* PyOTA-2.2.0b1.tar.gz: f67645e94d66316d4e7cfb96e3749828cf321aaabbae04e0ce368224ab4ed7bd
* PyOTA-2.2.0b1-py2.py3-none-any.whl: 2d1760a29464237c02b69bf08d0d5723645206158159730f9cd0c4db55c70e0a

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEELOz4ULwji23aAzOQgxYDHL9aD3IFAl3w9tAACgkQgxYDHL9a
D3JnhQ/+I8+ZQHy3O54WSUNxkwnBnbV9HETTPcWFPR+3ZyFJ0C4hRnopr8/wpf2P
t7QeRuSnxWAktJbRZ+mEp8PRQAA8NQLbONBKEWuQeiTTA1URLnQxlc+2qu7hU7+D
SxvblDD1dFX1+XpLys1JUhXfvxonhFFWoJP3Vzo+9GH85DfIKJGgnEmOgRguifa+
Nbl8vOUedYHiqt4ZU4qCTvtx/jvtm8qAWtNvWp/qVMtGZNJOpaCVb8QhZ8axmgIs
uzC488OvuA+Cau+QadyHj6pvleeN8M1DTkwMytofsUcQuy/IWJb20Eh+52GJsSJl
JNGcW+4Vt8+1uM2RgBVjAfdazgncg+BE4P2tX363NuZ99N+eTVwc5fpA1if3hfTk
yls+23mboBBKZohgUQJJqQxI5kjiZUblcVRPFBF+BHFWrI2QIIyLDZhF4W77Kivb
HtfzcxvUeKGVfYnj4ukmJwyHk+f0zBY5q5MGodZuygwsrVMBgVtYpepFfLG3aKoH
u/rvbajprW8gCnIdQz43BfmBHtBm/J2/WEhhbmgS/luMS9lYliZ2dTNqKsrwtf/7
V3/WqBk4nE0AaxzFOsNSVwR3/qjUEYBwKzwFjRlgfCtKERwdKXEo+An7BxWqPsfY
sNB+y5QWZFww+CxbBr/ol1npcbAXSaFaMcxOapT25VEYnYp93mM=
=ILD9
-----END PGP SIGNATURE-----

PyOTA 2.1.0

21 Oct 10:04
3057a1b
Compare
Choose a tag to compare
PyOTA 2.1.0 Pre-release
Pre-release
  • Rename repo to iota.py
  • Update links in documentation
  • Refactored repeated filter logic into macro (thanks @todofixthis )
  • [#241] New extended API command: get_transaction_objects
  • [#139 #228] Introduce Local Proof-of-Work calculation via PyOTA-PoW

Binary Distribution Checksums

Instructions: Download the source (*.tar.gz) or wheel (*.whl) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using sha256sum (macOS/Linux) or CertUtil (Windows).

Compare your SHA-256 hash against the value posted in the gray box below. If the value is different, please do not use the downloaded file! Report any checksum problems on the PyOTA Bug Tracker as soon as possible.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

- - Rename repo to iota.py
- - Update links in documentation
- - Refactored repeated filter logic into macro (thanks @todofixthis )
- - [#241] New extended API command: get_transaction_objects
- - [#139 #228] Introduce Local Proof-of-Work calculation via iotaledger/ccurl.interface.py

# Binary Distribution Checksums
**Instructions:**  Download the source (`*.tar.gz`) or wheel (`*.whl`) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using [`sha256sum`](https://linux.die.net/man/1/sha256sum) (macOS/Linux) or [`CertUtil`](https://superuser.com/a/898377) (Windows).

Compare your SHA-256 hash against the value posted in the gray box below.  If the value is different, please **do not use the downloaded file!**  Report any checksum problems on the [PyOTA Bug Tracker](https://github.com/iotaledger/iota.lib.py/issues/) as soon as possible.

* PyOTA-2.1.0.tar.gz: 7da3b479fbe5421d28324ddd106808c27805a415c92b302d037185ad4d3547f6
* PyOTA-2.1.0-py2.py3-none-any.whl: b943c81855b476dd19f149a05e3db7da822c66f1bbc990c9c1a0aa96f347271f
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEELOz4ULwji23aAzOQgxYDHL9aD3IFAl2tgYwACgkQgxYDHL9a
D3JERg/8Dx9/Uta4dHzu/1iN3Pag3BXRy36RSFWSHbXafGggHcmo0MEFTxwBLGsS
xbIi9tkhAkQ7tNe/sDEUoHicA8oRwOI7NiMbz8m/p+P9r1SxwLqNxR3eljEpciiq
dutwa1itqLky7rQ6wswLjetlGBw2si4THSCVPEzWUgL91dR9FZHUdNr2L41rMQIY
jDOJZpTWZKbXohhif4PvbWYqrMqge91DXaZbVPgb+CBm2as/AhPRQrpkAW27bGjF
eL7AzJqO8xCZeiHI76CFp6+Qqa8ynNPYXsO6ddOgNduXF5DEdW39UowVHfn+vZgK
cqDRpSMfvNuv6B3yg4HABTvMAf0WQxv3vtdHgfMo8TB1SEH+Pk0S2OWC3M1gwXz5
SZQJROAsPCqIYj3PbrXlR6miomxMo+SyFK1WDHILhJrDg6xw6RjsJEyNjabug5ds
NCp9f+qWVxJ//KHh6Z/9CLbcsxwP49Jqv9Iq8sEjCyvGXSSChBZlLU1A91XB7x7v
wv+9qwqDAJN98xU2BirtkJ//5E0CVqmuvMmX5wN6hYvO2jamJmJpSoIkhcQksPVq
HIswczXMzQ9tbi4UPZmnkHp5wLyGyZGZHS238+LwXCVr/uSwYcIC1p1fT2K9c9Fn
Q8nwZpuQjf1sqCFrvIC2IERqc6x5Fp+0XeO16K4ECJ5YCwWnWXc=
=WB9Z
-----END PGP SIGNATURE-----

PyOTA 2.0.9

01 Oct 08:51
b1368af
Compare
Choose a tag to compare
  • Update documentation for AddressGenerator (thanks @ttw225 for the commit)
  • [#232] Deprecate detox, use tox instead (thanks @pdecol for the quick help)
  • [#99] Implement findTransactionObjects command to match the JS library method (thanks @pdecol for the implementation)
  • [#235] Update core commands to match IRI 1.8.1. New commands: getNodeAPIConfiguration and getMissingTransactions, fixed missing parameters tips in getBalances and references in getTransactionsToApprove (thx @pdecol for noticing and implementing the changes)
  • Remove response filters except for transactions and bundles. Consistency with other libs. (thx @pdecol)
  • Fix broken links in documentation (thx @pdecol)

Binary Distribution Checksums

Instructions: Download the source (*.tar.gz) or wheel (*.whl) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using sha256sum (macOS/Linux) or CertUtil (Windows).

Compare your SHA-256 hash against the value posted in the gray box below. If the value is different, please do not use the downloaded file! Report any checksum problems on the PyOTA Bug Tracker as soon as possible.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

- - Update documentation for AddressGenerator (thanks @ttw225 for the commit)
- - [#232] Deprecate detox, use tox instead (thanks @pdecol for the quick help)
- - [#99] Implement **findTransactionObjects** command to match the JS library method (thanks @pdecol for the implementation)
- - [#235] Update core commands to match IRI 1.8.1. New commands: **getNodeAPIConfiguration** and **getMissingTransactions**, fixed  missing parameters `tips` in **getBalances** and `references` in **getTransactionsToApprove** (thx @pdecol for noticing and implementing the changes)
- - Remove response filters except for transactions and bundles. Consistency with other libs. (thx @pdecol)
- - Fix broken links in documentation (thx @pdecol)

# Binary Distribution Checksums
**Instructions:**  Download the source (`*.tar.gz`) or wheel (`*.whl`) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using [`sha256sum`](https://linux.die.net/man/1/sha256sum) (macOS/Linux) or [`CertUtil`](https://superuser.com/a/898377) (Windows).

Compare your SHA-256 hash against the value posted in the gray box below.  If the value is different, please **do not use the downloaded file!**  Report any checksum problems on the [PyOTA Bug Tracker](https://github.com/iotaledger/iota.lib.py/issues/) as soon as possible.

* PyOTA-2.0.9.tar.gz: d0394d1ef90996b59c3f8de62c84193a270ea62515ca06ff8c86bb71c3f887b6
* PyOTA-2.0.9-py2.py3-none-any.whl: 50d134b2178e9d500b573b5160b6993b4bcf67e44594eb3cda606c4309ff5f3a
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEELOz4ULwji23aAzOQgxYDHL9aD3IFAl2TEr8ACgkQgxYDHL9a
D3JIsBAAk4s/sJet4Iz0Aj9mLvYZ2OgiTWIeDr+WduhEZSDAjsiyXuL5QL2z4aiO
j+TdxxnVT6yolkSPvo9JQtSZdEtUcBfMME+1N9etaQHs4zHpZmmNXHgv2u3pxAZs
ax4ptVfVwGgJoemdV3a04XxvIrRWqpY2vBN1RMdoxfdLDX+yCagF2ByfYXtJEktR
kcXmp701doShft+IHfvLAjwt9LVc+TKt5QhxLEZFMVHCip24OjVNTU4aAjCWCkKf
QMqSH+SxEvy2Ls+tg0up9onNZdITlU22dC/CgHx7KptM5t6tkrpZBdyHWjKyewA/
CgOe5PlXbOcmWH0ZAQoA3uTmro4GRxvlNteBFnE9h5foLas96YyapXZr6BoT5EZy
r4xHz8CvQny2f3OQQgLEkObDz405WlO1qshjBfwtMMrA0PPcPo1Zyl3s2J57NoZh
lZD/lG7WnItEGWKwtjVnX+ofQjcBv4V12jHiya1jKM/ptdHBlQxRK98EVCBmrY1B
SNK7iaBtjxQ/0RwXuKKvlkTAl72H7gEmtV2Hhjy/Y3A2+ftTnlSbgmrxsiQ1N/OK
yvvmdWTSktYzIaWMnqDl3aWAq14k9DqccZlKUPSx3eoRyOUmT5+sI2E2U4+pUKsu
qKxpSEDyTh0fBc9abFtO3I3mMQyuK/um//zN3m8lADYWYnPA62c=
=2Jdu
-----END PGP SIGNATURE-----

PyOTA v2.0.8

12 Sep 21:21
cc22622
Compare
Choose a tag to compare
  • [#226] Added support for Python 3.7 (thanks @Nitrooo for reporting and @pdecol for implementing!).
  • [#162] Added missing documentation for API methods (thanks @scottbelden for reporting and @wusyong for fixing!).
  • Fixed obsolete references to forum/Slack in documentation (thanks @pdecol!).

Binary Distribution Checksums

Instructions: Download the source (*.tar.gz) or wheel (*.whl) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using sha256sum (macOS/Linux) or CertUtil (Windows).

Compare your SHA-256 hash against the value posted in the gray box below. If the value is different, please do not use the downloaded file! Report any checksum problems on the PyOTA Bug Tracker as soon as possible.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

# PyOTA v2.0.8
* [#226] Added support for Python 3.7 (thanks @Nitrooo for reporting and @pdecol for implementing!).
* [#162] Added missing documentation for API methods (thanks @scottbelden for reporting and @wusyong for fixing!).
* Fixed obsolete references to forum/Slack in documentation (thanks @pdecol!).

# Binary Distribution Checksums
**Instructions:**  Download the source (`*.tar.gz`) or wheel (`*.whl`) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using [`sha256sum`](https://linux.die.net/man/1/sha256sum) (macOS/Linux) or [`CertUtil`](https://superuser.com/a/898377) (Windows).

Compare your SHA-256 hash against the value posted in the gray box below.  If the value is different, please **do not use the downloaded file!**  Report any checksum problems on the [PyOTA Bug Tracker](https://github.com/iotaledger/iota.lib.py/issues/) as soon as possible.

* PyOTA-2.0.8.tar.gz: d39d107d340d9b2dfb121d900bec4b0e27017ebdacfbeb340d7e2785f1e57035
* PyOTA-2.0.8-py2.py3-none-any.whl: fbec712133e61a2705ab32504aef8b5ab79c761e0f6117ac81bf4182ed012eac
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEc9vOP4UernObqSUWjIY/jl7U00MFAl16ttIACgkQjIY/jl7U
00OONxAAj1G/trnJFM/qZ4KXp+iF04Kdv5TRisF/MwWZfqfy6sV3blXpzBa4q6xo
LAsPRQS0NmgmFtsomy3yrof7TZ+hcQmmxzBnnYBWyDNWjHBA2/p9PrxtwA4czQcf
JADXFwTkpqm7fXm2wxBSPax5pD0J9YsH1enOsrVAsQ5XU+6HVliQF5znTQSbftky
37YlthZiKTzkMZRvAv2PNJN8UT1laxvYVllVtEyWw3HDkMi0fLcDgyezQeciMXzX
IkMjEwQ43JsDUWxV5Gz4RgGIxHON5clMpr+mHVxqXvchWaLgn9RO+mMjdux6gNWm
yOnlzfbbqBNNuy7UT+iKim9CE+yyvkqYgX1aGKfTb8wMrQ0om264oFEM589fmPzA
C4dfpKLh1LYKDLjI0MwQApPwOpEGur4pLDfX6mkZoAWrS85tCTsRxSFLqSVpvBgJ
OcL7q5UJxO89DeqUycsfBv5LeOgwQ6Wr4g9fP8VLMs1BAdH9M0Eh1bVIKNvz5pHx
pXVf5bbQU9laae7ifM0rQxUKLFBilUQ54T2hx/UezooW2WACaQuPlqqeaLaPFF4g
MyvETZcMZxoUke/akm4A3pU7BehhAqrnMb0xmYiU05fXSPDPxmSiJIw+KUwCjs+/
LzuOmVG/SNvynu7MArcKyir+xXVU75EkHKT8YiCAvx6VZposjrc=
=ejTq
-----END PGP SIGNATURE-----

PyOTA v2.0.7

04 Nov 02:31
97cdd1e
Compare
Choose a tag to compare
  • [#181] Iota.get_account_data() now accepts optional security_level argument (thanks @linuxMengfan for reporting and @oskyk for fixing!).
  • [#191][#195] Default value for depth now set to 3 (thanks @Hribek25, @EmbeddedAndroid, and @redondo-mk!).
  • [#186] Fixed incorrect parameter for find_transactions(); was "bundles", but should have been "transactions" (thanks @oskyk!).
  • [#206] Fixed exception when adding an Iota instance to an abstract class (thanks @timohe for reporting!).
  • [#184] Removed unused MAX_SECURITY_LEVEL constant .
  • [#145][WIP] Progressive PEP-8 migration.

Binary Distribution Checksums

Instructions: Download the source (*.tar.gz) or wheel (*.whl) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using sha256sum (macOS/Linux) or CertUtil (Windows).

Compare your SHA-256 hash against the value posted in the gray box below. If the value is different, please do not use the downloaded file! Report any checksum problems on the PyOTA Bug Tracker as soon as possible.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


# PyOTA v2.0.7
* [#181] `Iota.get_account_data()` now accepts optional `security_level` argument (thanks @linuxMengfan for reporting and @oskyk for fixing!).
* [#191][#195] Default value for `depth` now set to 3 (thanks @Hribek25, @EmbeddedAndroid, and @redondo-mk!).
* [#186] Fixed incorrect parameter for `find_transactions()`; was "bundles", but should have been "transactions" (thanks @oskyk!).
* [#206] Fixed exception when adding an `Iota` instance to an abstract class (thanks @timohe for reporting!).
* [#184] Removed unused `MAX_SECURITY_LEVEL` constant .
* [#145][WIP] Progressive PEP-8 migration.

# Binary Distribution Checksums
**Instructions:**  Download the source (`*.tar.gz`) or wheel (`*.whl`) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using [`sha256sum`](https://linux.die.net/man/1/sha256sum) (macOS/Linux) or [`CertUtil`](https://superuser.com/a/898377) (Windows).

Compare your SHA-256 hash against the value posted in the gray box below.  If the value is different, please **do not use the downloaded file!**  Report any checksum problems on the [PyOTA Bug Tracker](https://github.com/iotaledger/iota.lib.py/issues/) as soon as possible.

* PyOTA-2.0.7-py2.py3-none-any.whl: 1cb79a4182c9de2bd8c17b78e5a5cd145017acd84e57d769329398349e012f47
* PyOTA-2.0.7.tar.gz: 0e443a0417f9b6d35c9b8b0139e962741948de72316c9e8a83c289b2b8968275
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEc9vOP4UernObqSUWjIY/jl7U00MFAlveWYwACgkQjIY/jl7U
00MpTA//UZN7NhPa7iN8TOFdYg3OwxfzqpBIClE0VlRRU2I/UdH+4PpFjFvaBQ+b
uUkBrCC121WxcOioEwxPpo9ufthUDsCqC7SWBhtULr5NXQudCZnBHMXbalqW/86M
ivcWvzIXDCsl5hYRtdnSq3ppWCU0XZR1Qz/16agjbEsPZC0A/MpWli54Ymm1Ow55
xIN7lX7qJLghFWtvWnFjSKQDK57CIHNSlefoRSW2iF49X3H9Ait0i29yPQzjGLuf
NmqYL67+KkbUYccTeEHqSbWuLTRa1+uUre2Tpv/ydJq/NfkDRQ0n/VStB2pOu8Cd
vPAowrWfhBBMDri0F6gP7br4gXRZ+GfCV3T2vr+oLYu60SHsKlFxVu0gBNc9FPeo
BuTN/w6mt6/c/NRaIox/d/c2goRFJl6RlBt80E/BtQaPsyQkOO6OkPtDI9rhLKuK
0H55Yq2C00TOT4z+qai9i/n7iofnTfEVQQV3725vtWm/7UUqYzsg7nSOD2xtXm8O
oxPZ38TDlJHZzJS4QJzoLLKnXv+AitKDdsVfYfceLORwg4d0KE3nSqEcjSzLrhbn
atQbavqlq78LBn+I903MA3tV6ssOoIbo8oczXPFy3GRaTgX/HRWhK2rnXBZu0Ow+
UMorg3uEQelnslRMLUGhyXm1WUZ8CNx4nnxeyGHkIyWHvir79oQ=
=lGhZ
-----END PGP SIGNATURE-----

PyOTA v2.0.6

09 Jun 21:33
3f452a6
Compare
Choose a tag to compare
  • [#172] Added security_level parameter to get_inputs(), prepare_transfer() and send_transfer() (thanks @lunfardo314!).
  • [#176] Introduced iota.filters.SecurityLevel.
  • [#171] Fixed incorrect documentation for get_new_addresses() (thanks @maxmbed for reporting and @rckey for fixing!).
  • [#156] Fixed incorrect docstring for is_reattachable() (thanks @ribhu97!).
  • Fixed ambiguous reference in send_transfer.py example (thanks @msti!).
  • [#145][WIP] Progressive PEP-8 migration.

Thanks to the following individuals for their contributions to PyOTA v2.0.6:

Binary Distribution Checksums

Instructions: Download the source (*.tar.gz) or wheel (*.whl) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using sha256sum (macOS/Linux) or CertUtil (Windows).

Compare your SHA-256 hash against the value posted in the gray box below. If the value is different, please do not use the downloaded file! Report any checksum problems on the PyOTA Bug Tracker as soon as possible.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

# PyOTA v2.0.6
* [#172] Added `security_level` parameter to `get_inputs()`, `prepare_transfer()` and `send_transfer()` (thanks @lunfardo314!).
* [#176] Introduced `iota.filters.SecurityLevel`.
* [#171] Fixed incorrect documentation for `get_new_addresses()` (thanks @maxmbed for reporting and @rckey for fixing!).
* [#156] Fixed incorrect docstring for `is_reattachable()` (thanks @ribhu97!).
* Fixed ambiguous reference in `send_transfer.py` example (thanks @msti!).
* [#145][WIP] Progressive PEP-8 migration.

Thanks to the following individuals for their contributions to PyOTA v2.0.6:

* @lunfardo314
* @maxmbed
* @msti
* @rckey
* @ribhu97

# Binary Distribution Checksums
**Instructions:**  Download the source (`*.tar.gz`) or wheel (`*.whl`) distribution (see links at the bottom of the release notes) and compute the SHA-256 hash of the downloaded file using [`sha256sum`](https://linux.die.net/man/1/sha256sum) (macOS/Linux) or [`CertUtil`](https://superuser.com/a/898377) (Windows).

Compare your SHA-256 hash against the value posted in the gray box below.  If the value is different, please **do not use the downloaded file!**  Report any checksum problems on the [PyOTA Bug Tracker](https://github.com/iotaledger/iota.lib.py/issues/) as soon as possible.

* PyOTA-2.0.6-py2.py3-none-any.whl: 6dcdc21aa166ff319cfc77d839271d4730b4602573aede6ea102e2e26cbf9aff
* PyOTA-2.0.6.tar.gz: 9a6eb2604aaee92e0fb04bbb63660564e0854c74cd1e593cd24c4d71b513f5b2
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEc9vOP4UernObqSUWjIY/jl7U00MFAlscRzEACgkQjIY/jl7U
00Mhpw//Rz4TBe7zM1oyjsdpfXghulcowCwXqwUVwf5gR3EjiDUqERzwgstHIjiU
rOzeXjowZGnrvZnZEmPKfSlTW62VyHvVdiGHhGD5zB8cO8grQI5Rwi1ZiWjJs/ce
CE0AUUt82tsTMl4f64AC5HsIzpIOh98pZYI7a4XjNlWVddN26vaxNDNdXA/QV2Fi
rOui5lcSPhIWXWxFGU09/SuATLxi/udB8POhzi9p2itfhaWj09eXLpj0hbn+WitD
HIcohf8CMCkq3b4XzYLi0sCTJTWH29mNqdxUYghwRRqgZcMP/aSBbqwM/ByToT0D
k2w69f/x6gjYt9nGlWQGrnXRAnNq/ii6AOdutnCd/QGoLMERnkzWs31AYxqEUCP9
3WVai9sMEeBy6xyZWa9M4VNNQs9iq/aRx5jduUyszVg0GF7TNi5B1NHsbbxSe9sJ
i/8+ih9GQIhOpREGGJcD4jo+TPHvjSaPVyC5FOm12qALNitNWxQAWgu9t5OGbP4x
MmaKfb6Xvt4J+kCvLs7JFxdQBBAdESkVS2wJMgwRR5hsWCKV3E4ck74tQmt/nbrt
Mg6iu2No5nteu08+KJLDwb9FQN6gV69Oz8B3/iJxiIx4hTmGKWXO4DkV2toNzXv3
JK0RFWCwBhFLX/N/TYoMlqvnvAlR4hPwPVzpXtG2pXvKatJLODQ=
=NskR
-----END PGP SIGNATURE-----