hive-nectar 0.0.11__tar.gz → 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of hive-nectar might be problematic. Click here for more details.

Files changed (375) hide show
  1. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/.gitignore +1 -0
  2. hive_nectar-0.1.0/.pre-commit-config.yaml +15 -0
  3. hive_nectar-0.1.0/.readthedocs.yaml +20 -0
  4. hive_nectar-0.1.0/CHANGELOG.md +80 -0
  5. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/Makefile +8 -3
  6. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/PKG-INFO +10 -11
  7. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/README.md +5 -6
  8. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/_static/nectar-logo.svg +1 -1
  9. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/apidefinitions.rst +35 -35
  10. hive_nectar-0.1.0/docs/changelog.rst +165 -0
  11. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/cli.rst +14 -16
  12. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/conf.py +11 -10
  13. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/configuration.rst +25 -26
  14. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/index.rst +11 -10
  15. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/installation.rst +1 -1
  16. hive_nectar-0.1.0/docs/modules.rst +12 -0
  17. hive_nectar-0.1.0/docs/nectar.account.rst +7 -0
  18. hive_nectar-0.1.0/docs/nectar.amount.rst +7 -0
  19. hive_nectar-0.1.0/docs/nectar.asciichart.rst +7 -0
  20. hive_nectar-0.1.0/docs/nectar.asset.rst +7 -0
  21. hive_nectar-0.1.0/docs/nectar.block.rst +7 -0
  22. hive_nectar-0.1.0/docs/nectar.blockchain.rst +7 -0
  23. hive_nectar-0.1.0/docs/nectar.blockchaininstance.rst +7 -0
  24. hive_nectar-0.1.0/docs/nectar.blockchainobject.rst +7 -0
  25. hive_nectar-0.1.0/docs/nectar.cli.rst +7 -0
  26. hive_nectar-0.1.0/docs/nectar.comment.rst +7 -0
  27. hive_nectar-0.1.0/docs/nectar.community.rst +7 -0
  28. hive_nectar-0.1.0/docs/nectar.constants.rst +7 -0
  29. hive_nectar-0.1.0/docs/nectar.discussions.rst +7 -0
  30. hive_nectar-0.1.0/docs/nectar.exceptions.rst +7 -0
  31. hive_nectar-0.1.0/docs/nectar.hive.rst +7 -0
  32. hive_nectar-0.1.0/docs/nectar.hivesigner.rst +7 -0
  33. hive_nectar-0.1.0/docs/nectar.imageuploader.rst +7 -0
  34. hive_nectar-0.1.0/docs/nectar.instance.rst +7 -0
  35. hive_nectar-0.1.0/docs/nectar.market.rst +7 -0
  36. hive_nectar-0.1.0/docs/nectar.memo.rst +7 -0
  37. hive_nectar-0.1.0/docs/nectar.message.rst +7 -0
  38. hive_nectar-0.1.0/docs/nectar.nodelist.rst +7 -0
  39. hive_nectar-0.1.0/docs/nectar.price.rst +7 -0
  40. hive_nectar-0.1.0/docs/nectar.profile.rst +7 -0
  41. hive_nectar-0.1.0/docs/nectar.rc.rst +7 -0
  42. hive_nectar-0.1.0/docs/nectar.rst +50 -0
  43. hive_nectar-0.1.0/docs/nectar.snapshot.rst +7 -0
  44. hive_nectar-0.1.0/docs/nectar.storage.rst +7 -0
  45. hive_nectar-0.1.0/docs/nectar.transactionbuilder.rst +7 -0
  46. hive_nectar-0.1.0/docs/nectar.utils.rst +7 -0
  47. hive_nectar-0.1.0/docs/nectar.version.rst +7 -0
  48. hive_nectar-0.1.0/docs/nectar.vote.rst +7 -0
  49. hive_nectar-0.1.0/docs/nectar.wallet.rst +7 -0
  50. hive_nectar-0.1.0/docs/nectar.witness.rst +7 -0
  51. hive_nectar-0.1.0/docs/nectarapi.exceptions.rst +7 -0
  52. hive_nectar-0.1.0/docs/nectarapi.graphenerpc.rst +7 -0
  53. hive_nectar-0.1.0/docs/nectarapi.node.rst +7 -0
  54. hive_nectar-0.1.0/docs/nectarapi.noderpc.rst +7 -0
  55. hive_nectar-0.1.0/docs/nectarapi.rpcutils.rst +7 -0
  56. hive_nectar-0.1.0/docs/nectarapi.rst +23 -0
  57. hive_nectar-0.1.0/docs/nectarapi.version.rst +7 -0
  58. hive_nectar-0.1.0/docs/nectarbase.ledgertransactions.rst +7 -0
  59. hive_nectar-0.1.0/docs/nectarbase.memo.rst +7 -0
  60. hive_nectar-0.1.0/docs/nectarbase.objects.rst +7 -0
  61. hive_nectar-0.1.0/docs/nectarbase.objecttypes.rst +7 -0
  62. hive_nectar-0.1.0/docs/nectarbase.operationids.rst +7 -0
  63. hive_nectar-0.1.0/docs/nectarbase.operations.rst +7 -0
  64. hive_nectar-0.1.0/docs/nectarbase.rst +26 -0
  65. hive_nectar-0.1.0/docs/nectarbase.signedtransactions.rst +7 -0
  66. hive_nectar-0.1.0/docs/nectarbase.transactions.rst +7 -0
  67. hive_nectar-0.1.0/docs/nectarbase.version.rst +7 -0
  68. hive_nectar-0.1.0/docs/nectargrapheneapi.rst +10 -0
  69. hive_nectar-0.1.0/docs/nectargraphenebase.account.rst +7 -0
  70. hive_nectar-0.1.0/docs/nectargraphenebase.aes.rst +7 -0
  71. hive_nectar-0.1.0/docs/nectargraphenebase.base58.rst +7 -0
  72. hive_nectar-0.1.0/docs/nectargraphenebase.bip32.rst +7 -0
  73. hive_nectar-0.1.0/docs/nectargraphenebase.bip38.rst +7 -0
  74. hive_nectar-0.1.0/docs/nectargraphenebase.chains.rst +7 -0
  75. hive_nectar-0.1.0/docs/nectargraphenebase.dictionary.rst +7 -0
  76. hive_nectar-0.1.0/docs/nectargraphenebase.ecdsasig.rst +7 -0
  77. hive_nectar-0.1.0/docs/nectargraphenebase.objects.rst +7 -0
  78. hive_nectar-0.1.0/docs/nectargraphenebase.objecttypes.rst +7 -0
  79. hive_nectar-0.1.0/docs/nectargraphenebase.operationids.rst +7 -0
  80. hive_nectar-0.1.0/docs/nectargraphenebase.operations.rst +7 -0
  81. hive_nectar-0.1.0/docs/nectargraphenebase.prefix.rst +7 -0
  82. hive_nectar-0.1.0/docs/nectargraphenebase.rst +34 -0
  83. hive_nectar-0.1.0/docs/nectargraphenebase.signedtransactions.rst +7 -0
  84. hive_nectar-0.1.0/docs/nectargraphenebase.types.rst +7 -0
  85. hive_nectar-0.1.0/docs/nectargraphenebase.unsignedtransactions.rst +7 -0
  86. hive_nectar-0.1.0/docs/nectargraphenebase.version.rst +7 -0
  87. hive_nectar-0.1.0/docs/nectarstorage.base.rst +7 -0
  88. hive_nectar-0.1.0/docs/nectarstorage.exceptions.rst +7 -0
  89. hive_nectar-0.1.0/docs/nectarstorage.interfaces.rst +7 -0
  90. hive_nectar-0.1.0/docs/nectarstorage.masterpassword.rst +7 -0
  91. hive_nectar-0.1.0/docs/nectarstorage.ram.rst +7 -0
  92. hive_nectar-0.1.0/docs/nectarstorage.rst +23 -0
  93. hive_nectar-0.1.0/docs/nectarstorage.sqlite.rst +7 -0
  94. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/quickstart.rst +11 -11
  95. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/tutorials.rst +45 -45
  96. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/account_curation_per_week_and_1k_sp.py +5 -5
  97. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/account_sp_over_time.py +6 -6
  98. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/accout_reputation_by_SP.py +7 -7
  99. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/benchmark_nectar.py +9 -9
  100. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/benchmark_nodes.py +7 -7
  101. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/benchmark_nodes2.py +43 -18
  102. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/blockactivity.py +37 -22
  103. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/blockstats.py +38 -33
  104. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/cache_performance.py +19 -6
  105. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/check_followers.py +1 -1
  106. hive_nectar-0.1.0/examples/hf20_testnet.py +20 -0
  107. hive_nectar-0.1.0/examples/login_app/app.py +61 -0
  108. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/memory_profiler1.py +25 -5
  109. hive_nectar-0.1.0/examples/memory_profiler2.py +81 -0
  110. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/next_witness_block_coundown.py +8 -8
  111. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/op_on_testnet.py +18 -18
  112. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/post_to_html.py +1 -1
  113. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/print_appbase_calls.py +9 -9
  114. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/stream_threading_performance.py +22 -10
  115. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/using_custom_chain.py +7 -7
  116. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/using_steem_offline.py +6 -6
  117. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/watching_the_watchers.py +29 -1
  118. hive_nectar-0.1.0/pyproject.toml +133 -0
  119. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/__init__.py +1 -4
  120. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/account.py +791 -685
  121. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/amount.py +82 -21
  122. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/asset.py +1 -2
  123. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/block.py +34 -22
  124. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/blockchain.py +111 -143
  125. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/blockchaininstance.py +396 -247
  126. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/blockchainobject.py +33 -5
  127. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/cli.py +1058 -1349
  128. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/comment.py +313 -181
  129. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/community.py +39 -43
  130. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/constants.py +1 -14
  131. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/discussions.py +793 -139
  132. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/hive.py +137 -77
  133. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/hivesigner.py +106 -68
  134. hive_nectar-0.1.0/src/nectar/imageuploader.py +81 -0
  135. hive_nectar-0.1.0/src/nectar/instance.py +81 -0
  136. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/market.py +128 -264
  137. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/memo.py +40 -13
  138. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/message.py +23 -10
  139. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/nodelist.py +115 -81
  140. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/price.py +80 -61
  141. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/profile.py +6 -3
  142. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/rc.py +45 -25
  143. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/snapshot.py +285 -163
  144. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/storage.py +16 -5
  145. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/transactionbuilder.py +132 -41
  146. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/utils.py +37 -17
  147. {hive_nectar-0.0.11/src/nectargraphenebase → hive_nectar-0.1.0/src/nectar}/version.py +1 -1
  148. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/vote.py +171 -30
  149. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/wallet.py +26 -19
  150. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/witness.py +153 -54
  151. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarapi/graphenerpc.py +147 -133
  152. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarapi/noderpc.py +12 -6
  153. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarapi/rpcutils.py +12 -6
  154. {hive_nectar-0.0.11/src/nectar → hive_nectar-0.1.0/src/nectarapi}/version.py +1 -1
  155. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarbase/ledgertransactions.py +24 -1
  156. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarbase/objects.py +17 -6
  157. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarbase/operations.py +160 -90
  158. hive_nectar-0.1.0/src/nectarbase/signedtransactions.py +84 -0
  159. {hive_nectar-0.0.11/src/nectarapi → hive_nectar-0.1.0/src/nectarbase}/version.py +1 -1
  160. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/account.py +295 -17
  161. hive_nectar-0.1.0/src/nectargraphenebase/chains.py +14 -0
  162. hive_nectar-0.1.0/src/nectargraphenebase/ecdsasig.py +297 -0
  163. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/types.py +18 -4
  164. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/unsignedtransactions.py +1 -1
  165. {hive_nectar-0.0.11/src/nectarbase → hive_nectar-0.1.0/src/nectargraphenebase}/version.py +1 -1
  166. hive_nectar-0.1.0/tests/debug_ec.py +113 -0
  167. hive_nectar-0.1.0/tests/nectar/nodes.py +19 -0
  168. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_account.py +46 -35
  169. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_amount.py +46 -17
  170. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_asset.py +27 -18
  171. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_base_objects.py +11 -4
  172. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_block.py +20 -15
  173. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_blockchain.py +7 -2
  174. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_blockchain_batch.py +30 -7
  175. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_blockchain_threading.py +18 -8
  176. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_cli.py +42 -21
  177. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_comment.py +2 -2
  178. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_connection.py +11 -7
  179. hive_nectar-0.1.0/tests/nectar/test_constants.py +78 -0
  180. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_discussions.py +29 -17
  181. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_hive.py +22 -23
  182. hive_nectar-0.1.0/tests/nectar/test_hivesigner.py +98 -0
  183. hive_nectar-0.1.0/tests/nectar/test_instance.py +347 -0
  184. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_market.py +36 -45
  185. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_memo.py +2 -2
  186. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_message.py +2 -2
  187. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_nodelist.py +3 -11
  188. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_price.py +4 -4
  189. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_storage.py +16 -16
  190. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_testnet.py +129 -129
  191. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_txbuffers.py +11 -11
  192. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_utils.py +15 -6
  193. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_wallet.py +23 -23
  194. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_witness.py +24 -24
  195. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarapi/test_noderpc.py +21 -19
  196. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarapi/test_rpcutils.py +2 -4
  197. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarbase/test_ledgertransactions.py +9 -3
  198. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarbase/test_memo.py +2 -2
  199. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarbase/test_transactions.py +20 -16
  200. hive_nectar-0.1.0/tests/test_add_basic.py +33 -0
  201. hive_nectar-0.1.0/tests/test_ec_basic.py +62 -0
  202. hive_nectar-0.1.0/tests/test_hivesigner_integration.py +154 -0
  203. hive_nectar-0.1.0/tests/test_tweak_add.py +143 -0
  204. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/uv.lock +172 -14
  205. hive_nectar-0.0.11/CHANGELOG.md +0 -46
  206. hive_nectar-0.0.11/docs/modules.rst +0 -93
  207. hive_nectar-0.0.11/docs/nectar.account.rst +0 -7
  208. hive_nectar-0.0.11/docs/nectar.amount.rst +0 -7
  209. hive_nectar-0.0.11/docs/nectar.asciichart.rst +0 -7
  210. hive_nectar-0.0.11/docs/nectar.asset.rst +0 -7
  211. hive_nectar-0.0.11/docs/nectar.block.rst +0 -7
  212. hive_nectar-0.0.11/docs/nectar.blockchain.rst +0 -7
  213. hive_nectar-0.0.11/docs/nectar.blockchaininstance.rst +0 -7
  214. hive_nectar-0.0.11/docs/nectar.blockchainobject.rst +0 -7
  215. hive_nectar-0.0.11/docs/nectar.comment.rst +0 -7
  216. hive_nectar-0.0.11/docs/nectar.community.rst +0 -7
  217. hive_nectar-0.0.11/docs/nectar.conveyor.rst +0 -7
  218. hive_nectar-0.0.11/docs/nectar.discussions.rst +0 -7
  219. hive_nectar-0.0.11/docs/nectar.exceptions.rst +0 -7
  220. hive_nectar-0.0.11/docs/nectar.hive.rst +0 -7
  221. hive_nectar-0.0.11/docs/nectar.hivesigner.rst +0 -7
  222. hive_nectar-0.0.11/docs/nectar.imageuploader.rst +0 -7
  223. hive_nectar-0.0.11/docs/nectar.instance.rst +0 -7
  224. hive_nectar-0.0.11/docs/nectar.market.rst +0 -7
  225. hive_nectar-0.0.11/docs/nectar.memo.rst +0 -7
  226. hive_nectar-0.0.11/docs/nectar.message.rst +0 -7
  227. hive_nectar-0.0.11/docs/nectar.nodelist.rst +0 -7
  228. hive_nectar-0.0.11/docs/nectar.price.rst +0 -7
  229. hive_nectar-0.0.11/docs/nectar.rc.rst +0 -7
  230. hive_nectar-0.0.11/docs/nectar.snapshot.rst +0 -7
  231. hive_nectar-0.0.11/docs/nectar.steem.rst +0 -7
  232. hive_nectar-0.0.11/docs/nectar.storage.rst +0 -7
  233. hive_nectar-0.0.11/docs/nectar.transactionbuilder.rst +0 -7
  234. hive_nectar-0.0.11/docs/nectar.utils.rst +0 -7
  235. hive_nectar-0.0.11/docs/nectar.vote.rst +0 -7
  236. hive_nectar-0.0.11/docs/nectar.wallet.rst +0 -7
  237. hive_nectar-0.0.11/docs/nectar.witness.rst +0 -8
  238. hive_nectar-0.0.11/docs/nectarapi.exceptions.rst +0 -7
  239. hive_nectar-0.0.11/docs/nectarapi.graphenenerpc.rst +0 -15
  240. hive_nectar-0.0.11/docs/nectarapi.node.rst +0 -7
  241. hive_nectar-0.0.11/docs/nectarapi.noderpc.rst +0 -7
  242. hive_nectar-0.0.11/docs/nectarbase.ledgertransactions.rst +0 -7
  243. hive_nectar-0.0.11/docs/nectarbase.memo.rst +0 -7
  244. hive_nectar-0.0.11/docs/nectarbase.objects.rst +0 -7
  245. hive_nectar-0.0.11/docs/nectarbase.objecttypes.rst +0 -7
  246. hive_nectar-0.0.11/docs/nectarbase.operationids.rst +0 -8
  247. hive_nectar-0.0.11/docs/nectarbase.operations.rst +0 -7
  248. hive_nectar-0.0.11/docs/nectarbase.signedtransactions.rst +0 -7
  249. hive_nectar-0.0.11/docs/nectargraphenebase.account.rst +0 -7
  250. hive_nectar-0.0.11/docs/nectargraphenebase.aes.rst +0 -7
  251. hive_nectar-0.0.11/docs/nectargraphenebase.base58.rst +0 -7
  252. hive_nectar-0.0.11/docs/nectargraphenebase.bip32.rst +0 -7
  253. hive_nectar-0.0.11/docs/nectargraphenebase.bip38.rst +0 -7
  254. hive_nectar-0.0.11/docs/nectargraphenebase.ecdsasig.rst +0 -7
  255. hive_nectar-0.0.11/docs/nectargraphenebase.objects.rst +0 -7
  256. hive_nectar-0.0.11/docs/nectargraphenebase.objecttypes.rst +0 -7
  257. hive_nectar-0.0.11/docs/nectargraphenebase.operations.rst +0 -7
  258. hive_nectar-0.0.11/docs/nectargraphenebase.signedtransactions.rst +0 -7
  259. hive_nectar-0.0.11/docs/nectargraphenebase.unsignedtransactions.rst +0 -7
  260. hive_nectar-0.0.11/docs/nectarstorage.base.rst +0 -7
  261. hive_nectar-0.0.11/docs/nectarstorage.exceptions.rst +0 -7
  262. hive_nectar-0.0.11/docs/nectarstorage.interfaces.rst +0 -7
  263. hive_nectar-0.0.11/docs/nectarstorage.masterpassword.rst +0 -7
  264. hive_nectar-0.0.11/docs/nectarstorage.ram.rst +0 -7
  265. hive_nectar-0.0.11/docs/nectarstorage.sqlite.rst +0 -7
  266. hive_nectar-0.0.11/examples/compare_transactions_speed_with_steem.py +0 -111
  267. hive_nectar-0.0.11/examples/compare_with_steem_python_account.py +0 -101
  268. hive_nectar-0.0.11/examples/hf20_testnet.py +0 -21
  269. hive_nectar-0.0.11/examples/login_app/app.py +0 -40
  270. hive_nectar-0.0.11/examples/memory_profiler2.py +0 -61
  271. hive_nectar-0.0.11/pyproject.toml +0 -130
  272. hive_nectar-0.0.11/src/nectar/blurt.py +0 -562
  273. hive_nectar-0.0.11/src/nectar/conveyor.py +0 -308
  274. hive_nectar-0.0.11/src/nectar/imageuploader.py +0 -71
  275. hive_nectar-0.0.11/src/nectar/instance.py +0 -129
  276. hive_nectar-0.0.11/src/nectar/steem.py +0 -581
  277. hive_nectar-0.0.11/src/nectarbase/signedtransactions.py +0 -48
  278. hive_nectar-0.0.11/src/nectargraphenebase/chains.py +0 -149
  279. hive_nectar-0.0.11/src/nectargraphenebase/ecdsasig.py +0 -321
  280. hive_nectar-0.0.11/tests/nectar/nodes.py +0 -19
  281. hive_nectar-0.0.11/tests/nectar/test_account_blurt.py +0 -246
  282. hive_nectar-0.0.11/tests/nectar/test_account_steem.py +0 -552
  283. hive_nectar-0.0.11/tests/nectar/test_constants.py +0 -88
  284. hive_nectar-0.0.11/tests/nectar/test_conveyor.py +0 -27
  285. hive_nectar-0.0.11/tests/nectar/test_hivesigner.py +0 -60
  286. hive_nectar-0.0.11/tests/nectar/test_instance.py +0 -286
  287. hive_nectar-0.0.11/tests/nectar/test_steem.py +0 -442
  288. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/LICENSE.txt +0 -0
  289. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/Makefile +0 -0
  290. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/_static/nectar-icon.png +0 -0
  291. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/_static/nectar-icon_bw.png +0 -0
  292. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/_static/nectar-logo.png +0 -0
  293. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/_static/nectar-logo_2.png +0 -0
  294. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/_static/nectar-logo_2.svg +0 -0
  295. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/_static/nectar-logo_bw.png +0 -0
  296. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/_static/nectar-logo_bw.svg +0 -0
  297. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/contribute.rst +0 -0
  298. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/indices.rst +0 -0
  299. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/make.bat +0 -0
  300. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/requirements.txt +0 -0
  301. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/docs/support.rst +0 -0
  302. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/account_rep_over_time.py +0 -0
  303. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/account_vp_over_time.py +0 -0
  304. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/post_to_md.py +0 -0
  305. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/print_comments.py +0 -0
  306. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/print_votes.py +0 -0
  307. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/waitForRecharge.py +0 -0
  308. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/examples/write_blocks_to_file.py +0 -0
  309. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/generate_versions.py +0 -0
  310. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/pytest.ini +0 -0
  311. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/asciichart.py +0 -0
  312. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/exceptions.py +0 -0
  313. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectar/py.typed +0 -0
  314. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarapi/__init__.py +0 -0
  315. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarapi/exceptions.py +0 -0
  316. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarapi/node.py +0 -0
  317. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarapi/py.typed +0 -0
  318. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarbase/__init__.py +0 -0
  319. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarbase/memo.py +0 -0
  320. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarbase/objecttypes.py +0 -0
  321. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarbase/operationids.py +0 -0
  322. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarbase/py.typed +0 -0
  323. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarbase/transactions.py +0 -0
  324. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargrapheneapi/__init__.py +0 -0
  325. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargrapheneapi/py.typed +0 -0
  326. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/__init__.py +0 -0
  327. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/aes.py +0 -0
  328. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/base58.py +0 -0
  329. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/bip32.py +0 -0
  330. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/bip38.py +0 -0
  331. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/dictionary.py +0 -0
  332. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/objects.py +0 -0
  333. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/objecttypes.py +0 -0
  334. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/operationids.py +0 -0
  335. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/operations.py +0 -0
  336. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/prefix.py +0 -0
  337. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/py.typed +0 -0
  338. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectargraphenebase/signedtransactions.py +0 -0
  339. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarstorage/__init__.py +0 -0
  340. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarstorage/base.py +0 -0
  341. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarstorage/exceptions.py +0 -0
  342. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarstorage/interfaces.py +0 -0
  343. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarstorage/masterpassword.py +0 -0
  344. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarstorage/py.typed +0 -0
  345. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarstorage/ram.py +0 -0
  346. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/nectarstorage/sqlite.py +0 -0
  347. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/src/py.typed +0 -0
  348. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/__init__.py +0 -0
  349. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/__init__.py +0 -0
  350. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/data/drv-wif-idx100.txt +0 -0
  351. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/data/pubkey.json +0 -0
  352. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_aes.py +0 -0
  353. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_asciichart.py +0 -0
  354. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_objectcache.py +0 -0
  355. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_profile.py +0 -0
  356. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectar/test_vote.py +0 -0
  357. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarapi/__init__.py +0 -0
  358. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarapi/test_node.py +0 -0
  359. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarbase/__init__.py +0 -0
  360. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarbase/test_objects.py +0 -0
  361. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarbase/test_operations.py +0 -0
  362. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectargraphene/__init__.py +0 -0
  363. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectargraphene/test_account.py +0 -0
  364. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectargraphene/test_base58.py +0 -0
  365. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectargraphene/test_bip32.py +0 -0
  366. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectargraphene/test_bip38.py +0 -0
  367. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectargraphene/test_ecdsa.py +0 -0
  368. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectargraphene/test_key_format.py +0 -0
  369. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectargraphene/test_objects.py +0 -0
  370. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectargraphene/test_py23.py +0 -0
  371. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectargraphene/test_types.py +0 -0
  372. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarstorage/__init__.py +0 -0
  373. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarstorage/test_keystorage.py +0 -0
  374. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarstorage/test_masterpassword.py +0 -0
  375. {hive_nectar-0.0.11 → hive_nectar-0.1.0}/tests/nectarstorage/test_sqlite.py +0 -0
