Releases: iotaledger/iota.py
PyOTA v2.0.5
- [#157] Added
were_addresses_spent_from
API command (thanks @lunfardo314 for reporting and @scottbelden for implementing!). - [#100]
ProposedTransaction
now properly converts thetag
parameter into aTag
object (thanks @lukzmu for reporting and @rpitonak!). - [#145:WIP]
iota/transaction/creation.py
now conforms to PEP-8 (thanks @rpitonak). - Fixed fragile code in
PrivateKey.get_digest()
(thanks @phil-zxx!). - Fixed incorrect Discord link in
README.rst
(thanks @pcwu!). - Minor enhancements to
pyota-cli
command:- Now respects IPython profile settings.
- No longer outputs "now exiting InteractiveConsole..." on exit.
- Added missing dependencies to
test-runner
extra. - Future-proof project metadata check during Travis builds.
- Prevents build failures if we add Python code snippets to
README.rst
.
- Prevents build failures if we add Python code snippets to
- Fixed incorrect type hints.
- Fixed formatting in
CONTRIBUTING.rst
.
Thanks to the following individuals for their contributions to PyOTA v2.0.5:
Signature/Checksums
Instructions: Download the source (PyOTA-2.0.5.tar.gz
) or wheel (PyOTA-2.0.5-py2.py3-none-any.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 here. 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.5
* [#157] Added `were_addresses_spent_from` API command (thanks @lunfardo314 for reporting and @scottbelden for implementing!).
* [#100] `ProposedTransaction` now properly converts the `tag` parameter into a `Tag` object (thanks @lukzmu for reporting and @rpitonak!).
* [#145:WIP]`iota/transaction/creation.py` now conforms to PEP-8 (thanks @rpitonak).
* Fixed fragile code in `PrivateKey.get_digest()` (thanks @phil-zxx!).
* Fixed incorrect Discord link in `README.rst` (thanks @pcwu!).
* Minor enhancements to `pyota-cli` command:
* Now respects IPython profile settings.
* No longer outputs "now exiting InteractiveConsole..." on exit.
* Added missing dependencies to `test-runner` extra.
* Future-proof project metadata check during Travis builds.
* Prevents build failures if we add Python code snippets to `README.rst`.
* Fixed incorrect type hints.
* Fixed formatting in `CONTRIBUTING.rst`.
Thanks to the following individuals for their contributions to PyOTA v2.0.5:
* [@lukzmu](https://github.com/lukzmu)
* [@lunfardo314](https://github.com/lunfardo314)
* [@pcwu](https://github.com/pcwu)
* [@phil-zxx](https://github.com/phil-zxx)
* [@rpitonak](https://github.com/rpitonak)
* [@scottbelden](https://github.com/scottbelden)
# Binary Distribution Checksums
**Instructions:** Download the source (`PyOTA-2.0.5.tar.gz`) or wheel (`PyOTA-2.0.5-py2.py3-none-any.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 here. 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.5.tar.gz: 3e8512b430a10a92679b3db5911174d053232b630ab00629a4e73bff59ba0532
* PyOTA-2.0.5-py2.py3-none-any.whl: 85f6b08784a01668140ef328c2949fcccd8d9fcba4c04646ea5dbfd1358a47a5
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEc9vOP4UernObqSUWjIY/jl7U00MFAlqR42EACgkQjIY/jl7U
00N3dhAAsrEU3kX2aUH7H5CDkSSmqhQhG74H1neSXsZOt+KZrhYFHDt0EPhFzvrf
nEnl8dncoC3fSbO7uXLuwXEbz8txPVB5D6kCdzM/L6FWcnk8ij5B3sviSr6KY6Gn
YDeCrJ88wiMyQ3ILZzlN0kM2xyNcX9/1ji2r6JxzNhhnBR7Af4P+oVP8Frd4s/pZ
l8X4UXEpqrlJZgT9HXXqN6ZRruemvlEbtoz9hF02n4y1oHOGUbLg1qhuh51Y7rKt
cQqodqrLkiHeLUFXikHiNw33qiUKqg6wBUevtT/NY2EuAbAf8HCstTM0J60oT8hY
5j/IzFTwzvKeYuofX2Eaglow2DhoyQY4OYsBESnEb0Mu7mJaPehInP3QKWos/tTW
z1IPMRcL+MnVVWUai0XO4Os5TSrkwibcVLx+8r7ZnbbH8Yo55mHpbt/CReRbGq3F
2FpZs6024wkRMAUor94UaIVG6+yQf7yHteyGvtwz5too85nkd6N/FeGFok9T9p/O
VoDPMvseXziWu/Z/IgocTu2eSKVdlZJzQiE0WwD1pohMNeyJ5Z6H7u1bZX53EZV/
GvyVhr6uwvZn6Su/yurgROis97OxKdqeoEPW4mt0XAloL3NITfZvGeItcdOrihbe
AYLwxCOHgHOWVakDIkgbFMFnmGQsc1hnCudd129RieMos52Y+7s=
=WY8c
-----END PGP SIGNATURE-----
PyOTA v2.0.4
Backwards-Incompatible Changes
Renamed CLI Command
The iota-cli
command has been renamed to pyota-cli
, to avoid conflicts with the cli-app project.
If PyOTA is already installed, the iota-cli
command will continue to work (the pyota-cli
command will be installed alongside it). However, if you install PyOTA into a new virtualenv, it will not install the iota-cli
command, only pyota-cli
!
Deprecated Methods
The following methods now emit a DeprecationWarning
when invoked. Depending on how your application is configured, these warnings may be converted into exceptions.
TryteString.as_bytes()
(useTryteString.encode()
instead).TryteString.as_string()
(useTryteString.decode()
instead).TryteString.from_string()
(useTryteString.from_unicode()
instead).
To resolve the DeprecationWarning
, replace usages of the deprecated methods with the replacement versions as noted above.
Tip: After making this change, your application will no longer be compatible with PyOTA <= 2.0.4; it is recommended that you also add pyota >= 2.0.4
to your project's setup.py
or requirements.txt
file!
If your application does not use any of the methods listed above, no action is required.
Changelog
- (#121) Added
is_promotable
andpromote_transaction
API methods (thanks @scottbelden!). - (#38) Added
is_reattachable
API method (thanks @jinnerbichler!). - (#122) Rename
iota-cli
command to prevent conflict withcli-app
project (thanks @plenarius!). - (#129) Added
authentication
argument toHttpAdapter
(thanks @HerrMuellerluedenscheid!). - (#105) Added
timeout
argument toHttpAdapter
(thanks @jinnerbichler!). - (#111)
add_neighbor
andremove_neighbor
now also accept URIs that start withtcp://
(thanks @danielfaust for reporting!). - (#92) Added
offset
andlength
arguments to PyCurl methods (thanks @mlouielu!). - (#90) Renamed the following methods:
TryteString.as_bytes()
=>TryteString.encode()
TryteString.as_string()
=>TryteString.decode()
TryteString.from_string()
=>TryteString.from_unicode()
- (#130) Fixed incorrect type in
get_tips
response (thanks @za-uz for reporting!) - (#120) Fixed references to "standard" API in the documentation (thanks @rpitonak!).
- Added
helpers
namespace toIota
(thanks @scottbelden!). - Added missing fields in transaction documentation (thanks @GalRogozinski!).
- Made
examples/send_transfer.py
easier to read (thanks @maeck70!). - Added new setuptools extra "
test-runner
", to install detox.- Added more information about running unit tests to
README.rst
.
- Added more information about running unit tests to
- Added metadata check to the build process and fixed invalid syntax in
README.rst
.- This should also fix rendering issues on PyOTA's PyPI page.
- Fixed incorrect type hint for
find_transaction_objects
. - Changed link in
README.rst
from Slack to Discord.
Special Thanks
Thank you to everyone who helped make this release a success!
- @danielfaust
- @GalRogozinski
- @HerrMuellerluedenscheid
- @jinnerbichler
- @maeck70
- @mlouielu
- @plenarius
- @rpitonak
- @scottbelden
- @za-uz
And to the entire PyOTA community! Seriously, you guys rock!
Signature/Checksums
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# PyOTA v2.0.4
**⚠️ This release contains a few changes that may be backwards-incompatible, depending on how your application is configured. Check the Backwards-Incompatible Changes section for more information! ⚠️**
## Backwards-Incompatible Changes
### Renamed CLI Command
The `iota-cli` command has been renamed to `pyota-cli`, to avoid conflicts with the [cli-app](https://github.com/iotaledger/cli-app/blob/v1.0.8/package.json#L31) project.
If PyOTA is already installed, the `iota-cli` command will continue to work (the `pyota-cli` command will be installed alongside it). However, if you install PyOTA into a new virtualenv, it will **not** install the `iota-cli` command, only `pyota-cli`!
### Deprecated Methods
The following methods now emit a `DeprecationWarning` when invoked. Depending on how your application is configured, these warnings may be converted into exceptions.
* `TryteString.as_bytes()` (use `TryteString.encode()` instead).
* `TryteString.as_string()` (use `TryteString.decode()` instead).
* `TryteString.from_string()` (use `TryteString.from_unicode()` instead).
To resolve the `DeprecationWarning`, replace usages of the deprecated methods with the replacement versions as noted above.
**Tip: After making this change, your application will no longer be compatible with PyOTA < 2.0.4; it is recommended that you also add `pyota >= 2.0.4` to your project's `setup.py` or `requirements.txt` file!**
If your application does not use any of the methods listed above, no action is required.
## Changelog
* (#121) Added `is_promotable` and `promote_transaction` API methods (thanks [@scottbelden]!).
* (#38) Added `is_reattachable` API method (thanks [@jinnerbichler]!).
* (#122) Rename `iota-cli` command to prevent conflict with `cli-app` project (thanks [@plenarius]!).
* (#129) Added `authentication` argument to `HttpAdapter` (thanks [@HerrMuellerluedenscheid]!).
* (#105) Added `timeout` argument to `HttpAdapter` (thanks [@jinnerbichler]!).
* (#111) `add_neighbor` and `remove_neighbor` now also accept URIs that start with `tcp://` (thanks [@danielfaust] for reporting!).
* (#92) Added `offset` and `length` arguments to PyCurl methods (thanks [@mlouielu]!).
* (#90) Renamed the following methods:
* `TryteString.as_bytes()` => `TryteString.encode()`
* `TryteString.as_string()` => `TryteString.decode()`
* `TryteString.from_string()` => `TryteString.from_unicode()`
* (#130) Fixed incorrect type in `get_tips` response (thanks [@za-uz] for reporting!)
* (#120) Fixed references to "standard" API in the documentation (thanks [@rpitonak]!).
* Added `helpers` namespace to `Iota` (thanks [@scottbelden]!).
* Added missing fields in transaction documentation (thanks [@GalRogozinski]!).
* Made `examples/send_transfer.py` easier to read (thanks [@maeck70]!).
* Added new setuptools extra "`test-runner`", to install [detox](https://pypi.python.org/pypi/detox).
* Added more information about running unit tests to `README.rst`.
* Added metadata check to the build process and fixed invalid syntax in `README.rst`.
* This should also fix rendering issues on [PyOTA's PyPI page](https://pypi.python.org/pypi/PyOTA).
* Fixed incorrect type hint for `find_transaction_objects`.
* Changed link in `README.rst` from Slack to Discord.
## Special Thanks
Thank you to everyone who helped make this release a success!
* [@danielfaust]
* [@GalRogozinski]
* [@HerrMuellerluedenscheid]
* [@jinnerbichler]
* [@maeck70]
* [@mlouielu]
* [@plenarius]
* [@rpitonak]
* [@scottbelden]
* [@za-uz]
And to the entire PyOTA community! Seriously, you guys rock!
[@danielfaust]: https://github.com/danielfaust
[@GalRogozinski]: https://github.com/GalRogozinski
[@HerrMuellerluedenscheid]: https://github.com/HerrMuellerluedenscheid
[@jinnerbichler]: https://github.com/jinnerbichler
[@maeck70]: https://github.com/maeck70
[@mlouielu]: https://github.com/mlouielu
[@plenarius]: https://github.com/plenarius
[@rpitonak]: https://github.com/rpitonak
[@scottbelden]: https://github.com/scottbelden
[@za-uz]: https://github.com/za-uz
# Binary Distribution Checksums
* PyOTA-2.0.4-py2.py3-none-any.whl
* sha256: f292408e9f4d98cceef6a04262ce074cf021936705d2f9f34cd38db49d25cea5
* md5: 306c38ffea5ac4cd4c5c905225ff129e
* PyOTA-2.0.4.tar.gz
* sha256: ace8454fd06252a76dc52fa09c94fd38ad78dc5cebd2ae4ab41ad4e26badaaa3
* md5: a8cb576ef8d843b0f4de400d6174e947
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEc9vOP4UernObqSUWjIY/jl7U00MFAlprtDIACgkQjIY/jl7U
00O9CQ//bFlgudszjjn3lnYV31Pe/L9lQFS4t9BwJUrfRPzgA+RgKWXJjBAVPBx6
i58RCaSkq9TLtp8kVe7ltlQsM+eN2gXuaue9zaskiSGqnvNBl/BfKstIEB6Cf2LS
Kjjy3euqFaFm3Nu4Ku2GP78CId2y8kKVnp2qPDNT52i0kLy1Yyx8yiQFsj3c2czh
b/pmHPhIDcYYN9P9ThncIulOsalLQ/38C6lxxZyZZYkaiuNFxnlSn4qrS7v0ktWT
bEj0UmFtL462M/MUkCExrlCpov79WmIrL7E/3QZqa1j96U9eePIYLFGXG9zbm+N8
Fk+Czcj2OZd2sPouVu6fpS1mHmIbJvhUN85aGeTSMWDLccaxJZH1ow4Sq/zNWimO
tMcftiUWzjwO3CB6SOna3xHwUPT0gAklbCGzPEI9UUplV9K74m4EHKQqAuJ5GmN9
h6TDcR9jUaf1jXk8jMSUKZ0i8Xw/VsLwVZL3iSijwHpydXoOj2jCtzhh24x1XvPY
ZMjT6DkxmZsJBSeFTvv06Jblloc6B/UQsYKTKbRNKS62wjzuv83R7nFxamOXVTxD
Jk2+S+nR2V1nK8wIvYpxA+XfOB6Q0LGYw6leJfOOwP3kKNK5WrCOkckBCuQKj3A2
Z0MY8vDQtw/n5aRa6zQgrOLkYWfb2A4iGsW+bERUy64bgnaXFtc=
=x4WB
-----END PGP SIGNATURE-----
PyOTA v2.0.3
Documentation
You can now find online documentation for PyOTA at https://pyota.readthedocs.io/
❤️ The documentation is for you! Please make good use of it, and if you have any questions/ideas about the PyOTA documentation, please post them on the PyOTA issue tracker!
🤔 If you are interested in contributing to PyOTA but aren't too familiar with the codebase yet, writing documentation is a great way to get started! Check the issue tracker for issues tagged with "documentation".
Enhancements and Bugfixes
- [#113] Added
check_consistency
command. Thanks @scottbelden! - [#89]
get_new_addresses
now accepts an optionalchecksum
parameter. When set toTrue
, addresses will be generated with valid checksums. Thanks @plenarius!- The
address_generator.py
example script now accepts--security
and--with-checksum
options.
- The
- [#101] Fixed errors when using addresses with checksums in API commands. Thanks @plenarius!
- [#78] Ported all PyOTA documentation to ReadTheDocs. Thanks @QuantumDamage!
- See
README.rst
for instructions on how to build documentation locally.
- See
- [#103] Added documentation for multisig functionality. Thanks @QuantumDamage!
- [#62] Fixed incorrect codec names in docstrings.
- The REPL script now outputs more information when the
--debug
flag is used. - Fixed a few typos and improved docstrings.
Special Thanks
🖖 Thanks to the following individuals for their help reporting and fixing issues
for the v2.0.3 release:
Signature/Checksums
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# PyOTA v2.0.3
## Documentation
You can now find online documentation for PyOTA at <https://pyota.readthedocs.io/>
❤️ The documentation is for you! Please make good use of it, and if you have any questions/ideas about the PyOTA documentation, please post them on the [PyOTA issue tracker](https://github.com/iotaledger/iota.lib.py/issues)!
🤔 If you are interested in contributing to PyOTA but aren't too familiar with the codebase yet, writing documentation is a great way to get started! Check the issue tracker for [issues tagged with "documentation"](https://github.com/iotaledger/iota.lib.py/issues?q=is%3Aopen+is%3Aissue+label%3Adocumentation).
## Enhancements and Bugfixes
* [#113] Added `check_consistency` command. Thanks @scottbelden!
* [#89] `get_new_addresses` now accepts an optional `checksum` parameter. When set to `True`, addresses will be generated with valid checksums. Thanks @plenarius!
* The `address_generator.py` example script now accepts `--security` and `--with-checksum` options.
* [#101] Fixed errors when using addresses with checksums in API commands. Thanks @plenarius!
* [#78] Ported all PyOTA documentation to ReadTheDocs. Thanks @QuantumDamage!
* See `README.rst` for instructions on how to build documentation locally.
* [#103] Added documentation for multisig functionality. Thanks @QuantumDamage!
* [#62] Fixed incorrect codec names in docstrings.
* The REPL script now outputs more information when the `--debug` flag is used.
* Fixed a few typos and improved docstrings.
## Special Thanks
🖖 Thanks to the following individuals for their help reporting and fixing issues
for the v2.0.3 release:
* @chriamue
* @HerrMuellerluedenscheid
* @plenarius
* @scottbelden
# Binary Distribution Checksums
* PyOTA-2.0.3-py2.py3-none-any.whl
* sha256: 2284cc98ba4bae7671969fe9ae5e6c8102ac5996ae57e924fb21b82303b72029
* md5: 6eaf4c2a09f82b2c7740a96e620d72a4
* PyOTA-2.0.3.tar.gz
* sha256: 374dbe8681f012b82de832ba90c67d05cc6e9420e828380ff5ba9a88977c5ef0
* md5: abfc112f3351dad9e844b957cd99cd7d
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEc9vOP4UernObqSUWjIY/jl7U00MFAlpCo+UACgkQjIY/jl7U
00PX6A/9EzKxsbjX8bswtxRvQfAMXHh2Iq4siu/sO3gXAfhweUpXiBqAyZYqCg3Y
orsvbR2p4pWeR85uulx2cf0xasHUZhxrxhpdEZPHos2eB08aKHkKjdzghFAO6ICv
lfFqn54/rBKnvJ3kYpPqWSzuLPOKzvj7fkytbAgxp+tVt/NjCvDKCQVpUA98cXv5
LziwPtINXCEPU7prINJ1uQ2uFJ9qnq958Ig+USI7XvXvaeMxWFSu0C5fuMF2SwLg
yMYh0dVtycFESeS46TzbCQ69KXSyb7cIL7nZ44Bl8J84iAUMnsjBweLDhsOtUwXw
kDfyT9xvpQ8Qn7WSfcVXQo8P2uVqtNA7JtNYps5Pa9q1DjOUyYLdaNR1npuqGVMj
DurWn9yUBnUiZhn+z2GNTlQwfHJDM4h8Zshw8rkAjgxYVfqyj9x/XQ3UYDLuX616
Ryd4zTA01SRv9SMpQYW95ft9doEKtuPVzvu2hrfVXnNSywFhnZxCNQ4K90VI2gqf
rHbUUJ58V3fATmYTbdNM0xbe4suBKD3Hciamd2dfONT/ejJPQ4N9hxYTRzU9WPl5
08diqN4PaBzWWajl0raiusD0TStkPf8hT5XCV3R7gaFcpH3dIUoWRRuQ1bRApyXz
7TdY2+sH6hhJbJw3aStJUXrJI2zaQDdc+EJ6/Qfbsc7mexn9RBc=
=huOD
-----END PGP SIGNATURE-----
PyOTA v2.0.2
- [#96]
find_transactions
now omits null search terms from the request payload (thanks @yillkid for reporting!).
Signature/Checksums
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# PyOTA v2.0.2
* [#96] `find_transactions` now omits null search terms from the request payload (thanks @yillkid for reporting!).
# Binary Distribution Checksums
* PyOTA-2.0.2-py2.py3-none-any.whl
* sha256: 7671a7bbf311bb49dbb370b6a8581073c1d319c851bc084e652b0a3246d4b3c0
* md5: 6317ecccad6bb1e35134689b6af1efea
* PyOTA-2.0.2.tar.gz
* sha256: 09d05903bc17305f98b362fbd264a22503c4d145c24db3c6bd52bb9cd1dc1c32
* md5: 57be821300eb4c373a98931d91dd2f78
-----BEGIN PGP SIGNATURE-----
iQIyBAEBCAAdFiEEc9vOP4UernObqSUWjIY/jl7U00MFAloGZTIACgkQjIY/jl7U
00NXVA/47FUOD0H4944gADXrK7BhgguKc8VBkuRoVzpZaZzMUANUaBnLQfPnaL14
MO3LVOg2LdHigEHHxctM1/MR3hb2ZmR4eskouxN70BDQubsnD2b93jAUJz283yrP
jVF5YerQ1z/7X4eZLMTESnRcHcWitDWkp2FSmHLGwjz3FFklreYZF7tZmFAiajlN
yQpTk+2G17B0hFQC32b5xSyZpJ3xb2gxx1PWlv5THqQOnYvoO0MjNCSqd/vP0ccc
blfDjiD8soP3mpe/mIwDMGFFijgpdSbhS+sjQX6qvS5xav+mCfD2x1o67+TvJIut
3RNYN7ddBOQN9pVJpby0zS7c2FJjfAEjOK8+jSxR/FtIdknTnPln4W+XImRKTR9p
jNqlnJ9cVKGlZ9G9w+ZuJFRE9/9yoSbbaQgSKR05rQ7oa6wVX7fdbsdqjrHleSxl
sm0qbMQQWmi6cnQEC2r1p7ORYqEGovifTfxV6kI9/LPYSBfrwSdurM90NtezsSSy
3bOqtxi5nnBTg0fGZAaD62HVEbCALQnQBbNCDqh4pHaRBs6O4ckJuC2rJM+I7ijB
kSb20M/T3Erp4G4lEf04ZVF3w+guTMxorl529jTPWNrziKv9Lr6iA+dja7t04IB5
YiczbnDt1bxHO9IKr8wIB4c9BrFIGm9VYRSecI4P004tGchFXg==
=RjdM
-----END PGP SIGNATURE-----
PyOTA v2.0.1
Backwards-Incompatible Changes
- Moved
iota.types.int_from_trits
andiota.types.trits_from_int
to newiota.trits
module.- If you were previously importing these symbols from
iota.types
, you will need to update your imports:- Change
from iota.types import int_from_trits
tofrom iota import int_from_trits
- Change
from iota.types import trits_from_int
tofrom iota import trits_from_int
- Change
- If you were previously importing these symbols from
iota
, you do not have to make any changes.
- If you were previously importing these symbols from
- #62 The
trytes
codec has been renamed totrytes_ascii
.- The
trytes
codec will still work, but it generates a deprecation warning, and it will be removed in PyOTA v2.1.
- The
New Functionality
- #84 PyOTA is now compatible with IRI v1.4.1
- Now adds
X-IOTA-API-Version
header to HTTP requests. - Adds support for preventing insecure bundle hashes.
- Now adds
- #45 Creating a seed with more than 81 trytes now raises a warning (thanks @jinnerbichler!).
- #72 Added
Transfer
alias forProposedTransaction
, to match naming convention of other IOTA API libraries (thanks @szepnapot!). - #83 More meaningful error message if setuptools version is too old to install PyOTA (thanks @HerrMuellerluedenscheid!).
- #78 Partial documentation.
- Documentation is uploaded to https://pyota.readthedocs.io/ automatically after each production release.
- Documentation for the latest development version is available at https://pyota.readthedocs.io/en/develop/
Bugfixes
- #49
trits_from_int(0)
now returns[0]
by default. - Fixed incorrect PEP-484 type hints.
Thanks to the following individuals for their help with this release:
Signature/Checksums
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# PyOTA v2.0.1
**⚠️ This version contains a change that is not backwards-compatible with v2.0.0. Please review the Backwards-Incompatible Changes before updating! ⚠️**
## Backwards-Incompatible Changes
* Moved `iota.types.int_from_trits` and `iota.types.trits_from_int` to new `iota.trits` module.
* If you were previously importing these symbols from `iota.types`, you will need to update your imports:
* Change `from iota.types import int_from_trits` to `from iota import int_from_trits`
* Change `from iota.types import trits_from_int` to `from iota import trits_from_int`
* If you were previously importing these symbols from `iota`, you do not have to make any changes.
* #62 The `trytes` codec has been renamed to `trytes_ascii`.
* The `trytes` codec will still work, but it generates a deprecation warning, and it will be removed in PyOTA v2.1.
## New Functionality
* #84 PyOTA is now compatible with IRI v1.4.1
* Now adds `X-IOTA-API-Version` header to HTTP requests.
* Adds support for preventing insecure bundle hashes.
* #45 Creating a seed with more than 81 trytes now raises a warning (thanks @jinnerbichler!).
* #72 Added `Transfer` alias for `ProposedTransaction`, to match naming convention of other IOTA API libraries (thanks @szepnapot!).
* #83 More meaningful error message if setuptools version is too old to install PyOTA (thanks @HerrMuellerluedenscheid!).
* #78 Partial documentation.
* Documentation is uploaded to https://pyota.readthedocs.io/ automatically after each production release.
* Documentation for the latest development version is available at https://pyota.readthedocs.io/en/develop/
## Bugfixes
* #49 `trits_from_int(0)` now returns `[0]` by default.
* Fixed incorrect PEP-484 type hints.
Thanks to the following individuals for their help with this release:
* @HerrMuellerluedenscheid
* @jinnerbichler
* @szepnapot
* @th0br0
## Binary Distribution Checksums
* PyOTA-2.0.1-py2.py3-none-any.whl
* sha256: c20f90b82331a0ac369391b246025d5f9280b78de48cc0270b275f30703c3a08
* md5: b2b0cb08fc5e3c01c43b79496e697871
* PyOTA-2.0.1.tar.gz
* sha256: ff69a22cbea8392bf6c8f3317ad3c10dc96d1c0739bcac137ea8bf7e8decda5c
* md5: bd6f92a126e2001b5e581a2659be5cdb
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEc9vOP4UernObqSUWjIY/jl7U00MFAln1CMUACgkQjIY/jl7U
00Nu4xAA01zL7O3XHSHIzjF0H6h7XVOSTr6rU1mNPJ+dDtV3qq3ObPBSOzd491mR
lLBoNNMRTjE+UKB6dFFukyNFsnRgPH9kuaXXXDO8q6eexSQngJWgygJnp3XywoLR
r+D3W8TBB+o7fpAfS/MFoD8UR7i8wdwRNL3T/5WAO+ZecdWrlMMdVlPVA/w49qyn
RR6zmZLZwcp8iObNife/HLG3ZtTFgyfGWPt+N+WijVWpGAElYm4r2U5xMEtI9lZX
hDz3kOPs1hzRX+63zAOxqYcET3IJaF4DlfcUbEtR34SBUdfBqAoJAz6k6vZzfQSX
bSMp49iMCLFsg4E+jkhb5UX3gm7MZaJaOCd1BRfi2NRaC1vBFGR0mkmmd05+BMBF
IWzmroHBGz9JA1uQzwKPKe5vUB5P5t5k7YUS5u7IIo6ktE3XNbMk4yyPm/nJo+9C
FGUvqPihekeToaN7NFJRzA09HZ+N3hgxH4wNIexjINwmkXJd0Oa4jZdvyiT14Poq
u7+lmjPCxzUGRXB4dXleGo6TPkAiT1OK27ZBLPk3gv9hATnEHvq4bou9ycYkDJXR
/oDMMIKry2V1rvDNXSN+0R9fxbUkb9EoMBacGyJ6cXpn4c6N0vnNxV2QenJCXe83
mVZspgJiH2jvxsVCext1MrVxUk4HRIVKKO1TIrMNwqtqi5Tk4Ik=
=bIc7
-----END PGP SIGNATURE-----
PyOTA v2.0.0
Backwards-Incompatible Changes
- PyOTA now requires pip v9 or later.
- If you are unable to install the latest version of PyOTA, run
pip install --upgrade pip
first.
- If you are unable to install the latest version of PyOTA, run
- [#39] PyOTA now requires
requests
2.4.1 or later.- If you install PyOTA using pip, you do not need to do anything special; dependencies will be updated automatically when you run
pip install --upgrade pyota
. - If you install PyOTA by cloning the GitHub repo, you must re-run
pip install .
to install missing dependencies.
- If you install PyOTA using pip, you do not need to do anything special; dependencies will be updated automatically when you run
- [#61] PyOTA now uses the new Kerl and Curl-P-81 algorithms.
- This change introduces a dependency on the
pysha3
library. See previous bullet point for installation instructions. - These changes are coordinated with the Tangle snapshot created on 21 August, 2017.
- If your application maintains a local database of keys/addresses, you may need to regenerate them.
- More information:
- Thanks @alon-e for assistance with PyKerl implementation!
- This change introduces a dependency on the
- [#51] Removed address caches for security reasons.
- Reversed the behavior of the
head_to_tail
parameter inBundle.as_tryte_strings
.- Previously, setting
head_to_tail=True
would return transactions in reverse order (and mutatis mutandis), which is incorrect. Now it returns the transactions in the correct order.
- Previously, setting
Digest
now requires that its length be a multiple of 81 trytes.- Removed
iota
symlink at the top level of the package structure, renamedsrc
toiota
.- This only impacts developers who have cloned the repository; if you install PyOTA via pip, this will not affect you.
New Features
- [#10] Implemented multisig support.
- [#28] Added support for address security levels.
- [#67] Added support for attachment timestamps (thanks @normpad!).
- [#53] Reduced default
min_weight_magnitude
(thanks @johngrantuk!):- New mainnet value: 14
- New testnet value: 9
- [#18] Added
convert_value_to_standard_unit
(thanks @vynes!). - Installing via pip now automatically installs
iota-cli
app into env path.- This replaces
examples/repl.py
.
- This replaces
- Added support for PyOTA-CCurl extension.
This is an optional C extension that improves the performance of Curl-P-81 significantly (speedups of 60x are common).- Thanks @elk for making the extension compatible with Python 2!
Enhancements and Bugfixes
TryteString
(and subclasses) now support creating new instances from unicode values. It is no longer necessary to convert values into byte strings first.- [#44]
Seed.random
now generates 81-tryte seeds by default.- Previously, it was generating 82-tryte seeds.
- [#42]
Transaction.from_tryte_string
now accepts optionalhash
argument (thanks @alon-e for reporting!). - [#41] Fixed error when invoking
help(api)
in the REPL script. Address.with_valid_checksum
now also copiesbalance
,key_index
andsecurity_level
.- [#47] Added example script showing proof-of-concept for integrating with JS MAM library.
- A Python implementation of MAM is coming; for now it is necessary to use the JS library.
- [#63] Fixed conflict when importing PyOTA in a Django project (thanks @labovich!).
- Improved PyCurl performance by ~7%.
- Split out the
transactions
module into its own package.- Existing imports should still work; please file an issue on the PyOTA Issue Tracker if you notice any broken imports.
- Made JSON representations of certain objects more comprehensive.
- Added IPython repr integrations.
- Improved documentation, fixed a few minor issues.
- Fixed incorrect behavior of
examples/address_generator.py
(thanks @ivoscc!). - Fixed node URI in
examples/sandbox.py
. - [#34] Added example script demonstrating how to route PoW to local node (thanks @johngrantuk)!.
- [#31] Added example script demonstrating how to send IOTAs to an address (thanks @johngrantuk!).
- PyOTA now ships universal wheels.
- Travis CI now only deploys tagged releases to PyPI.
- After v2.0.0,
master
will only contain the latest production release of PyOTA.
- After v2.0.0,
- Added contributor guide.
- Removed unnecessary dependencies from Python 3 installs. If you use Python 3, you may uninstall the following libraries:
mock
typing
Huge thanks to @normpad and @alon-e for helping test the v2.0.0 beta and making sure it is stable for production release!
Additional thanks to the following individuals for contributing code and identifying issues during the development of PyOTA v2:
Signature/Checksums
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# PyOTA v2.0.0
**⚠️ This release contains several changes that are not backwards compatible with the previous version. Please review the Backwards-Incompatible Changes before upgrading! ⚠️**
## Backwards-Incompatible Changes
* PyOTA now requires pip v9 or later.
* **If you are unable to install the latest version of PyOTA, run `pip install --upgrade pip` first.**
* [#39] PyOTA now requires `requests` 2.4.1 or later.
* **If you install PyOTA using pip, you do not need to do anything special; dependencies will be updated automatically when you run `pip install --upgrade pyota`.**
* **If you install PyOTA by cloning the GitHub repo, you must re-run `pip install .` to install missing dependencies.**
* [#61] PyOTA now uses the new Kerl and Curl-P-81 algorithms.
* **This change introduces a dependency on the `pysha3` library. See previous bullet point for installation instructions.**
* These changes are coordinated with the Tangle snapshot created on 21 August, 2017.
* **If your application maintains a local database of keys/addresses, you may need to regenerate them.**
* More information:
* https://forum.iota.org/t/snapshot-public-validation-22-09-2017/4256
* Thanks @alon-e for assistance with PyKerl implementation!
* [#51] Removed address caches for security reasons.
* Reversed the behavior of the `head_to_tail` parameter in `Bundle.as_tryte_strings`.
* Previously, setting `head_to_tail=True` would return transactions in reverse order (and mutatis mutandis), which is incorrect. Now it returns the transactions in the correct order.
* `Digest` now requires that its length be a multiple of 81 trytes.
* Removed `iota` symlink at the top level of the package structure, renamed `src` to `iota`.
* This only impacts developers who have cloned the repository; if you install PyOTA via pip, this will not affect you.
## New Features
* [#10] Implemented multisig support.
* [#28] Added support for address security levels.
* [#67] Added support for attachment timestamps (thanks @normpad!).
* [#53] Reduced default `min_weight_magnitude` (thanks @johngrantuk!):
* New mainnet value: 14
* New testnet value: 9
* [#18] Added `convert_value_to_standard_unit` (thanks @vynes!).
* Installing via pip now automatically installs `iota-cli` app into env path.
* This replaces `examples/repl.py`.
* Added support for [PyOTA-CCurl extension](https://pypi.python.org/pypi/PyOTA-CCurl).
This is an optional C extension that improves the performance of Curl-P-81 significantly (speedups of 60x are common).
* Thanks @elk for making the extension compatible with Python 2!
## Enhancements and Bugfixes
* `TryteString` (and subclasses) now support creating new instances from unicode values. It is no longer necessary to convert values into byte strings first.
* [#44] `Seed.random` now generates 81-tryte seeds by default.
* Previously, it was generating 82-tryte seeds.
* [#42] `Transaction.from_tryte_string` now accepts optional `hash` argument (thanks @alon-e for reporting!).
* [#41] Fixed error when invoking `help(api)` in the REPL script.
* `Address.with_valid_checksum` now also copies `balance`, `key_index` and `security_level`.
* [#47] Added example script showing proof-of-concept for integrating with JS MAM library.
* A Python implementation of MAM is coming; for now it is necessary to use the JS library.
* [#63] Fixed conflict when importing PyOTA in a Django project (thanks @labovich!).
* Improved PyCurl performance by ~7%.
* Split out the `transactions` module into its own package.
* Existing imports should still work; please file an issue on the [PyOTA Issue Tracker](https://github.com/iotaledger/iota.lib.py/issues/) if you notice any broken imports.
* Made JSON representations of certain objects more comprehensive.
* Added IPython repr integrations.
* Improved documentation, fixed a few minor issues.
* Fixed incorrect behavior of `examples/address_generator.py` (thanks @ivoscc!).
* Fixed node URI in `examples/sandbox.py`.
* [#34] Added example script demonstrating how to route PoW to local node (thanks @johngrantuk)!.
* [#31] Added example script demonstrating how to send IOTAs to an address (thanks @johngrantuk!).
* PyOTA now ships universal wheels.
* Travis CI now only deploys tagged releases to PyPI.
* After v2.0.0, `master` will only contain the latest production release of PyOTA.
* Added contributor guide.
* Removed unnecessary dependencies from Python 3 installs. If you use Python 3, you may uninstall the following libraries:
* `mock`
* `typing`
Huge thanks to @normpad and @alon-e for helping test the v2.0.0 beta and making sure it is stable for production release!
Additional thanks to the following individuals for contributing code and identifying issues during the deve...
PyOTA v2.0.0b3
PyOTA v2.0.0-beta3
Release Notes (since v2.0.0b2)
If you are upgrading from PyOTA v1.1.3, please also review the release notes for v1.2.0-beta1, v2.0.0-beta1 and v2.0.0-beta2.
Bugfixes
- Travis CI now publishes wheels to PyPI.
Signature/Checksums
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# PyOTA v2.0.0-beta3
**⚠️ This is pre-release software! Do not use in production contexts! ⚠️**
## Release Notes (since v2.0.0b2)
**If you are upgrading from PyOTA v1.1.3, please also review the release notes for [v1.2.0-beta1](https://github.com/iotaledger/iota.lib.py/releases/tag/1.2.0b1), [v2.0.0-beta1](https://github.com/iotaledger/iota.lib.py/releases/tag/2.0.0b1) and [v2.0.0-beta2](https://github.com/iotaledger/iota.lib.py/releases/tag/2.0.0b1).**
### Bugfixes
* Travis CI now publishes wheels to PyPI.
# Binary Distribution Checksums
* PyOTA-2.0.0b3-py2.py3-none-any.whl
* sha256: c3ef09fe522239514255e55283e2e6e965223f8e6d6b5fd171850a702ae43f1b
* md5: 1475b0426d67894b3aaeb7050f2525c6
* PyOTA-2.0.0b3.tar.gz
* sha256: 83b6bceb6d11aeb733dcc3b295aab8c97ce82b39760e6ef3615debaea0d87842
* md5: db7c253f9b43abc6e1f38f0740a80d61
-----BEGIN PGP SIGNATURE-----
iQIcBAEBCAAGBQJZx1iPAAoJEIyGP45e1NNDuOgP/38j9G/hPaliEH5XrTBVNGj7
t2kHrnXxtFgy2eyOTFIny8axn4sDXsix+9N7FzVB8pp+lyn0LGurwDAfYdyUtJtf
lOiudjAWjJAtMFIKaNoHqysLysqpgo5RBc7b9+qXJSMAbLRE+37UiIdra00sps2w
TccboDuSosIBNzfXXu1x6jP5AY42Dm4ua3uhs9WYtrq8qZDBpHkczCfB/YEonTUI
Kd7bRUD4Ef9Y4iPMGenL2bs8C1cBhqAk6dL4wRKz2OLAA717s+kGAFavxC02Bcn6
qsB2suFkffbZnv6djg1Je/PYrY9xSDg7LEYeRGvIQqJVhgQ8DjQlgycBmMMIJK2A
7GBsU85ru4xo7uBhBn+XKyn382Bw6LJg86eQrxnEJr4P72zYRccjsRESI8oPpbRk
EAwJxnGBgEqGtN8z8Na0gDbECZsDhRs7zYv0dTuQ8a4ssuZP2O1zcRw9jO0onlBH
IyAdze5d6EC9FQ545ff3NiaOWVWYh6yqGgC/xmljhFkQyWjTsoJQs7T5LASP/pnq
dJcBGYojsvK7KokUPmfAfEXrt0Msyusyv/PmHquXePTbPZI8JfmMrn00SvrcKDPr
17l/v+UsSlU/bLAEezZj6w/yQuYUSfefnY5QKEp148OGmr06ZI4Yu3YkLqBipSCc
2VCoTzxu2hGPtBCfgvKC
=A9W5
-----END PGP SIGNATURE-----
PyOTA v2.0.0b2
PyOTA v2.0.0b2
Release Notes (since v2.0.0b1)
If you are upgrading from PyOTA v1.1.3, please also review the release notes for v1.2.0-beta1 and v2.0.0-beta1.
Bugfixes
- Added missing support files to source distributions.
- Fix an issue preventing Travis CI from publishing binary distros to PyPI.
- Travis CI now only deploys tagged releases to PyPI.
- After v2.0.0,
master
will only contain the latest production release of PyOTA.
- After v2.0.0,
Signature/Checksums
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# PyOTA v2.0.0b2
**⚠️ This is pre-release software! Do not use in production contexts! ⚠️**
## Release Notes (since v2.0.0b1)
**If you are upgrading from PyOTA v1.1.3, please also review the release notes for [v1.2.0-beta1](https://github.com/iotaledger/iota.lib.py/releases/tag/1.2.0b1) and [v2.0.0-beta1](https://github.com/iotaledger/iota.lib.py/releases/tag/2.0.0b1).**
### Bugfixes
* Added missing support files to source distributions.
* Fix an issue preventing Travis CI from publishing binary distros to PyPI.
* Travis CI now only deploys tagged releases to PyPI.
* After v2.0.0, `master` will only contain the latest production release of PyOTA.
# Binary Distribution Checksums
* PyOTA-2.0.0b2-py2.py3-none-any.whl
* sha256: 2726bfef88a137c8ec845820baa334fcda4b01257de8234d6e69e21d07ec6446
* md5: f3381187ac6745fd6d582b7610ee0b48
* PyOTA-2.0.0b2.tar.gz
* sha256: 10e48899410b1df7084bb9d80055bf1d52777672ee37f0fdfa961276a4e600d1
* md5: f3bbfe56ff5bc84c3f86a11e24f4b7be
-----BEGIN PGP SIGNATURE-----
iQIcBAEBCAAGBQJZx1UqAAoJEIyGP45e1NND09QP/jwIf53zvlarrp850FzeQeYw
38+M8msmY4Q0qfJGFd/qlh7K8b8mecvHM5dyI4MUZhqwRziWaAvKxVBNRYmtzvWc
jz50Is9GPnKTamVNj9IUd3D0ofTK8dBuvaXcEbDeN45QxIiwhBQX9s75U4G/oKVF
9kZGyu/zB8a+cBb509BS8lePQn40K1AVJNdwO8Y2InInbiagESzvWC7DOqu7t7/i
K2kDFOngAf8C/ahxdtZ6x59GfNHs/iR9NIhogX5X97O9AdeUUGzNWoC3u/FqWZcD
QitH0xSfiqh0Q034KLqlh31xysL62m3x+TEiajAHhhrgcVLqaPPTlNdZo1+xUKBl
i/VZtIomaXA2iQ8n1oIKgdJPGAl8t2PRfwz0UGU6wkroMdl59kRZIRwkXnxKdziZ
VM/9xtvPFVGK7z/cg20C5C4rJcMoCH4R/gozmvAS1bYHi3XDmYhuFT0bJ5OMFKj9
wJ0NfFg25NxTdCNfp3/E4psapcO45WXI74KzpZ60ZH6RMbcD1LgI5aExZGogMDIY
BosCDRdZ5sWcvrS6MJ0SsE7DZ7r8iLGwVwOjc5kVAETpu5RHgurPAz8Q6qdMZ+Xj
PgGiFX3+ti1hqw6VnQfVa4NdDYRcaKG3bnLMbaVEesCTm8tcKSbwzqNsar52B3uW
IljJFIPv8HPDXzZWKL+n
=auwq
-----END PGP SIGNATURE-----
PyOTA v2.0.0b1
PyOTA v2.0.0-beta1
Release Notes (since v1.2.0b1)
If you are upgrading from PyOTA v1.1.3, please also review the release notes for v1.2.0-beta1.
Backwards-Incompatible Changes
- PyOTA now requires pip v9 or later.
- If you are unable to install the latest version of PyOTA, run
pip install --upgrade pip
first.
- If you are unable to install the latest version of PyOTA, run
- PyOTA now depends on the
pysha3
library.- If you install PyOTA using pip, you do not need to do anything special.
- If you install PyOTA by cloning the GitHub repo, you must re-run
pip install .
to install missing dependencies.
- [#61] PyOTA now uses the new Kerl and Curl-P-81 algorithms.
- These changes are coordinated with the Tangle snapshot created on 21 August, 2017.
- If your application maintains a local database of keys/addresses, you may need to regenerate them.
- More information:
- Thanks @alon-e for assistance with PyKerl implementation!
New Features
- [#53] Reduced default
min_weight_magnitude
(thanks @johngrantuk!):- New mainnet value: 14
- New testnet value: 9
- Removed unnecessary dependencies from Python 3 installs.
- If you use Python 3, you may uninstall the following libraries:
mock
typing
- If you use Python 3, you may uninstall the following libraries:
Bugfixes
Misc
- [#34] Added example script demonstrating how to route PoW to local node (thanks @johngrantuk)!.
- [#31] Added example script demonstrating how to send IOTAs to an address (thanks @johngrantuk!).
- PyOTA now ships separate wheels for Python 2 and Python 3.
- Fixed incorrect PEP-484 type hints.
- Improved docstrings and comments.
Signature/Checksums
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# PyOTA v2.0.0-beta1
**⚠️ This is pre-release software! Do not use in production contexts! ⚠️**
**⚠️ This release contains several changes that are not backwards compatible with PyOTA v1.x. Please review the Backwards-Incompatible Changes before upgrading! ⚠️**
## Release Notes (since v1.2.0b1)
**If you are upgrading from PyOTA v1.1.3, please also review the [release notes for v1.2.0-beta1](https://github.com/iotaledger/iota.lib.py/releases/tag/1.2.0b1).**
### Backwards-Incompatible Changes
* PyOTA now requires pip v9 or later.
* **If you are unable to install the latest version of PyOTA, run `pip install --upgrade pip` first.**
* PyOTA now depends on the `pysha3` library.
* **If you install PyOTA using pip, you do not need to do anything special.**
* **If you install PyOTA by cloning the GitHub repo, you must re-run `pip install .` to install missing dependencies.**
* [#61] PyOTA now uses the new Kerl and Curl-P-81 algorithms.
* These changes are coordinated with the Tangle snapshot created on 21 August, 2017.
* **If your application maintains a local database of keys/addresses, you may need to regenerate them.**
* More information:
* https://forum.iota.org/t/snapshot-public-validation-22-09-2017/4256
* Thanks @alon-e for assistance with PyKerl implementation!
### New Features
* [#53] Reduced default `min_weight_magnitude` (thanks @johngrantuk!):
* New mainnet value: 14
* New testnet value: 9
* Removed unnecessary dependencies from Python 3 installs.
* If you use Python 3, you may uninstall the following libraries:
* `mock`
* `typing`
### Bugfixes
* [#63] Fixed conflict when importing PyOTA in a Django project (thanks @labovich!).
## Misc
* [#34] Added example script demonstrating how to route PoW to local node (thanks @johngrantuk)!.
* [#31] Added example script demonstrating how to send IOTAs to an address (thanks @johngrantuk!).
* PyOTA now ships universal wheels.
* Fixed incorrect PEP-484 type hints.
* Improved docstrings and comments.
# Binary Distribution Checksums
* PyOTA-2.0.0b1-py2.py3-none-any.whl
* sha256: 31683a7c95abf553992b16cfee07f6e6e0808860aa01e7d9e0fe5e102cb5e419
* md5: 508cbc06213aadc335776ddf2e4b0776
* PyOTA-2.0.0b1.tar.gz
* sha256: 0ccf5af9c502d5286d1ecca04a7468232a0ec6fb04adab5099d998018e1592b2
* md5: c7067e5193a338091dca1a3fea734851
-----BEGIN PGP SIGNATURE-----
iQIcBAEBCAAGBQJZx1E3AAoJEIyGP45e1NNDG5sQAJXzJXsmySkTF9vvJDsK0X/m
lPCxIrjjc+MmSgI2/N+vmvFZpa3kOKTOqqBfd/dgwOWFaOyDrr4WrMujkoduHBpR
jqdMbqDrsurih5uQZ3LifOqQSBZSAIPBFn6zxR4ZHDEXcoJ3JPIPIH34Ts556SQS
U/B+aEmZuQ2C2eApkX84Z450W8PAulfbJDpZstr/mDzRCp7N3/EFXeESU1dU80Sp
i9Is9SDzskLsjEGMRDu2D9OyJgybFJajqKDUg2dvWXuDkJpnYGm8bygDKVdZn8PF
dTAH3JxV/JBps20a/UmGsi6InAmKef4jYW8j946ObDnYLjoRVP/v04VD3BdQED8R
SwUbB/9iX+3DDJjKXS68+MDN5gOSlWiP1h4b3uBkmySILJDHQN2UvmNJk7O5F5Zu
Y8Mp4wqRK+oeErVMS6M8dY6e6AOYcdVb4+7agE245m1szmAKvv90PzSCSMB2wrwr
T1Vr/0y7ri0kWexsQWCp2eWErX5Ftdx+2wptp9GWmoK7NDtcN1tRyvzAU6I/MCBx
F6i6NqLqOYZlfL/krebnx+QttTjW2pJPIDtQgZm++ECzhNoDyDICy+jKPuW9SDgy
hIjyenOdTTahOU5q1CGxNVqJcEp3bw3sBxJwhhnfc2Du2Tc60Yo8dx8tFpegYCi3
Jq0SdAigTJpEFGLFOkZY
=aJCi
-----END PGP SIGNATURE-----
1.2.0b1
PyOTA v1.2.0-beta1
Backwards-Incompatible Changes
- [#51] Removed address caches.
- [#39] PyOTA now requires
requests
2.4.1 or later. - Reversed the behavior of the
head_to_tail
parameter inBundle.as_tryte_strings
.- Previously, setting
head_to_tail=True
would return transactions in reverse order (and mutatis mutandis), which is incorrect. Now it returns the transactions in the correct order.
- Previously, setting
Digest
now requires that its length be a multiple of 81 trytes.- Removed
iota
symlink at the top level of the package structure, renamedsrc
toiota
.- This only impacts developers who have cloned the repository; if you install PyOTA via pip, this will not affect you.
New Features
- [#10] Implemented multisig support.
- [#28] Added support for address security levels.
- [#18] Added
convert_value_to_standard_unit
(thanks @vynes!). - Installing via pip now automatically installs
iota-cli
app into env path.- This replaces
examples/repl.py
.
- This replaces
- Added support for
pyota-ccurl
extension (Python 3 only, for the moment).
Enhancements and Bugfixes
TryteString
(and subclasses) now support creating new instances from unicode values.- It is no longer necessary to convert values into byte strings first.
- [#44]
Seed.random
now generates 81-tryte seeds by default.- Previously, it was generating 82-tryte seeds.
- [#42]
Transaction.from_tryte_string
now accepts optionalhash
argument (thanks @alon-e for reporting!). - [#41] Fixed error when invoking
help(api)
in the REPL script. Address.with_valid_checksum
now also copiesbalance
,key_index
andsecurity_level
.- No longer installs unnecessary dependencies on Python 3.
- If you are using Python 3, you may uninstall the
typing
andmock
libraries.
- If you are using Python 3, you may uninstall the
- [#47] Added example script showing proof-of-concept for integrating with JS MAM library.
- A Python implementation of MAM is coming; for now it is necessary to use the JS library.
- Improved PyCurl performance by ~7%.
- Split out the
transactions
module into its own package.- Existing imports should still work; please file an issue on the PyOTA Issue Tracker if you notice any broken imports.
- Made JSON representations of certain objects more comprehensive.
- Added IPython repr integrations.
- Improved documentation, fixed a few minor issues.
- Fixed incorrect behavior of
examples/address_generator.py
(thanks @ivoscc!). - Fixed node URI in
examples/sandbox.py
. - Added contributor guide.
Signature/Checksums
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
# PyOTA v1.2.0-beta1
**⚠️ This is pre-release software! Do not use in production contexts! ⚠️**
**⚠️ This release contains several changes that are not backwards compatible with the previous version. Please review the Backwards-Incompatible Changes before upgrading! ⚠️**
## Backwards-Incompatible Changes
* [#51] Removed address caches.
* [#39] PyOTA now requires `requests` 2.4.1 or later.
* Reversed the behavior of the `head_to_tail` parameter in `Bundle.as_tryte_strings`.
* Previously, setting `head_to_tail=True` would return transactions in reverse order (and mutatis mutandis), which is incorrect. Now it returns the transactions in the correct order.
* `Digest` now requires that its length be a multiple of 81 trytes.
* Removed `iota` symlink at the top level of the package structure, renamed `src` to `iota`.
* This only impacts developers who have cloned the repository; if you install PyOTA via pip, this will not affect you.
## New Features
* [#10] Implemented multisig support.
* [#28] Added support for address security levels.
* [#18] Added `convert_value_to_standard_unit` (thanks @vynes!).
* Installing via pip now automatically installs `iota-cli` app into env path.
* This replaces `examples/repl.py`.
* Added support for `pyota-ccurl` extension (Python 3 only, for the moment).
## Enhancements and Bugfixes
* `TryteString` (and subclasses) now support creating new instances from unicode values.
* It is no longer necessary to convert values into byte strings first.
* [#44] `Seed.random` now generates 81-tryte seeds by default.
* Previously, it was generating 82-tryte seeds.
* [#42] `Transaction.from_tryte_string` now accepts optional `hash` argument (thanks @alon-e for reporting!).
* [#41] Fixed error when invoking `help(api)` in the REPL script.
* `Address.with_valid_checksum` now also copies `balance`, `key_index` and `security_level`.
* No longer installs unnecessary dependencies on Python 3.
* If you are using Python 3, you may uninstall the `typing` and `mock` libraries.
* [#47] Added example script showing proof-of-concept for integrating with JS MAM library.
* A Python implementation of MAM is coming; for now it is necessary to use the JS library.
* Improved PyCurl performance by ~7%.
* Split out the `transactions` module into its own package.
* Existing imports should still work; please file an issue on the [PyOTA Issue Tracker](https://github.com/iotaledger/iota.lib.py/issues/) if you notice any broken imports.
* Made JSON representations of certain objects more comprehensive.
* Added IPython repr integrations.
* Improved documentation, fixed a few minor issues.
* Fixed incorrect behavior of `examples/address_generator.py` (thanks @ivoscc!).
* Fixed node URI in `examples/sandbox.py`.
* Added contributor guide.
# Binary Distribution Checksums
* PyOTA-1.2.0b1-py2-none-any.whl
* sha256: 233a89612552dbb834582b001d491a61fe6573b149e50913cd40285b5145d224
* md5: 3f2920b3af10523d84a84ae1e5347297
* PyOTA-1.2.0b1-py3-none-any.whl
* sha256: 1b0e0678bdcf804b513e3655f4f632c0123e5bc3dd4d95e18faf52ab71916aa1
* md5: 254538835ace1f31f22fdd580217b76e
* PyOTA-1.2.0b1.tar.gz
* sha256: e21c1f4ba03a7d1a2c458990b58d3a796f5bc22315e8d6338ff1879c38c92327
* md5: f1543aa86a42e205f2dfa72100f585de
-----BEGIN PGP SIGNATURE-----
iQIcBAEBCAAGBQJZasB4AAoJEIyGP45e1NNDu1YP/0K3XlqlYMlHCiQjBahdJ1es
LQDKveNBni3rQHjk7QwNv+kUHmeU5aFJjlE+AR8PgmPo2ax8OFdvgwD7VrV0f2uP
Eqan067kT6dkcVeGfZo3n4St4R2PoDRhxXeUTKGCIule3Kq337WuF4m65QaTK8pV
PXn0ytuQZzOBIcqaikU40m1KmuSWzKba9Rm8mK4Cf9C1s+Wfe9+TSIbpr3/SSLJz
YwP5wJkWMI+dv/CmXO3VEpeqHiuFAoAT7KdjhJ4XwmEAA1ZtjrUa5F4aauhTLhm9
GoP744Ti4GgThP9DstyXG/EPEm+I1HG5fGXsWUPmlUCRaH/jZZHMX0hJFJcpdl5K
6qYggLEJ+6EA7oSFrJ/GEEIbBmS5pCckxT9B8vCddzrt1Oq4ydHdioXtmb9XtqUv
9g/sPkf1ejxF1EZWDPnOi89DsjW8p2RuNshaEWUCO8faziX9dwwGzEY88ffyNvPb
/pK8fh44YWZDV55mnEGNfz9uBVYl2Ui2NtUffRyo+1AVMrsRwOoH9BtUVAPjKCKA
pR8x3KcbR2WLRakK1EHIMB6LJHdEzKaZ8RcjFspEEJntzW0cYzcfwMsDtkOQTSu5
heFnHPrydxW3xl9yOwVKqeGXMqRT888J3ns7wh0uL478xnPpRdKjxlcwlcGCQuOX
kWLwFEp2IRUM4tjkb0s8
=YgJ7
-----END PGP SIGNATURE-----