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

PyOTA v2.2.0-beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@lzpap lzpap released this 11 Dec 14:02
· 142 commits to master since this release
7d0f250

⚠️🚧 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-----