@@ -74,3 +74,4 @@ target/
74
74
  __pypackages__/
75
75
  .ruff_cache/
76
76
  .mypy_cache/
77
+ .pre-commit-cache/
@@ -0,0 +1,15 @@
1
+ repos:
2
+ # Scan for hard-coded secrets
3
+ - repo: https://github.com/gitleaks/gitleaks
4
+ rev: v8.28.0
5
+ hooks:
6
+ - id: gitleaks
7
+ # Run ruff
8
+ - repo: https://github.com/astral-sh/ruff-pre-commit
9
+ rev: v0.13.0
10
+ hooks:
11
+ # Run the linter.
12
+ - id: ruff-check
13
+ args: [--fix]
14
+ # Run the formatter.
15
+ - id: ruff-format
@@ -0,0 +1,20 @@
1
+ # Read the Docs configuration file
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+ # Required
4
+ version: 2
5
+ # Set the OS, Python version, and other tools you might need
6
+ build:
7
+ os: ubuntu-24.04
8
+ tools:
9
+ python: "3.13"
10
+ # Build documentation in the "docs/" directory with Sphinx
11
+ sphinx:
12
+ configuration: docs/conf.py
13
+ # Optionally, but recommended,
14
+ # declare the Python requirements required to build your documentation
15
+ # See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
16
+ python:
17
+ install:
18
+ - requirements: docs/requirements.txt
19
+ - method: pip
20
+ path: .
@@ -0,0 +1,80 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0b - 2025-09-17
4
+
5
+ - **Breaking Change**: Killed everything that was not specifcally HIVE related. If you used this for STEEM and / or Blurt, they are no longer supported.
6
+ - **Fix**: Corrected inverted fallback logic in chain detection to prefer HIVE over STEEM when `blockchain_name` is None.
7
+ - **Fix**: Restored backward compatibility for constructor parameters:
8
+ - `Vote.__init__`: Added support for deprecated `steem_instance` and `hive_instance` kwargs with deprecation warnings.
9
+ - `ActiveVotes.__init__`: Added support for deprecated `steem_instance` and `hive_instance` kwargs with deprecation warnings.
10
+ - `Witness.__init__`: Added `**kwargs` with warnings for unexpected parameters.
11
+ - `Comment_options.__init__`: Added fallback support for deprecated `percent_steem_dollars` parameter.
12
+ - **Improvement**: Removed deprecated websocket support from GrapheneRPC, now only supports HTTP/requests for better reliability and maintainability.
13
+ - **Improvement**: Simplified ecdsasig.py to use only cryptography library, removing complex conditional logic for different secp256k1 implementations. The `tweak_add` operation now raises NotImplementedError when called.
14
+ - **Major Feature**: Implemented pure Python secp256k1 elliptic curve operations for PublicKey.add() method, restoring compatibility with existing code that relies on key derivation. The implementation includes proper validation, error handling, and maintains the same API as before. All unit tests pass successfully.
15
+ - **Fix**: Fixed HiveSigner integration in TransactionBuilder:
16
+ - Updated appendSigner() to restrict permissions to 'posting' when using HiveSigner
17
+ - Fixed sign() method to properly call hivesigner.sign() and attach signatures instead of returning early
18
+ - Fixed broadcast() method to use hivesigner.broadcast() when use_hs is True
19
+ - Added proper error handling and fallbacks for non-HiveSigner flows
20
+ - **Fix**: Fixed HiveSigner.broadcast() call in TransactionBuilder to pass operations list instead of full transaction JSON, and include username when available
21
+ - **Fix**: Fixed Claim_reward_balance operation serialization in nectarbase/operations.py:
22
+ - Removed incorrect mutually-exclusive logic between reward_hive and reward_hbd
23
+ - Updated to always serialize all four fields in canonical order: account, reward_hive, reward_hbd, reward_vests
24
+ - Added proper zero-amount defaults ("0.000 HIVE"/"0.000 HBD") for missing reward fields
25
+ - Updated docstring to reflect correct behavior and field requirements
26
+ - **Fix**: Convert beneficiary weights from `HIVE_100_PERCENT` units (10000) to percentages in `Comment.get_beneficiaries_pct()` to ensure accurate outputs.
27
+ - **Fix**: Improve ECDSA signing to correctly handle prehashed messages and tighten signature canonicalization checks for better interoperability.
28
+ - **Refactor**: Reorder wallet lock verification to run after HiveSigner validation in `TransactionBuilder`, preventing premature lock errors for HiveSigner flows.
29
+ - **Refactor**: Replace implicit stdin default with an explicit blockchain selection in the CLI argument parser to avoid ambiguous behavior.
30
+ - **Refactor**: Update default Hive node configuration to use HTTPS endpoints instead of WSS.
31
+ - **Feature**: Add a pure-Python fallback for public key derivation when the `ecdsa` library is unavailable, improving portability.
32
+
33
+ ## 0.0.11 - 2025-07-25
34
+
35
+ - Fixed handling of missing `community` field in comments (`Comment`) and improved `weighted_score` type check in node list ranking (`NodeList`).
36
+
37
+ ## 0.0.10 - 2025-07-12
38
+
39
+ - Emergency hotfix: lower-case the UTC timestamp suffix during permlink generation (in `derive_permlink`) to resolve validation errors caused by the uppercase `U`.
40
+
41
+ ## 0.0.9 - 2025-07-12
42
+
43
+ - Refactored `nodelist` logic:
44
+ - `update_nodes` now reads authoritative node metadata from `nectarflower` account `json_metadata` only.
45
+ - Uses `weighted_score` directly for ranking and zeroes scores for nodes missing from the report.
46
+ - Dynamically adds new nodes from the report and failing list, ensuring completeness.
47
+ - Removed unused fall-back paths and cleaned up internal code.
48
+
49
+ ## 0.0.8
50
+
51
+ Added new documentation and type hints to community
52
+
53
+ ## 0.0.7
54
+
55
+ Removed all python2 legacy dependencies, drop python3 version requirement to >=3.10
56
+
57
+ ## 0.0.6
58
+
59
+ Updated to more robust error reporting
60
+
61
+ ## 0.0.5
62
+
63
+ More community fixes, including the Community Title Property
64
+
65
+ ## 0.0.4
66
+
67
+ Small community fixes
68
+
69
+ ## 0.0.3
70
+
71
+ Working on bridge api
72
+
73
+ ## 0.0.2
74
+
75
+ Rebranded to Nectar
76
+
77
+ ## 0.0.1
78
+
79
+ - Initial release
80
+ - Beem stops and Nectar starts
@@ -26,7 +26,7 @@ imports:
26
26
  uv run ruff check --select I --fix src
27
27
 
28
28
  test:
29
- python -m pytest -v
29
+ python3 -m pytest -v
30
30
 
31
31
  build: generate-versions
32
32
  uv build
@@ -50,6 +50,11 @@ dist: generate-versions
50
50
  # uv publish
51
51
  # python -m twine upload dist/*
52
52
 
53
+ tag:
54
+ @VERSION=$$(grep -m1 '^version[[:space:]]*=' pyproject.toml | cut -d '"' -f2) && \
55
+ echo "Creating git tag v$$VERSION" && \
56
+ git tag -a "v$$VERSION" -m "Release v$$VERSION"
57
+
53
58
  test-dist: generate-versions
54
59
  uv build
55
60
  uvx uv-publish@latest --repo testpypi
@@ -57,7 +62,7 @@ test-dist: generate-versions
57
62
  # python -m twine upload --repository testpypi dist/* --verbose
58
63
 
59
64
  docs:
60
- # sphinx-apidoc -d 6 -e -f -o docs . *.py tests
65
+ sphinx-apidoc -d 4 -e -f -o docs ./src *.py tests
61
66
  make -C docs clean html
62
67
 
63
- release: clean check dist git
68
+ release: clean check dist tag git
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hive-nectar
3
- Version: 0.0.11
4
- Summary: Unofficial Python library for HIVE
3
+ Version: 0.1.0
4
+ Summary: Hive Blockchain Python Library
5
5
  Project-URL: Homepage, http://www.github.com/thecrazygm/hive-nectar
6
- Project-URL: Download, https://github.com/thecrazygm/hive-nectar/tarball/0.0.7
6
+ Project-URL: Download, https://github.com/thecrazygm/hive-nectar/tarball/0.1.0b
7
7
  Project-URL: Bug Tracker, https://github.com/thecrazygm/hive-nectar/issues
8
8
  Author-email: Michael Garcia <thecrazygm@gmail.com>
9
9
  Maintainer-email: Michael Garcia <thecrazygm@gmail.com>
@@ -49,6 +49,7 @@ Requires-Dist: appdirs
49
49
  Requires-Dist: asn1crypto
50
50
  Requires-Dist: click
51
51
  Requires-Dist: click-shell
52
+ Requires-Dist: cryptography
52
53
  Requires-Dist: diff-match-patch
53
54
  Requires-Dist: ecdsa
54
55
  Requires-Dist: prettytable
@@ -56,13 +57,12 @@ Requires-Dist: pycryptodomex
56
57
  Requires-Dist: requests
57
58
  Requires-Dist: ruamel-yaml
58
59
  Requires-Dist: scrypt
59
- Requires-Dist: types-requests>=2.32.0.20250328
60
- Requires-Dist: websocket-client
60
+ Requires-Dist: types-requests
61
61
  Description-Content-Type: text/markdown
62
62
 
63
- # nectar - Unofficial Python Library for HIVE
63
+ # nectar - Python Library for HIVE
64
64
 
65
- nectar is an unofficial python library for HIVE, which is
65
+ nectar is a python library for HIVE, which is
66
66
  created from the remains of [beem](https://github.com/holgern/beem) which was derived from [python-bitshares](https://github.com/xeroc/python-bitshares)
67
67
  The library name is derived from a nectar of a flower.
68
68
 
@@ -76,10 +76,9 @@ nectar includes [python-graphenelib](https://github.com/xeroc/python-graphenelib
76
76
 
77
77
  # Support & Documentation
78
78
 
79
- You may find help in the [nectar-discord-channel](). The discord channel can also be used to discuss things about nectar.
79
+ You may find help in the nectar-discord. The discord channel can also be used to discuss things about nectar.
80
80
 
81
- A complete library documentation is available at
82
- [temporary]()
81
+ A complete library documentation is available at [ReadTheDocs](https://hive-nectar.readthedocs.io/en/latest/)
83
82
 
84
83
  # About hive-nectar
85
84
 
@@ -97,7 +96,7 @@ A complete library documentation is available at
97
96
 
98
97
  # Installation
99
98
 
100
- The minimal working python version is 3.12.x
99
+ The minimal working Python version is >=3.10
101
100
 
102
101
  nectar can be installed parallel to beem.
103
102
 
@@ -1,6 +1,6 @@
1
- # nectar - Unofficial Python Library for HIVE
1
+ # nectar - Python Library for HIVE
2
2
 
3
- nectar is an unofficial python library for HIVE, which is
3
+ nectar is a python library for HIVE, which is
4
4
  created from the remains of [beem](https://github.com/holgern/beem) which was derived from [python-bitshares](https://github.com/xeroc/python-bitshares)
5
5
  The library name is derived from a nectar of a flower.
6
6
 
@@ -14,10 +14,9 @@ nectar includes [python-graphenelib](https://github.com/xeroc/python-graphenelib
14
14
 
15
15
  # Support & Documentation
16
16
 
17
- You may find help in the [nectar-discord-channel](). The discord channel can also be used to discuss things about nectar.
17
+ You may find help in the nectar-discord. The discord channel can also be used to discuss things about nectar.
18
18
 
19
- A complete library documentation is available at
20
- [temporary]()
19
+ A complete library documentation is available at [ReadTheDocs](https://hive-nectar.readthedocs.io/en/latest/)
21
20
 
22
21
  # About hive-nectar
23
22
 
@@ -35,7 +34,7 @@ A complete library documentation is available at
35
34
 
36
35
  # Installation
37
36
 
38
- The minimal working python version is 3.12.x
37
+ The minimal working Python version is >=3.10
39
38
 
40
39
  nectar can be installed parallel to beem.
41
40
 
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="height: 512px; width: 512px;"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" transform="translate(0,0)" style=""><path d="M254.7 32.45c-14.6 15.09-28.7 29.9-39.2 44.31-12.1 16.49-19.3 32.24-19.3 46.14 0 24.3 2.1 48.4 7.2 67.7 17.1 12 31.4 26.4 42.3 43.7v-77h18V235c12.6-17.5 27.6-31.9 44.7-44 5.1-19.4 7.3-43.7 7.3-68.2 0-13.9-7.2-29.55-19.3-46.04-10.5-14.41-26.5-29.22-41.7-44.31zM109.6 172.4c-9.79.2-21.86 2.5-34.03 6.6-17 5.7-35.64 14.6-54.58 24 9.68 18.4 19.36 36.3 29.71 50.7 11.85 18.9 24.5 30.5 38.07 34.8 24.33 7.6 45.73 12.2 65.73 13.3 18-12.5 37.4-21.6 57.3-26.5l-74.7-26 5.6-17.2 75.4 23.8c3.1-5.1 7.1-9.6 11.9-13-20.6-32.6-55.4-52.9-104.1-68.2-5-1.7-10.4-2.4-16.3-2.3zm290.8.3c-5.1.1-9.8.8-14.1 2.2-49.5 15.3-83.3 35.4-104 67.9 4.9 3.5 9.1 8 12.1 13.2l72.5-23.6 6.7 17.2-73.5 26c.1 1.5.2 2.9.2 4.4 0 4.6-.8 9.1-2.2 13.3 35.7 14.2 76.1 10.7 124.3-4.7 13.3-4.1 25.6-15.8 37.2-34.8 10.2-14.3 21.7-32.3 31.4-50.6-20.9-9.4-39.1-18.3-55.7-24-11.9-4.1-22.9-6.5-32.7-6.6zm-145.4 80c-13.8 0-24.8 13.5-24.8 27.3s11 24.8 24.8 24.8c14.4 0 27.2-11 27.2-24.8s-12.8-27.3-27.2-27.3zM214.2 293c-38 9.6-69.5 35.6-98.6 78.1-8.2 11.2-11.3 27.8-11 48 .3 17.5 3.2 37.6 6.4 60.5 20.3-3.3 40.3-6.8 57.6-11.9 21.2-8.5 36-16.6 44.2-27.8 14.4-19.9 25.5-38.9 32.7-57.6-6.7-22.3-9.7-42.3-8.3-62.7l-44.6 63.9-15.3-10.7 45.8-64.5c-4-4.3-7-9.7-8.9-15.3zm76 16.6l44 63.1-14.6 10.6-46.1-64.2c-5.9 2.4-12.3 3.7-18.5 3.7h-.1c-2.4 38.7 13.6 77 44.6 116.9 8.1 11.3 22.9 19.4 42.2 27.8 16.7 5.2 38.8 8.6 59.5 11.9 3.2-22.9 6.2-43 6.4-60.5.3-20.1-2.8-36.7-11-47.9-14.4-22.2-31.2-38.5-46.6-51.1-20.9.4-40.8-2.8-59.8-10.3z" fill="#000000" fill-opacity="1"></path></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="height: 512px; width: 512px;"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" transform="translate(0,0)" style=""><path d="M254.7 32.45c-14.6 15.09-28.7 29.9-39.2 44.31-12.1 16.49-19.3 32.24-19.3 46.14 0 24.3 2.1 48.4 7.2 67.7 17.1 12 31.4 26.4 42.3 43.7v-77h18V235c12.6-17.5 27.6-31.9 44.7-44 5.1-19.4 7.3-43.7 7.3-68.2 0-13.9-7.2-29.55-19.3-46.04-10.5-14.41-26.5-29.22-41.7-44.31zM109.6 172.4c-9.79.2-21.86 2.5-34.03 6.6-17 5.7-35.64 14.6-54.58 24 9.68 18.4 19.36 36.3 29.71 50.7 11.85 18.9 24.5 30.5 38.07 34.8 24.33 7.6 45.73 12.2 65.73 13.3 18-12.5 37.4-21.6 57.3-26.5l-74.7-26 5.6-17.2 75.4 23.8c3.1-5.1 7.1-9.6 11.9-13-20.6-32.6-55.4-52.9-104.1-68.2-5-1.7-10.4-2.4-16.3-2.3zm290.8.3c-5.1.1-9.8.8-14.1 2.2-49.5 15.3-83.3 35.4-104 67.9 4.9 3.5 9.1 8 12.1 13.2l72.5-23.6 6.7 17.2-73.5 26c.1 1.5.2 2.9.2 4.4 0 4.6-.8 9.1-2.2 13.3 35.7 14.2 76.1 10.7 124.3-4.7 13.3-4.1 25.6-15.8 37.2-34.8 10.2-14.3 21.7-32.3 31.4-50.6-20.9-9.4-39.1-18.3-55.7-24-11.9-4.1-22.9-6.5-32.7-6.6zm-145.4 80c-13.8 0-24.8 13.5-24.8 27.3s11 24.8 24.8 24.8c14.4 0 27.2-11 27.2-24.8s-12.8-27.3-27.2-27.3zM214.2 293c-38 9.6-69.5 35.6-98.6 78.1-8.2 11.2-11.3 27.8-11 48 .3 17.5 3.2 37.6 6.4 60.5 20.3-3.3 40.3-6.8 57.6-11.9 21.2-8.5 36-16.6 44.2-27.8 14.4-19.9 25.5-38.9 32.7-57.6-6.7-22.3-9.7-42.3-8.3-62.7l-44.6 63.9-15.3-10.7 45.8-64.5c-4-4.3-7-9.7-8.9-15.3zm76 16.6l44 63.1-14.6 10.6-46.1-64.2c-5.9 2.4-12.3 3.7-18.5 3.7h-.1c-2.4 38.7 13.6 77 44.6 116.9 8.1 11.3 22.9 19.4 42.2 27.8 16.7 5.2 38.8 8.6 59.5 11.9 3.2-22.9 6.2-43 6.4-60.5.3-20.1-2.8-36.7-11-47.9-14.4-22.2-31.2-38.5-46.6-51.1-20.9.4-40.8-2.8-59.8-10.3z" fill="#000000" fill-opacity="1"></path></g></svg>
@@ -50,7 +50,7 @@ get_account_history
50
50
  .. code-block:: python
51
51
 
52
52
  from nectar.account import Account
53
- acc = Account("steemit")
53
+ acc = Account("thecrazygm")
54
54
  for h in acc.get_account_history(1,0):
55
55
  print(h)
56
56
 
@@ -145,9 +145,9 @@ get_chain_properties
145
145
 
146
146
  .. code-block:: python
147
147
 
148
- from nectar import Steem
149
- stm = Steem()
150
- print(stm.get_chain_properties())
148
+ from nectar import Hive
149
+ hv = Hive()
150
+ print(hv.get_chain_properties())
151
151
 
152
152
  get_comment_discussions_by_payout
153
153
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -164,9 +164,9 @@ get_config
164
164
 
165
165
  .. code-block:: python
166
166
 
167
- from nectar import Steem
168
- stm = Steem()
169
- print(stm.get_config())
167
+ from nectar import Hive
168
+ hv = Hive()
169
+ print(hv.get_config())
170
170
 
171
171
  get_content
172
172
  ~~~~~~~~~~~
@@ -207,9 +207,9 @@ get_current_median_history_price
207
207
 
208
208
  .. code-block:: python
209
209
 
210
- from nectar import Steem
211
- stm = Steem()
212
- print(stm.get_current_median_history())
210
+ from nectar import Hive
211
+ hv = Hive()
212
+ print(hv.get_current_median_history())
213
213
 
214
214
 
215
215
  get_discussions_by_active
@@ -267,7 +267,7 @@ get_discussions_by_comments
267
267
  .. code-block:: python
268
268
 
269
269
  from nectar.discussions import Query, Discussions_by_comments
270
- q = Query(limit=10, start_author="steemit", start_permlink="firstpost")
270
+ q = Query(limit=10, start_author="thecrazygm", start_permlink="firstpost")
271
271
  for h in Discussions_by_comments(q):
272
272
  print(h)
273
273
 
@@ -287,7 +287,7 @@ get_discussions_by_feed
287
287
  .. code-block:: python
288
288
 
289
289
  from nectar.discussions import Query, Discussions_by_feed
290
- q = Query(limit=10, tag="steem")
290
+ q = Query(limit=10, tag="hive")
291
291
  for h in Discussions_by_feed(q):
292
292
  print(h)
293
293
 
@@ -297,7 +297,7 @@ get_discussions_by_hot
297
297
  .. code-block:: python
298
298
 
299
299
  from nectar.discussions import Query, Discussions_by_hot
300
- q = Query(limit=10, tag="steem")
300
+ q = Query(limit=10, tag="hive")
301
301
  for h in Discussions_by_hot(q):
302
302
  print(h)
303
303
 
@@ -307,7 +307,7 @@ get_discussions_by_promoted
307
307
  .. code-block:: python
308
308
 
309
309
  from nectar.discussions import Query, Discussions_by_promoted
310
- q = Query(limit=10, tag="steem")
310
+ q = Query(limit=10, tag="hive")
311
311
  for h in Discussions_by_promoted(q):
312
312
  print(h)
313
313
 
@@ -317,7 +317,7 @@ get_discussions_by_trending
317
317
  .. code-block:: python
318
318
 
319
319
  from nectar.discussions import Query, Discussions_by_trending
320
- q = Query(limit=10, tag="steem")
320
+ q = Query(limit=10, tag="hive")
321
321
  for h in Discussions_by_trending(q):
322
322
  print(h)
323
323
 
@@ -336,9 +336,9 @@ get_dynamic_global_properties
336
336
 
337
337
  .. code-block:: python
338
338
 
339
- from nectar import Steem
340
- stm = Steem()
341
- print(stm.get_dynamic_global_properties())
339
+ from nectar import Hive
340
+ hv = Hive()
341
+ print(hv.get_dynamic_global_properties())
342
342
 
343
343
  get_escrow
344
344
  ~~~~~~~~~~
@@ -383,9 +383,9 @@ get_feed_history
383
383
 
384
384
  .. code-block:: python
385
385
 
386
- from nectar import Steem
387
- stm = Steem()
388
- print(stm.get_feed_history())
386
+ from nectar import Hive
387
+ hv = Hive()
388
+ print(hv.get_feed_history())
389
389
 
390
390
  get_follow_count
391
391
  ~~~~~~~~~~~~~~~~
@@ -421,9 +421,9 @@ get_hardfork_version
421
421
 
422
422
  .. code-block:: python
423
423
 
424
- from nectar import Steem
425
- stm = Steem()
426
- print(stm.get_hardfork_properties()["hf_version"])
424
+ from nectar import Hive
425
+ hv = Hive()
426
+ print(hv.get_hardfork_properties()["hf_version"])
427
427
 
428
428
  get_key_references
429
429
  ~~~~~~~~~~~~~~~~~~
@@ -461,9 +461,9 @@ get_next_scheduled_hardfork
461
461
 
462
462
  .. code-block:: python
463
463
 
464
- from nectar import Steem
465
- stm = Steem()
466
- print(stm.get_hardfork_properties())
464
+ from nectar import Hive
465
+ hv = Hive()
466
+ print(hv.get_hardfork_properties())
467
467
 
468
468
  get_open_orders
469
469
  ~~~~~~~~~~~~~~~
@@ -563,7 +563,7 @@ get_replies_by_last_update
563
563
  .. code-block:: python
564
564
 
565
565
  from nectar.discussions import Query, Replies_by_last_update
566
- q = Query(limit=10, start_author="steemit", start_permlink="firstpost")
566
+ q = Query(limit=10, start_author="thecrazygm", start_permlink="firstpost")
567
567
  for h in Replies_by_last_update(q):
568
568
  print(h)
569
569
 
@@ -585,9 +585,9 @@ get_reward_fund
585
585
 
586
586
  .. code-block:: python
587
587
 
588
- from nectar import Steem
589
- stm = Steem()
590
- print(stm.get_reward_funds())
588
+ from nectar import Hive
589
+ hv = Hive()
590
+ print(hv.get_reward_funds())
591
591
 
592
592
  get_savings_withdraw_from
593
593
  ~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -670,7 +670,7 @@ get_trending_tags
670
670
  .. code-block:: python
671
671
 
672
672
  from nectar.discussions import Query, Trending_tags
673
- q = Query(limit=10, start_tag="steemit")
673
+ q = Query(limit=10, start_tag="hive")
674
674
  for h in Trending_tags(q):
675
675
  print(h)
676
676
 
@@ -729,9 +729,9 @@ get_witness_schedule
729
729
 
730
730
  .. code-block:: python
731
731
 
732
- from nectar import Steem
733
- stm = Steem()
734
- print(stm.get_witness_schedule())
732
+ from nectar import Hive
733
+ hv = Hive()
734
+ print(hv.get_witness_schedule())
735
735
 
736
736
  get_witnesses
737
737
  ~~~~~~~~~~~~~
@@ -0,0 +1,165 @@
1
+ Changelog
2
+ =========
3
+
4
+ 0.1.0b - 2025-09-17
5
+ -------------------
6
+
7
+ - **Breaking Change**: Killed everything that was not specifcally HIVE
8
+ related. If you used this for STEEM and / or Blurt, they are no
9
+ longer supported.
10
+ - **Fix**: Corrected inverted fallback logic in chain detection to
11
+ prefer HIVE over STEEM when ``blockchain_name`` is None.
12
+ - **Fix**: Restored backward compatibility for constructor parameters:
13
+
14
+ - ``Vote.__init__``: Added support for deprecated ``steem_instance``
15
+ and ``hive_instance`` kwargs with deprecation warnings.
16
+ - ``ActiveVotes.__init__``: Added support for deprecated
17
+ ``steem_instance`` and ``hive_instance`` kwargs with deprecation
18
+ warnings.
19
+ - ``Witness.__init__``: Added ``**kwargs`` with warnings for
20
+ unexpected parameters.
21
+ - ``Comment_options.__init__``: Added fallback support for
22
+ deprecated ``percent_steem_dollars`` parameter.
23
+
24
+ - **Improvement**: Removed deprecated websocket support from
25
+ GrapheneRPC, now only supports HTTP/requests for better reliability
26
+ and maintainability.
27
+ - **Improvement**: Simplified ecdsasig.py to use only cryptography
28
+ library, removing complex conditional logic for different secp256k1
29
+ implementations. The ``tweak_add`` operation now raises
30
+ NotImplementedError when called.
31
+ - **Major Feature**: Implemented pure Python secp256k1 elliptic curve
32
+ operations for PublicKey.add() method, restoring compatibility with
33
+ existing code that relies on key derivation. The implementation
34
+ includes proper validation, error handling, and maintains the same
35
+ API as before. All unit tests pass successfully.
36
+ - **Fix**: Fixed HiveSigner integration in TransactionBuilder:
37
+
38
+ - Updated appendSigner() to restrict permissions to ‘posting’ when
39
+ using HiveSigner
40
+ - Fixed sign() method to properly call hivesigner.sign() and attach
41
+ signatures instead of returning early
42
+ - Fixed broadcast() method to use hivesigner.broadcast() when use_hs
43
+ is True
44
+ - Added proper error handling and fallbacks for non-HiveSigner flows
45
+ - **Fix**: Fixed HiveSigner.broadcast() call in TransactionBuilder
46
+ to pass operations list instead of full transaction JSON, and
47
+ include username when available
48
+
49
+ - **Fix**: Fixed Claim_reward_balance operation serialization in
50
+ nectarbase/operations.py:
51
+
52
+ - Removed incorrect mutually-exclusive logic between reward_hive and
53
+ reward_hbd
54
+ - Updated to always serialize all four fields in canonical order:
55
+ account, reward_hive, reward_hbd, reward_vests
56
+ - Added proper zero-amount defaults (“0.000 HIVE”/“0.000 HBD”) for
57
+ missing reward fields
58
+ - Updated docstring to reflect correct behavior and field
59
+ requirements
60
+
61
+ - **Fix**: Convert beneficiary weights from ``HIVE_100_PERCENT`` units
62
+ (10000) to percentages in ``Comment.get_beneficiaries_pct()`` to
63
+ ensure accurate outputs.
64
+ - **Fix**: Improve ECDSA signing to correctly handle prehashed messages
65
+ and tighten signature canonicalization checks for better
66
+ interoperability.
67
+ - **Refactor**: Reorder wallet lock verification to run after
68
+ HiveSigner validation in ``TransactionBuilder``, preventing premature
69
+ lock errors for HiveSigner flows.
70
+ - **Refactor**: Replace implicit stdin default with an explicit
71
+ blockchain selection in the CLI argument parser to avoid ambiguous
72
+ behavior.
73
+ - **Refactor**: Update default Hive node configuration to use HTTPS
74
+ endpoints instead of WSS.
75
+ - **Feature**: Add a pure-Python fallback for public key derivation
76
+ when the ``ecdsa`` library is unavailable, improving portability.
77
+
78
+ 0.0.11 - 2025-07-25
79
+ -------------------
80
+
81
+ - Fixed handling of missing ``community`` field in comments
82
+ (``Comment``) and improved ``weighted_score`` type check in node list
83
+ ranking (``NodeList``).
84
+
85
+ .. _section-1:
86
+
87
+ 0.0.10 - 2025-07-12
88
+ -------------------
89
+
90
+ - Emergency hotfix: lower-case the UTC timestamp suffix during permlink
91
+ generation (in ``derive_permlink``) to resolve validation errors
92
+ caused by the uppercase ``U``.
93
+
94
+ .. _section-2:
95
+
96
+ 0.0.9 - 2025-07-12
97
+ ------------------
98
+
99
+ - Refactored ``nodelist`` logic:
100
+
101
+ - ``update_nodes`` now reads authoritative node metadata from
102
+ ``nectarflower`` account ``json_metadata`` only.
103
+ - Uses ``weighted_score`` directly for ranking and zeroes scores for
104
+ nodes missing from the report.
105
+ - Dynamically adds new nodes from the report and failing list,
106
+ ensuring completeness.
107
+ - Removed unused fall-back paths and cleaned up internal code.
108
+
109
+ .. _section-3:
110
+
111
+ 0.0.8
112
+ -----
113
+
114
+ Added new documentation and type hints to community
115
+
116
+ .. _section-4:
117
+
118
+ 0.0.7
119
+ -----
120
+
121
+ Removed all python2 legacy dependencies, drop python3 version
122
+ requirement to >=3.10
123
+
124
+ .. _section-5:
125
+
126
+ 0.0.6
127
+ -----
128
+
129
+ Updated to more robust error reporting
130
+
131
+ .. _section-6:
132
+
133
+ 0.0.5
134
+ -----
135
+
136
+ More community fixes, including the Community Title Property
137
+
138
+ .. _section-7:
139
+
140
+ 0.0.4
141
+ -----
142
+
143
+ Small community fixes
144
+
145
+ .. _section-8:
146
+
147
+ 0.0.3
148
+ -----
149
+
150
+ Working on bridge api
151
+
152
+ .. _section-9:
153
+
154
+ 0.0.2
155
+ -----
156
+
157
+ Rebranded to Nectar
158
+
159
+ .. _section-10:
160
+
161
+ 0.0.1
162
+ -----
163
+
164
+ - Initial release
165
+ - Beem stops and Nectar starts